Function at 0x49f440
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x6815a8]
sub esp, 0x5c
mov eax, dword [ecx + 0x3f04]
push ebx
push ebp
push esi
mov byte [eax + 0xc5], 1
mov esi, dword [ecx + 0x3f04]
push edi
cmp byte [esi + 0xc8], 0
jne 0x49f9c2
mov ebx, dword [esp + 0x70]
mov ecx, esi
mov edi, dword [0x6815a8]
push 0
push ebx
call fcn.00474d40
push ecx
mov dword [esp], 0xbf800000
mov ebp, eax
push 1
push 0
lea eax, [esp + 0x40]
mov dword [esp + 0x20], ebp
push ebx
push eax
call fcn.00469880
mov ebx, dword [esp + 0x90]
add esp, 0x14
xorps xmm0, xmm0
movss xmm2, dword [ebx + 4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x49f4bf
movss xmm2, dword [esp + 0x38]
movss xmm1, dword [ebx]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x49f4d2
movss xmm1, dword [esp + 0x34]
movss dword [esp + 0x2c], xmm1
lea eax, [esp + 0x2c]
movss dword [esp + 0x30], xmm2
movss xmm0, dword [esi + 0x108]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esi + 0x10c]
addss xmm0, dword [esi + 0x140]
push ecx
mov dword [esp], 0
push eax
movss dword [esp + 0x28], xmm0
call fcn.00476f50
mov ecx, dword [esp + 0x80]
add esp, 8
movss xmm2, dword [esp + 0x1c]
mov edx, ecx
shr edx, 1
and dl, 1
mov dword [esp + 0x18], edx
je 0x49f543
movss xmm6, dword [esi + 0x21c]
movss xmm1, dword [esi + 0x224]
jmp 0x49f54e
movss xmm1, dword [esi + 0x214]
movaps xmm6, xmm2
movss xmm0, dword [ebx]
xorps xmm5, xmm5
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x49f56e
test ecx, 0x1000000
jne 0x49f56e
movss xmm4, dword [esp + 0x2c]
jmp 0x49f582
movss xmm4, dword [esp + 0x34]
subss xmm1, xmm6
maxss xmm4, xmm1
movss dword [esp + 0x2c], xmm4
movss xmm7, dword [esp + 0x20]
addss xmm4, xmm6
movss dword [esp + 0x44], xmm2
movaps xmm0, xmm7
movss dword [esp + 0x48], xmm7
movss dword [esp + 0x4c], xmm6
movss dword [esp + 0x50], xmm7
movss dword [esp + 0x3c], xmm4
movss dword [esp + 0x54], xmm4
addss xmm0, dword [esp + 0x30]
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x40], xmm0
movss dword [esp + 0x58], xmm0
test ecx, 0x8000000
jne 0x49f645
test dl, dl
jne 0x49f5df
movss xmm5, dword [edi + 0x38a0]
movss xmm3, dword [edi + 0x38a4]
movaps xmm0, xmm5
mulss xmm0, dword [0x672008]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x672008]
movd xmm2, eax
cvttss2si eax, xmm0
cvtdq2ps xmm2, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm5, xmm2
subss xmm3, xmm0
subss xmm6, xmm2
subss xmm7, xmm0
addss xmm5, xmm4
addss xmm3, dword [esp + 0x20]
movss dword [esp + 0x4c], xmm6
movss dword [esp + 0x50], xmm7
movss dword [esp + 0x54], xmm5
movss dword [esp + 0x58], xmm3
movss xmm0, dword [esi + 0x22c]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esi + 0x234]
movss dword [esp + 0x24], xmm0
test dl, dl
je 0x49f67d
mov eax, dword [esi + 0x21c]
mov dword [esi + 0x22c], eax
mov eax, dword [esi + 0x224]
mov dword [esi + 0x234], eax
mov eax, ecx
shr eax, 3
and eax, 0xffffff01
mov dword [esp + 0x1c], eax
movzx eax, al
shl eax, 2
push eax
push 0
lea eax, [esp + 0x54]
push ebp
push eax
call fcn.00476c90
mov cl, al
add esp, 0x10
mov eax, dword [esp + 0x18]
test al, al
je 0x49f6c8
movss xmm0, dword [esp + 0x20]
movss dword [esi + 0x22c], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esi + 0x234], xmm0
test cl, cl
je 0x49f9c2
mov ebx, dword [edi + 0x3f9c]
shr ebx, 2
and bl, 1
cmp byte [esp + 0x1c], 0
je 0x49f6f5
test bl, bl
jne 0x49f6f5
push 1
call fcn.00467e60
mov eax, dword [esp + 0x1c]
add esp, 4
test al, al
je 0x49f717
cmp dword [esi + 0x1ac], 0
je 0x49f709
call fcn.004a6530
jmp 0x49f717
cmp dword [edi + 0x4334], 0
je 0x49f717
call fcn.004a8fd0
mov ecx, dword [esp + 0x78]
mov ebp, dword [esp + 0x78]
mov eax, ebp
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
or edx, 0x10
test dword [esp + 0x78], 0x400000
cmove edx, ecx
mov ecx, edx
or ecx, 0x80
test ebp, 0x800000
cmove ecx, edx
mov edx, ecx
or edx, 0x120
test al, 4
mov al, byte [esp + 0x74]
cmove edx, ecx
mov byte [esp + 0x12], al
mov ecx, ebp
mov eax, edx
or eax, 0x1000
and ecx, 0x10
test ecx, ecx
mov dword [esp + 0x24], ecx
cmove eax, edx
push eax
lea eax, [esp + 0x17]
push eax
lea eax, [esp + 0x19]
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x5c]
push eax
call fcn.0049a1c0
mov dl, byte [esp + 0x25]
mov dh, al
mov eax, ebp
mov byte [esp + 0x24], dh
add esp, 0x14
mov byte [esp + 0x11], dl
test eax, 0x200000
je 0x49f7d4
mov ebp, dword [edi + 0x4144]
test ebp, ebp
je 0x49f7d4
mov ecx, dword [edi + 0x4148]
cmp ecx, dword [esi + 0x168]
mov ecx, dword [esp + 0x14]
jne 0x49f7d8
cmp ebp, ecx
jne 0x49f7d8
mov dh, 1
mov byte [esp + 0x10], dh
mov byte [esp + 0x74], dh
jmp 0x49f7ef
mov ecx, dword [esp + 0x14]
test dh, dh
jne 0x49f7ef
test dl, dl
je 0x49f892
test eax, 0x4000000
je 0x49f892
cmp byte [edi + 0x4163], 0
jne 0x49f882
cmp dword [edi + 0x4124], esi
jne 0x49f882
mov eax, dword [esi + 0x160]
cmp dword [edi + 0x415c], eax
jne 0x49f882
movss xmm1, dword [esi + 0x118]
lea edx, [esp + 0x5c]
movss xmm0, dword [esp + 0x4c]
movss xmm2, dword [esi + 0x11c]
subss xmm0, xmm1
push edx
push dword [esi + 0x168]
push eax
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x5c]
subss xmm0, xmm2
push ecx
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x64]
subss xmm0, xmm1
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x68]
subss xmm0, xmm2
movss dword [esp + 0x78], xmm0
call fcn.00480aa0
mov dh, byte [esp + 0x20]
add esp, 0x10
mov byte [edi + 0x4162], 1
test dh, dh
je 0x49f892
push dword [esp + 0x14]
call fcn.00477630
add esp, 4
cmp dword [esp + 0x24], 0
je 0x49f89e
call fcn.004808e0
mov dl, byte [esp + 0x74]
cmp dl, byte [esp + 0x12]
je 0x49f8af
or dword [edi + 0x3fbc], 8
mov al, byte [esp + 0x13]
test al, al
je 0x49f8c5
test dword [esp + 0x78], 0x2000000
je 0x49f8c5
mov cl, 1
jmp 0x49f8d1
mov cl, byte [esp + 0x11]
test cl, cl
jne 0x49f8d1
test dl, dl
je 0x49f91d
test al, al
je 0x49f8e0
test cl, cl
je 0x49f8e0
mov eax, 0x1a
jmp 0x49f8ea
xor eax, eax
test cl, cl
setne al
add eax, 0x18
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.00474aa0
add esp, 4
mov dword [esp], 0
push 0
push eax
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
call fcn.0047d760
add esp, 0x1c
push 0xa
push dword [esp + 0x18]
lea eax, [esp + 0x54]
push eax
call fcn.0047dd40
add esp, 0xc
cmp byte [esp + 0x18], 0
je 0x49f955
cmp dword [esi + 0x1ac], 0
je 0x49f947
call fcn.004a6490
jmp 0x49f955
cmp dword [edi + 0x4334], 0
je 0x49f955
call fcn.004a8f10
lea eax, [esp + 0x4c]
push eax
lea eax, [edi + 0x38f4]
push eax
lea eax, [esp + 0x3c]
push eax
push 0
push dword [esp + 0x80]
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.0047e160
add esp, 0x1c
cmp byte [esp + 0x10], 0
je 0x49f9a6
test dword [esi + 8], 0x4000000
je 0x49f9a6
test byte [esp + 0x78], 1
jne 0x49f9a6
test byte [edi + 0x3fb8], 0x20
jne 0x49f9a6
call fcn.0046a5e0
cmp byte [esp + 0x1c], 0
je 0x49f9b6
test bl, bl
jne 0x49f9b6
call fcn.00472fd0
mov al, byte [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x5c
ret