__backup_convert_fc32_to_int32: pushl %ebp movl %esp, %ebp pushl %edi pushl %esi pushl %ebx subl $32, %esp movl 8(%ebp), %eax movl 4(%eax), %edx movl %edx, -16(%ebp) movl 20(%eax), %edx movl %edx, -24(%ebp) movl 36(%eax), %eax movl %eax, -20(%ebp) movl -16(%ebp), %esi testl %esi, %esi jle L1148 xorl %ebx, %ebx jmp L1127 .align 4,0x90 L1140: movl %edx, -40(%ebp) cvttss2si -28(%ebp), %ecx movl %ecx, %eax cmpl $-2147483648, %ecx je L1150 L1145: movl %ecx, -36(%ebp) movl %eax, %edx sall $16, %edx movzwl -40(%ebp), %eax orl %edx, %eax movl -24(%ebp), %edx movl %eax, (%edx,%ebx,4) incl %ebx cmpl -16(%ebp), %ebx je L1148 L1127: movl -20(%ebp), %eax movl (%eax,%ebx,8), %esi movl 4(%eax,%ebx,8), %edi movl %esi, %eax andl $2139095040, %eax cmpl $1, %eax sbbl %edx, %edx andl $-8388607, %edx decl %edx andl %esi, %edx leal LC0-"L00000000006$pb"(%ebx), %eax movd (%eax), %xmm0 movl %edx, -44(%ebp) movss -44(%ebp), %xmm1 mulss %xmm0, %xmm1 movss %xmm1, -44(%ebp) movl -44(%ebp), %edx movl %edx, %eax andl $2139095040, %eax cmpl $1, %eax sbbl %eax, %eax andl $-8388607, %eax decl %eax andl %edx, %eax movl %eax, -32(%ebp) movl %edi, %eax andl $2139095040, %eax cmpl $1, %eax sbbl %edx, %edx andl $-8388607, %edx decl %edx andl %edi, %edx movl %edx, -44(%ebp) movss -44(%ebp), %xmm1 mulss %xmm0, %xmm1 movss %xmm1, -44(%ebp) movl -44(%ebp), %edx movl %edx, %eax andl $2139095040, %eax cmpl $1, %eax sbbl %eax, %eax andl $-8388607, %eax leal -1(%eax), %esi andl %edx, %esi movl %esi, -28(%ebp) cvttss2si -32(%ebp), %edx cmpl $-2147483648, %edx jne L1140 movl -32(%ebp), %ecx testl %ecx, %ecx movl $2147483647, %eax cmovns %eax, %edx jmp L1140 .align 4,0x90 L1150: testl %esi, %esi movl $2147483647, %eax cmovns %eax, %ecx sarl $31, %esi movl %esi, %eax notl %eax jmp L1145 L1148: addl $32, %esp popl %ebx popl %esi popl %edi leave ret