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

Disassembly:
mov ecx, dword [0x101db19c]
sub esp, 0x54
mov eax, dword [ecx + 0x3f88]
push ebx
push ebp
push esi
mov byte [eax + 0xb0], 1
mov esi, dword [ecx + 0x3f88]
push edi
cmp byte [esi + 0xb3], 0
jne 0x10078e6b
mov ebp, dword [esp + 0x68]
mov ecx, esi
mov edi, dword [0x101db19c]
push 0
push ebp
call fcn.10058a60
push ecx
mov dword [esp], 0xbf800000
mov ebx, eax
push 1
push 0
lea eax, [esp + 0x48]
mov dword [esp + 0x3c], ebx
push ebp
push eax
call fcn.100556a0
mov ebp, dword [esp + 0x88]
add esp, 0x14
xorps xmm0, xmm0
movss xmm2, dword [ebp + 4]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x1007896f
movss xmm2, dword [esp + 0x40]
movss xmm1, dword [ebp]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10078983
movss xmm1, dword [esp + 0x3c]
movss dword [esp + 0x34], xmm1
lea eax, [esp + 0x34]
movss dword [esp + 0x38], xmm2
movss xmm0, dword [esi + 0xf8]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0xfc]
movss dword [esp + 0x24], xmm0
addss xmm0, dword [esi + 0x130]
push ecx
mov dword [esp], 0
push eax
movss dword [esp + 0x24], xmm0
call fcn.1005a9b0
mov ecx, dword [esp + 0x78]
add esp, 8
movss xmm2, dword [esp + 0x18]
mov edx, ecx
shr edx, 1
and dl, 1
mov dword [esp + 0x14], edx
je 0x100789f7
movss xmm6, dword [esi + 0x208]
movss xmm1, dword [esi + 0x210]
jmp 0x10078a02
movss xmm1, dword [esi + 0x200]
movaps xmm6, xmm2
movss xmm0, dword [ebp]
xorps xmm5, xmm5
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x10078a23
test ecx, 0x1000000
jne 0x10078a23
movss xmm4, dword [esp + 0x34]
jmp 0x10078a37
movss xmm4, dword [esp + 0x3c]
subss xmm1, xmm6
maxss xmm4, xmm1
movss dword [esp + 0x34], xmm4
movss xmm0, dword [esp + 0x1c]
addss xmm4, xmm6
movss dword [esp + 0x4c], xmm2
movaps xmm7, xmm0
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x54], xmm6
movss dword [esp + 0x58], xmm0
movss dword [esp + 0x44], xmm4
movss dword [esp + 0x5c], xmm4
addss xmm7, dword [esp + 0x38]
movss dword [esp + 0x48], xmm7
movss dword [esp + 0x60], xmm7
test ecx, 0x4000000
jne 0x10078af8
test dl, dl
jne 0x10078a8e
movss xmm5, dword [edi + 0x38f4]
movss xmm3, dword [edi + 0x38f8]
movaps xmm0, xmm5
mulss xmm0, dword [0x1008b864]
movss xmm1, dword [esp + 0x1c]
cvttss2si eax, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [0x1008b864]
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 xmm1, xmm0
addss xmm5, xmm4
addss xmm3, xmm7
movss dword [esp + 0x54], xmm6
movss dword [esp + 0x58], xmm1
movss dword [esp + 0x5c], xmm5
movss dword [esp + 0x60], xmm3
movss xmm0, dword [esi + 0x218]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0x220]
movss dword [esp + 0x20], xmm0
test dl, dl
je 0x10078b30
mov eax, dword [esi + 0x208]
mov dword [esi + 0x218], eax
mov eax, dword [esi + 0x210]
mov dword [esi + 0x220], 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 + 0x5c]
push ebx
push eax
call fcn.1005a560
mov cl, al
add esp, 0x10
mov eax, dword [esp + 0x14]
test al, al
je 0x10078b7b
movss xmm0, dword [esp + 0x18]
movss dword [esi + 0x218], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esi + 0x220], xmm0
test cl, cl
je 0x10078e6b
mov ebx, dword [edi + 0x48a8]
shr ebx, 2
and bl, 1
cmp byte [esp + 0x1c], 0
je 0x10078ba8
test bl, bl
jne 0x10078ba8
push 1
call fcn.100552e0
mov eax, dword [esp + 0x18]
add esp, 4
test al, al
je 0x10078bca
cmp dword [esi + 0x198], 0
je 0x10078bbc
call fcn.100798e0
jmp 0x10078bca
cmp dword [edi + 0x4c6c], 0
je 0x10078bca
call fcn.10079e20
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x70]
mov eax, ebp
shr ecx, 3
and ecx, 0x20000
mov edx, ecx
or edx, 0x100000
test dword [esp + 0x70], 0x8000000
cmove edx, ecx
mov ecx, edx
or ecx, 0x10
test ebp, 0x400000
cmove ecx, edx
mov edx, ecx
or edx, 0x80
test ebp, 0x800000
cmove edx, ecx
mov ecx, edx
or ecx, 0x120
test al, 4
cmove ecx, edx
test byte [esp + 0x70], 0x10
jne 0x10078c2f
test dword [edi + 0x48d4], 0x200
je 0x10078c35
or ecx, 0x1000
mov al, byte [esp + 0x6c]
mov ebp, dword [esp + 0x30]
mov byte [esp + 0x12], al
lea eax, [esp + 0x13]
push ecx
push eax
lea eax, [esp + 0x19]
push eax
lea eax, [esp + 0x60]
push ebp
push eax
call fcn.10077530
mov dl, al
add esp, 0x14
mov eax, dword [esp + 0x70]
mov byte [esp + 0x10], dl
test eax, 0x200000
je 0x10078c96
cmp dword [edi + 0x4a0c], 0
je 0x10078c96
mov ecx, dword [edi + 0x4a10]
cmp ecx, dword [edi + 0x48a4]
jne 0x10078c96
cmp dword [edi + 0x4a0c], ebp
jne 0x10078c96
mov dl, 1
mov byte [esp + 0x10], dl
mov byte [esp + 0x6c], dl
jmp 0x10078caf
test dl, dl
jne 0x10078caf
cmp byte [esp + 0x11], dl
je 0x10078d6a
test eax, 0x2000000
je 0x10078d60
cmp byte [edi + 0x4a33], 0
jne 0x10078d42
cmp dword [edi + 0x49f0], esi
jne 0x10078d42
mov eax, dword [esi + 0x150]
cmp dword [edi + 0x4a24], eax
jne 0x10078d42
movss xmm1, dword [esi + 0x108]
lea ecx, [esp + 0x20]
movss xmm0, dword [esp + 0x54]
movss xmm2, dword [esi + 0x10c]
subss xmm0, xmm1
push ecx
push dword [edi + 0x48a4]
push eax
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x64]
subss xmm0, xmm2
push ebp
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x6c]
subss xmm0, xmm1
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x70]
subss xmm0, xmm2
movss dword [esp + 0x3c], xmm0
call fcn.10062ed0
mov dl, byte [esp + 0x20]
add esp, 0x10
mov byte [edi + 0x4a32], 1
test dl, dl
je 0x10078d4f
push ebp
call fcn.1005b060
add esp, 4
mov al, byte [esp + 0x12]
cmp byte [esp + 0x6c], al
je 0x10078d60
or dword [edi + 0x48d8], 8
mov dl, byte [esp + 0x11]
test dl, dl
jne 0x10078d75
jmp 0x10078d6e
mov dl, byte [esp + 0x11]
cmp byte [esp + 0x6c], 0
je 0x10078dc4
cmp byte [esp + 0x13], 0
je 0x10078d87
test dl, dl
je 0x10078d87
mov eax, 0x1a
jmp 0x10078d91
xor eax, eax
test dl, dl
setne al
add eax, 0x18
push ecx
mov dword [esp], 0x3f800000
push eax
call fcn.10058960
add esp, 4
mov dword [esp], 0
push 0
push eax
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
call fcn.100608c0
add esp, 0x1c
cmp dword [edi + 0x49f4], ebp
jne 0x10078ddc
push 0xa
lea eax, [esp + 0x58]
push ebp
push eax
call fcn.10060d50
add esp, 0xc
cmp byte [esp + 0x14], 0
je 0x10078e01
cmp dword [esi + 0x198], 0
je 0x10078df3
call fcn.10079840
jmp 0x10078e01
cmp dword [edi + 0x4c6c], 0
je 0x10078e01
call fcn.10079d60
lea eax, [esp + 0x54]
push eax
lea eax, [edi + 0x3950]
push eax
lea eax, [esp + 0x44]
push eax
push 0
push dword [esp + 0x78]
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.10061090
add esp, 0x1c
cmp byte [esp + 0x10], 0
je 0x10078e4f
test dword [esi + 0xc], 0x4000000
je 0x10078e4f
test byte [esp + 0x70], 1
jne 0x10078e4f
test byte [edi + 0x48d4], 0x20
jne 0x10078e4f
call fcn.10056240
cmp byte [esp + 0x1c], 0
je 0x10078e5f
test bl, bl
jne 0x10078e5f
call fcn.100575d0
mov al, byte [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x54
ret