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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x38
push esi
mov esi, dword [0x10248410]
xorps xmm1, xmm1
push edi
mov byte [esi + 0x357], 0
mov dword [esi + 0x1e10], 0
mov dword [esi + 0x1e14], 0
mov dl, byte [esi + 8]
and dl, 1
test byte [esi + 8], 2
mov byte [ebp - 2], dl
je 0x100496ad
test byte [esi + 0xc], 1
je 0x100496ad
cmp dword [esi + 0x1d40], 3
lea ecx, [esi + 0x1d40]
mov byte [ebp - 1], 1
je 0x100496b7
movss xmm0, dword [esi + 0x300]
comiss xmm0, xmm1
ja 0x100496a1
movss xmm0, dword [esi + 0x308]
comiss xmm0, xmm1
ja 0x100496a1
movss xmm0, dword [esi + 0x304]
comiss xmm0, xmm1
ja 0x100496a1
movss xmm0, dword [esi + 0x30c]
comiss xmm0, xmm1
ja 0x100496a1
movss xmm0, dword [esi + 0x310]
comiss xmm0, xmm1
ja 0x100496a1
movss xmm0, dword [esi + 0x314]
comiss xmm0, xmm1
ja 0x100496a1
movss xmm0, dword [esi + 0x318]
comiss xmm0, xmm1
ja 0x100496a1
movss xmm0, dword [esi + 0x31c]
lea ecx, [esi + 0x1d40]
comiss xmm0, xmm1
jbe 0x100496b7
mov dword [esi + 0x1d40], 3
jmp 0x100496b1
mov byte [ebp - 1], 0
lea ecx, [esi + 0x1d40]
test dl, dl
je 0x1004980e
mov edx, dword [esi + 0x64]
test edx, edx
js 0x100496e6
mov eax, dword [0x10248410]
mov al, byte [eax + edx + 0x100]
test al, al
je 0x100496e6
mov dword [esi + 0x300], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x68]
test edx, edx
js 0x1004970d
mov eax, dword [0x10248410]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x1004970d
mov dword [esi + 0x308], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x6c]
test edx, edx
js 0x10049734
mov eax, dword [0x10248410]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x10049734
mov dword [esi + 0x304], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x38]
test edx, edx
js 0x1004975b
mov eax, dword [0x10248410]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x1004975b
mov dword [esi + 0x344], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x3c]
test edx, edx
js 0x10049782
mov eax, dword [0x10248410]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x10049782
mov dword [esi + 0x348], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x40]
test edx, edx
js 0x100497a9
mov eax, dword [0x10248410]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x100497a9
mov dword [esi + 0x34c], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x44]
test edx, edx
js 0x100497d0
mov eax, dword [0x10248410]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x100497d0
mov dword [esi + 0x350], 0x3f800000
mov dword [ecx], 2
mov al, byte [esi + 0xfc]
test al, al
je 0x100497e4
mov dword [esi + 0x338], 0x3f800000
cmp byte [esi + 0xfd], 0
je 0x100497f7
mov dword [esi + 0x33c], 0x3f800000
cmp byte [esi + 0xfe], 0
je 0x1004980e
test al, al
jne 0x1004980e
mov dword [esi + 0x340], 0x3f800000
movups xmm0, xmmword [esi + 0x1458]
mov eax, dword [esi + 0x14a8]
lea ecx, [esi + 0x1458]
movss xmm2, dword [0x10217eb8]
movups xmmword [esi + 0x14ac], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [esi + 0x14bc], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [esi + 0x14cc], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [esi + 0x14dc], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [esi + 0x14ec], xmm0
mov dword [esi + 0x14fc], eax
mov eax, 0x15
nop word [eax + eax]
movss xmm0, dword [ecx - 0x1158]
comiss xmm0, xmm1
jbe 0x10049892
movss xmm0, dword [ecx]
comiss xmm1, xmm0
jbe 0x1004988b
movaps xmm0, xmm1
jmp 0x10049895
addss xmm0, dword [esi + 0x18]
jmp 0x10049895
movaps xmm0, xmm2
movss dword [ecx], xmm0
add ecx, 4
sub eax, 1
jne 0x10049870
cmp dword [esi + 0x1d68], eax
je 0x10049912
mov edx, dword [0x10248410]
mov edi, dword [edx + 0x1d10]
test edi, edi
je 0x10049912
mov ecx, dword [edx + 0x1d58]
mov eax, dword [edx + 0x1d68]
mov dword [edx + 0x1d14], eax
mov dword [edx + 0x1d58], ecx
mov dword [edx + 0x1d18], 0
mov dword [edi + ecx*4 + 0x33c], eax
add ecx, ecx
mov eax, dword [edx + 0x1d10]
movups xmm0, xmmword [edx + 0x1d6c]
movups xmmword [eax + ecx*8 + 0x344], xmm0
cmp byte [edx + 0x1d66], 0
je 0x10049912
mov word [edx + 0x1d61], 1
mov byte [edx + 0x1d63], 1
cmp byte [esi + 0x1d7c], 0
mov word [esi + 0x1d65], 0
mov dword [esi + 0x1d68], 0
mov dword [esi + 0x1d30], 0
je 0x1004993d
call fcn.1004a860
cmp dword [esi + 0x1d84], 2
jne 0x10049969
cmp dword [esi + 0x1d9c], 0
jne 0x1004995f
cmp dword [esi + 0x1dec], 0
jne 0x1004995f
mov byte [esi + 0x1d62], 0
mov dword [esi + 0x1d84], 0
cmp byte [esi + 0x1d61], 0
je 0x100499e5
cmp byte [esi + 0x1d60], 0
je 0x100499e5
test byte [esi + 8], 4
je 0x100499de
test byte [esi + 0xc], 4
je 0x100499de
cmp byte [esi + 0x1d62], 0
jne 0x100499de
cmp byte [esi + 0x1d63], 0
je 0x100499de
cmp dword [esi + 0x1d10], 0
je 0x100499de
lea eax, [ebp - 0x28]
push eax
call fcn.10048820
add esp, 4
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [esi + 0x380], xmm0
movss dword [esi + 0x384], xmm1
movss dword [esi + 0xe4], xmm0
movss dword [esi + 0xe8], xmm1
mov byte [esi + 0x357], 1
mov byte [esi + 0x1d61], 0
mov ecx, dword [esi + 0x1d10]
mov byte [esi + 0x1d60], 0
mov dword [esi + 0x1d2c], 0
test ecx, ecx
je 0x10049a29
mov eax, ecx
cmp dword [eax + 0x32c], eax
je 0x10049a1f
test dword [eax + 0x14], 0x14000000
jne 0x10049a1f
mov eax, dword [eax + 0x328]
test eax, eax
jne 0x10049a02
jmp 0x10049a29
cmp eax, ecx
je 0x10049a29
mov dword [eax + 0x338], ecx
mov eax, dword [esi + 0x1d10]
test eax, eax
je 0x10049a4f
cmp dword [eax + 0x338], 0
je 0x10049a4f
cmp dword [esi + 0x1d58], 0
jne 0x10049a4f
mov dword [eax + 0x338], 0
call fcn.1004ae30
cmp byte [ebp - 2], 0
jne 0x10049a60
cmp byte [ebp - 1], 0
je 0x10049abd
mov eax, dword [esi + 0x1d10]
test eax, eax
je 0x10049abd
test dword [eax + 0x14], 0x40000
jne 0x10049abd
mov byte [esi + 0x359], 1
cmp dword [esi + 0x1d14], 0
je 0x10049ac4
cmp byte [esi + 0x1d62], 0
jne 0x10049ac4
mov al, 1
mov byte [esi + 0x35a], al
xorps xmm1, xmm1
mov ecx, dword [0x10248410]
movss xmm0, dword [ecx + 0x145c]
comiss xmm1, xmm0
ja 0x10049ad1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10049ad1
movss xmm0, dword [0x100ffd24]
jmp 0x10049ad4
mov byte [esi + 0x359], 0
cmp dword [esi + 0x1e18], 0
jne 0x10049a8c
xor al, al
jmp 0x10049a8e
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x10049c48
cmp dword [esi + 0x1be0], 0
je 0x10049b03
mov eax, dword [ecx + 0x1bfc]
shr eax, 1
test al, 1
jne 0x10049c48
call fcn.10043350
xorps xmm1, xmm1
jmp 0x10049c48
mov edi, dword [esi + 0x1d10]
test edi, edi
je 0x10049bca
cmp edi, dword [edi + 0x32c]
je 0x10049bca
test dword [edi + 0x14], 0x4000000
jne 0x10049bca
mov eax, dword [edi + 0x328]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x10049bca
movss xmm0, dword [edi + 0x18]
movss dword [ebp - 8], xmm0
movss xmm0, dword [edi + 0x1c]
movss dword [ebp - 0x10], xmm0
movss xmm0, dword [edi + 0x20]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [edi + 0x24]
push eax
movss dword [ebp - 0x24], xmm0
call fcn.10045270
movss xmm1, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
movss xmm6, dword [ebp - 0x14]
addss xmm6, dword [ebp - 8]
addss xmm1, dword [ebp - 0x10]
movss xmm3, dword [ebp - 8]
movss xmm2, dword [ebp - 0x10]
subss xmm3, dword [eax + 0x18]
subss xmm2, dword [eax + 0x1c]
subss xmm6, dword [eax + 0x18]
subss xmm1, dword [eax + 0x1c]
lea eax, [ebp - 0x30]
push eax
push 0
push 0
push dword [edi + 0x60]
movss dword [ebp - 0x30], xmm3
movss dword [ebp - 0x2c], xmm2
movss dword [ebp - 0x28], xmm6
movss dword [ebp - 0x24], xmm1
call fcn.10050380
add esp, 0x14
xorps xmm1, xmm1
jmp 0x10049c48
mov edx, dword [esi + 0x1cec]
test edx, edx
jle 0x10049bfd
mov eax, dword [esi + 0x1cf4]
lea ecx, [edx + edx*8]
mov eax, dword [eax + ecx*4 - 0x20]
test dword [eax + 0x14], 0x8000000
jne 0x10049c48
lea eax, [edx - 1]
push 1
push eax
call fcn.10043560
add esp, 8
xorps xmm1, xmm1
jmp 0x10049c48
cmp dword [esi + 0x1d58], 0
je 0x10049c15
push 0
call fcn.10049070
add esp, 4
xorps xmm1, xmm1
jmp 0x10049c48
test edi, edi
je 0x10049c34
mov eax, dword [edi + 0x14]
test eax, 0x4000000
jne 0x10049c2a
test eax, 0x1000000
jne 0x10049c34
mov dword [edi + 0x33c], 0
mov dword [esi + 0x1d18], 0
mov dword [esi + 0x1d14], 0
mov ecx, dword [esi + 0x1d14]
mov dword [esi + 0x1d28], 0
mov dword [esi + 0x1d24], 0
mov dword [esi + 0x1d20], 0
mov dword [esi + 0x1d1c], 0
test ecx, ecx
je 0x10049d69
cmp byte [esi + 0x1d62], 0
jne 0x10049d69
cmp dword [esi + 0x1e18], 0
jne 0x10049d69
mov eax, dword [esi + 0x1d10]
test eax, eax
je 0x10049d69
test dword [eax + 0x14], 0x40000
jne 0x10049d69
mov eax, dword [0x10248410]
movss xmm0, dword [eax + 0x300]
comiss xmm0, xmm1
seta dh
test dh, dh
je 0x10049cf6
movss xmm0, dword [eax + 0x1458]
comiss xmm1, xmm0
ja 0x10049cea
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10049cea
movss xmm0, dword [0x100ffd24]
jmp 0x10049ced
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x10049cf6
mov dl, 1
jmp 0x10049cf8
xor dl, dl
mov eax, dword [esi + 0x1be0]
test eax, eax
jne 0x10049d0e
test dl, dl
je 0x10049d12
mov dword [esi + 0x1d1c], ecx
jmp 0x10049d12
cmp eax, ecx
jne 0x10049d69
test dh, dh
je 0x10049d1c
mov dword [esi + 0x1d20], ecx
test eax, eax
je 0x10049d24
cmp eax, ecx
jne 0x10049d69
test dl, dl
je 0x10049d2e
mov dword [esi + 0x1d24], ecx
test eax, eax
je 0x10049d36
cmp eax, ecx
jne 0x10049d69
mov eax, dword [0x10248410]
movss xmm0, dword [eax + 0x1460]
comiss xmm1, xmm0
ja 0x10049d5b
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10049d5b
movss xmm0, dword [0x100ffd24]
jmp 0x10049d5e
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x10049d69
mov dword [esi + 0x1d28], ecx
mov ecx, dword [esi + 0x1d10]
test ecx, ecx
je 0x10049d83
test dword [ecx + 0x14], 0x40000
je 0x10049d83
mov byte [esi + 0x1d62], 1
mov eax, dword [esi + 0x1d3c]
mov byte [esi + 0x1d7c], 0
test eax, eax
je 0x10049dac
mov dword [esi + 0x1d28], eax
mov dword [esi + 0x1d24], eax
mov dword [esi + 0x1d20], eax
mov dword [esi + 0x1d1c], eax
cmp dword [esi + 0x1d84], 0
mov dword [esi + 0x1d3c], 0
jne 0x1004a20e
mov dword [esi + 0x1d8c], 0xffffffff
mov dword [esi + 0x1d80], 0
test ecx, ecx
je 0x1004a200
cmp dword [esi + 0x1e18], 0
jne 0x1004a200
test dword [ecx + 0x14], 0x40000
jne 0x1004a200
mov edi, dword [0x10248410]
movss xmm3, dword [0x102171e8]
movss xmm4, dword [0x10217e60]
test byte [edi + 0x1bf8], 1
jne 0x10049f18
movss xmm2, dword [edi + 0x1468]
lea eax, [edi + 0x90]
comiss xmm1, xmm2
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
jbe 0x10049e3d
xorps xmm0, xmm0
jmp 0x10049e9c
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, xmm3
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, xmm4
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.10042880
movss xmm3, dword [0x102171e8]
lea ecx, [edi + 0x8c]
movss xmm4, dword [0x10217e60]
lea edx, [edi + 0x18]
add esp, 0x10
xorps xmm1, xmm1
movd xmm0, eax
lea eax, [edi + 0x90]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x10049ef8
movss xmm2, dword [edi + 0x149c]
comiss xmm1, xmm2
jbe 0x10049eb3
xorps xmm0, xmm0
jmp 0x10049ef3
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, xmm3
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, xmm4
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.10042880
add esp, 0x10
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x10049f08
mov dword [esi + 0x1d8c], 0
mov edi, dword [0x10248410]
movss xmm4, dword [0x10217e60]
movss xmm3, dword [0x102171e8]
mov eax, dword [edi + 0x1bf8]
shr eax, 1
test al, 1
jne 0x1004a00c
movss xmm2, dword [edi + 0x146c]
lea eax, [edi + 0x90]
comiss xmm1, xmm2
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
jbe 0x10049f49
xorps xmm0, xmm0
jmp 0x10049f98
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, xmm3
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, xmm4
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.10042880
add esp, 0x10
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
xorps xmm1, xmm1
movd xmm0, eax
lea eax, [edi + 0x90]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x10049ffc
movss xmm2, dword [edi + 0x14a0]
comiss xmm1, xmm2
jbe 0x10049faf
xorps xmm0, xmm0
jmp 0x10049ff7
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, dword [0x102171e8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, dword [0x10217e60]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.10042880
add esp, 0x10
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1004a00c
mov dword [esi + 0x1d8c], 1
mov edi, dword [0x10248410]
mov eax, dword [edi + 0x1bf8]
shr eax, 2
test al, 1
jne 0x1004a109
movss xmm2, dword [edi + 0x1470]
lea eax, [edi + 0x90]
comiss xmm1, xmm2
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
jbe 0x1004a03e
xorps xmm0, xmm0
jmp 0x1004a095
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, dword [0x102171e8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, dword [0x10217e60]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.10042880
add esp, 0x10
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
xorps xmm1, xmm1
movd xmm0, eax
lea eax, [edi + 0x90]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x1004a0f9
movss xmm2, dword [edi + 0x14a4]
comiss xmm1, xmm2
jbe 0x1004a0ac
xorps xmm0, xmm0
jmp 0x1004a0f4
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, dword [0x102171e8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, dword [0x10217e60]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.10042880
add esp, 0x10
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1004a109
mov dword [esi + 0x1d8c], 2
mov edi, dword [0x10248410]
mov eax, dword [edi + 0x1bf8]
shr eax, 3
test al, 1
jne 0x1004a200
movss xmm2, dword [edi + 0x1474]
lea eax, [edi + 0x90]
comiss xmm1, xmm2
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
jbe 0x1004a13b
xorps xmm0, xmm0
jmp 0x1004a192
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, dword [0x102171e8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, dword [0x10217e60]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.10042880
add esp, 0x10
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
xorps xmm1, xmm1
movd xmm0, eax
lea eax, [edi + 0x90]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x1004a1f6
movss xmm2, dword [edi + 0x14a8]
comiss xmm1, xmm2
jbe 0x1004a1a9
xorps xmm0, xmm0
jmp 0x1004a1f1
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, dword [0x102171e8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, dword [0x10217e60]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.10042880
add esp, 0x10
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1004a200
mov dword [esi + 0x1d8c], 3
mov eax, dword [esi + 0x1d8c]
mov dword [esi + 0x1d94], eax
jmp 0x1004a218
mov dword [esi + 0x1d84], 2
cmp byte [ebp - 2], 0
xorps xmm0, xmm0
movss dword [ebp - 0xc], xmm0
je 0x1004a23b
call fcn.1004aab0
fstp dword [ebp - 0x24]
movss xmm0, dword [ebp - 0x24]
xorps xmm1, xmm1
movss dword [ebp - 0xc], xmm0
mov ecx, dword [esi + 0x1d8c]
cmp ecx, 0xffffffff
je 0x1004a25f
mov byte [esi + 0x1d7c], 1
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x1d88], eax
mov dword [esi + 0x1d90], ecx
cmp byte [esi + 0x1d7c], 0
je 0x1004a28b
cmp dword [esi + 0x1d14], 0
jne 0x1004a28b
mov word [esi + 0x1d65], 0x101
mov dword [esi + 0x1d68], 0
mov byte [esi + 0x1d62], 0
mov eax, dword [0x10248410]
cmp byte [eax + 0x1d7c], 0
jne 0x1004a2a6
cmp byte [eax + 0x1d65], 0
jne 0x1004a2a6
xor cl, cl
jmp 0x1004a2a8
mov cl, 1
movss xmm2, dword [0x100fe840]
mov byte [eax + 0x1d64], cl
mov edi, dword [esi + 0x1d10]
test edi, edi
je 0x1004a495
test dword [edi + 0x14], 0x40000
jne 0x1004a495
cmp dword [esi + 0x1e18], 0
jne 0x1004a495
mov eax, dword [0x10248410]
movss xmm0, dword [eax + 0x1944]
mov eax, dword [edi + 0x328]
mulss xmm0, dword [edi + 0x28c]
test eax, eax
je 0x1004a305
mulss xmm0, dword [eax + 0x28c]
cmp dword [edi + 0x150], 0
mulss xmm0, dword [0x100ffb20]
mulss xmm0, dword [esi + 0x18]
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ebp - 8], xmm1
jne 0x1004a3e7
cmp byte [edi + 0x15d], 0
je 0x1004a3e7
cmp byte [esi + 0x1d7c], 0
je 0x1004a3e7
mov eax, dword [esi + 0x1d8c]
test eax, eax
je 0x1004a366
cmp eax, 1
jne 0x1004a398
movss xmm0, dword [0x100ffd24]
jmp 0x1004a36e
movss xmm0, dword [0x10217eb8]
mulss xmm0, xmm1
mov dword [edi + 0x7c], 0
mov dword [edi + 0x84], 0
addss xmm0, dword [edi + 0x64]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x74], xmm0
mov eax, dword [esi + 0x1d8c]
cmp eax, 2
je 0x1004a3b2
cmp eax, 3
jne 0x1004a3e7
movss xmm0, dword [0x100ffd24]
jmp 0x1004a3ba
movss xmm0, dword [0x10217eb8]
mulss xmm0, xmm1
mov dword [edi + 0x80], 0
mov dword [edi + 0x88], 0
addss xmm0, dword [edi + 0x68]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x78], xmm0
sub esp, 8
lea eax, [ebp - 0x28]
mov dword [esp + 4], 0x41200000
mov dword [esp], 0x3dcccccd
push 0
push 4
push eax
call fcn.10045cd0
movss xmm0, dword [ebp - 0x28]
add esp, 0x14
movss xmm2, dword [ebp - 8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1004a452
cmp byte [edi + 0x94], 0
je 0x1004a452
mulss xmm0, xmm2
mov dword [edi + 0x7c], 0
mov dword [edi + 0x84], 0
addss xmm0, dword [edi + 0x64]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x74], xmm0
movss xmm0, dword [ebp - 0x24]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1004a48d
mulss xmm0, xmm2
mov dword [edi + 0x80], 0
mov dword [edi + 0x88], 0
addss xmm0, dword [edi + 0x68]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x78], xmm0
movss xmm2, dword [0x100fe840]
mov dword [esi + 0x1d98], 0
xorps xmm0, xmm0
mov dword [esi + 0x1da0], 0
mov dword [esi + 0x1d9c], 0
mov dword [esi + 0x1dac], 0x7f7fffff
mov dword [esi + 0x1da8], 0x7f7fffff
mov dword [esi + 0x1da4], 0x7f7fffff
movups xmmword [esi + 0x1db0], xmm0
mov dword [esi + 0x1dc0], 0
mov dword [esi + 0x1dc8], 0
mov dword [esi + 0x1dc4], 0
mov dword [esi + 0x1dd4], 0x7f7fffff
mov dword [esi + 0x1dd0], 0x7f7fffff
mov dword [esi + 0x1dcc], 0x7f7fffff
movups xmmword [esi + 0x1dd8], xmm0
mov dword [esi + 0x1de8], 0
mov dword [esi + 0x1df0], 0
mov dword [esi + 0x1dec], 0
mov dword [esi + 0x1dfc], 0x7f7fffff
mov dword [esi + 0x1df8], 0x7f7fffff
mov dword [esi + 0x1df4], 0x7f7fffff
movups xmmword [esi + 0x1e00], xmm0
cmp byte [esi + 0x1d7c], 0
je 0x1004a705
cmp dword [esi + 0x1d40], 3
jne 0x1004a705
mov edx, dword [esi + 0x1d58]
movss xmm5, dword [0x100ffd24]
test edx, edx
jne 0x1004a70d
mov ecx, dword [esi + 0x1d10]
movss xmm3, dword [ecx + 0x200]
subss xmm3, dword [ecx + 0x18]
movss xmm4, dword [ecx + 0x204]
movss xmm7, dword [ecx + 0x208]
movss xmm6, dword [ecx + 0x20c]
subss xmm4, dword [ecx + 0x1c]
subss xmm7, dword [ecx + 0x18]
subss xmm6, dword [ecx + 0x1c]
movss xmm0, dword [ecx + 0x344]
subss xmm3, xmm5
subss xmm4, xmm5
addss xmm7, xmm5
addss xmm6, xmm5
comiss xmm0, xmm3
jb 0x1004a60b
movss xmm0, dword [ecx + 0x348]
comiss xmm0, xmm4
jb 0x1004a60b
comiss xmm7, dword [ecx + 0x34c]
jb 0x1004a60b
comiss xmm6, dword [ecx + 0x350]
jae 0x1004a75d
mov eax, dword [0x10248410]
movss xmm5, dword [eax + 0x1944]
mov eax, dword [ecx + 0x328]
mulss xmm5, dword [ecx + 0x28c]
test eax, eax
je 0x1004a632
mulss xmm5, dword [eax + 0x28c]
mulss xmm5, xmm2
movaps xmm1, xmm6
add edx, edx
subss xmm1, xmm4
movaps xmm2, xmm7
subss xmm2, xmm3
movss xmm0, dword [ecx + edx*8 + 0x348]
minss xmm1, xmm5
minss xmm2, xmm5
xorps xmm1, xmmword [0x100fe860]
xorps xmm2, xmmword [0x100fe860]
subss xmm4, xmm1
subss xmm3, xmm2
addss xmm7, xmm2
addss xmm6, xmm1
comiss xmm4, xmm0
jbe 0x1004a67f
movaps xmm1, xmm4
jmp 0x1004a686
movaps xmm1, xmm6
minss xmm1, xmm0
comiss xmm3, dword [ecx + 0x344]
jbe 0x1004a694
movaps xmm0, xmm3
jmp 0x1004a6a0
movaps xmm0, xmm7
minss xmm0, dword [ecx + edx*8 + 0x344]
movss dword [ecx + edx*8 + 0x344], xmm0
movss dword [ecx + edx*8 + 0x348], xmm1
movss xmm0, dword [ecx + edx*8 + 0x350]
comiss xmm4, xmm0
ja 0x1004a6c7
movaps xmm4, xmm6
minss xmm4, xmm0
movss xmm0, dword [ecx + edx*8 + 0x34c]
comiss xmm3, xmm0
ja 0x1004a6dc
movaps xmm3, xmm7
minss xmm3, xmm0
movss dword [ecx + edx*8 + 0x34c], xmm3
xorps xmm1, xmm1
movss dword [ecx + edx*8 + 0x350], xmm4
mov dword [esi + 0x1d18], 0
mov dword [esi + 0x1d14], 0
movss xmm5, dword [0x100ffd24]
mov eax, dword [esi + 0x1d10]
test eax, eax
je 0x1004a762
mov ecx, dword [esi + 0x1d58]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 + 0x344]
comiss xmm0, dword [eax + ecx*8 + 0x34c]
ja 0x1004a762
movss xmm0, dword [eax + ecx*8 + 0x348]
comiss xmm0, dword [eax + ecx*8 + 0x350]
ja 0x1004a762
movups xmm0, xmmword [eax + ecx*8 + 0x344]
movups xmmword [ebp - 0x30], xmm0
movss xmm1, dword [ebp - 0x28]
movss xmm4, dword [ebp - 0x30]
jmp 0x1004a777
xorps xmm1, xmm1
jmp 0x1004a70d
mov dword [ebp - 0x2c], 0
xorps xmm4, xmm4
mov dword [ebp - 0x24], 0
test eax, eax
je 0x1004a7af
movss xmm2, dword [eax + 0x18]
movss xmm0, dword [eax + 0x1c]
movaps xmm3, xmm2
addss xmm3, xmm1
movaps xmm1, xmm0
addss xmm1, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x2c]
addss xmm2, xmm4
movss dword [ebp - 0x28], xmm3
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x2c], xmm0
movss dword [ebp - 0x30], xmm2
jmp 0x1004a7b6
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
movss xmm1, dword [ebp - 0xc]
lea eax, [ebp - 0x30]
movups xmm0, xmmword [eax]
pop edi
movups xmmword [esi + 0x1d44], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x1d48]
addss xmm1, dword [esi + 0x1d50]
movss dword [esi + 0x1d48], xmm0
movss dword [esi + 0x1d50], xmm1
movss xmm0, dword [esi + 0x1d44]
addss xmm0, xmm5
mov dword [esi + 0x1d54], 0
minss xmm0, dword [esi + 0x1d4c]
movss dword [esi + 0x1d44], xmm0
movss dword [esi + 0x1d4c], xmm0
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret