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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x28
push esi
mov esi, dword [0x682080]
xorps xmm1, xmm1
push edi
mov byte [esi + 0x357], 0
mov dword [esi + 0x1df8], 0
mov dword [esi + 0x1dfc], 0
mov dl, byte [esi + 8]
and dl, 1
test byte [esi + 8], 2
mov byte [esp + 0xf], dl
je 0x411e0f
test byte [esi + 0xc], 1
je 0x411e0f
cmp dword [esi + 0x1d28], 3
lea ecx, [esi + 0x1d28]
mov byte [esp + 0xe], 1
je 0x411e1a
movss xmm0, dword [esi + 0x300]
comiss xmm0, xmm1
ja 0x411e03
movss xmm0, dword [esi + 0x308]
comiss xmm0, xmm1
ja 0x411e03
movss xmm0, dword [esi + 0x304]
comiss xmm0, xmm1
ja 0x411e03
movss xmm0, dword [esi + 0x30c]
comiss xmm0, xmm1
ja 0x411e03
movss xmm0, dword [esi + 0x310]
comiss xmm0, xmm1
ja 0x411e03
movss xmm0, dword [esi + 0x314]
comiss xmm0, xmm1
ja 0x411e03
movss xmm0, dword [esi + 0x318]
comiss xmm0, xmm1
ja 0x411e03
movss xmm0, dword [esi + 0x31c]
lea ecx, [esi + 0x1d28]
comiss xmm0, xmm1
jbe 0x411e1a
mov dword [esi + 0x1d28], 3
jmp 0x411e14
mov byte [esp + 0xe], 0
lea ecx, [esi + 0x1d28]
test dl, dl
je 0x411f71
mov edx, dword [esi + 0x64]
test edx, edx
js 0x411e49
mov eax, dword [0x682080]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x411e49
mov dword [esi + 0x300], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x68]
test edx, edx
js 0x411e70
mov eax, dword [0x682080]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x411e70
mov dword [esi + 0x308], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x6c]
test edx, edx
js 0x411e97
mov eax, dword [0x682080]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x411e97
mov dword [esi + 0x304], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x38]
test edx, edx
js 0x411ebe
mov eax, dword [0x682080]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x411ebe
mov dword [esi + 0x344], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x3c]
test edx, edx
js 0x411ee5
mov eax, dword [0x682080]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x411ee5
mov dword [esi + 0x348], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x40]
test edx, edx
js 0x411f0c
mov eax, dword [0x682080]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x411f0c
mov dword [esi + 0x34c], 0x3f800000
mov dword [ecx], 2
mov edx, dword [esi + 0x44]
test edx, edx
js 0x411f33
mov eax, dword [0x682080]
mov al, byte [edx + eax + 0x100]
test al, al
je 0x411f33
mov dword [esi + 0x350], 0x3f800000
mov dword [ecx], 2
mov al, byte [esi + 0xfc]
test al, al
je 0x411f47
mov dword [esi + 0x338], 0x3f800000
cmp byte [esi + 0xfd], 0
je 0x411f5a
mov dword [esi + 0x33c], 0x3f800000
cmp byte [esi + 0xfe], 0
je 0x411f71
test al, al
jne 0x411f71
mov dword [esi + 0x340], 0x3f800000
movups xmm0, xmmword [esi + 0x1458]
mov eax, dword [esi + 0x14a8]
lea ecx, [esi + 0x1458]
movss xmm2, dword [0x5cc05c]
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 0x411ff2
movss xmm0, dword [ecx]
comiss xmm1, xmm0
jbe 0x411feb
movaps xmm0, xmm1
jmp 0x411ff5
addss xmm0, dword [esi + 0x18]
jmp 0x411ff5
movaps xmm0, xmm2
movss dword [ecx], xmm0
add ecx, 4
sub eax, 1
jne 0x411fd0
cmp dword [esi + 0x1d50], eax
je 0x412072
mov edx, dword [0x682080]
mov edi, dword [edx + 0x1cf8]
test edi, edi
je 0x412072
mov ecx, dword [edx + 0x1d40]
mov eax, dword [edx + 0x1d50]
mov dword [edx + 0x1cfc], eax
mov dword [edx + 0x1d40], ecx
mov dword [edx + 0x1d00], 0
mov dword [edi + ecx*4 + 0x330], eax
add ecx, ecx
mov eax, dword [edx + 0x1cf8]
movups xmm0, xmmword [edx + 0x1d54]
movups xmmword [eax + ecx*8 + 0x338], xmm0
cmp byte [edx + 0x1d4e], 0
je 0x412072
mov word [edx + 0x1d49], 1
mov byte [edx + 0x1d4b], 1
cmp byte [esi + 0x1d64], 0
mov word [esi + 0x1d4d], 0
mov dword [esi + 0x1d50], 0
mov dword [esi + 0x1d18], 0
je 0x41209d
call fcn.00412fd0
cmp dword [esi + 0x1d6c], 2
jne 0x4120c9
cmp dword [esi + 0x1d84], 0
jne 0x4120bf
cmp dword [esi + 0x1dd4], 0
jne 0x4120bf
mov byte [esi + 0x1d4a], 0
mov dword [esi + 0x1d6c], 0
cmp byte [esi + 0x1d49], 0
je 0x412146
cmp byte [esi + 0x1d48], 0
je 0x412146
test byte [esi + 8], 4
je 0x41213f
test byte [esi + 0xc], 4
je 0x41213f
cmp byte [esi + 0x1d4a], 0
jne 0x41213f
cmp byte [esi + 0x1d4b], 0
je 0x41213f
cmp dword [esi + 0x1cf8], 0
je 0x41213f
lea eax, [esp + 0x20]
push eax
call fcn.00410f20
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 + 0x1d49], 0
mov ecx, dword [esi + 0x1cf8]
mov byte [esi + 0x1d48], 0
mov dword [esi + 0x1d14], 0
test ecx, ecx
je 0x41218a
mov eax, ecx
cmp dword [eax + 0x320], eax
je 0x412180
test dword [eax + 8], 0x14000000
jne 0x412180
mov eax, dword [eax + 0x31c]
test eax, eax
jne 0x412163
jmp 0x41218a
cmp eax, ecx
je 0x41218a
mov dword [eax + 0x32c], ecx
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x4121b0
cmp dword [eax + 0x32c], 0
je 0x4121b0
cmp dword [esi + 0x1d40], 0
jne 0x4121b0
mov dword [eax + 0x32c], 0
call fcn.00413590
cmp byte [esp + 0xf], 0
jne 0x4121c3
cmp byte [esp + 0xe], 0
je 0x412220
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x412220
test dword [eax + 8], 0x40000
jne 0x412220
mov byte [esi + 0x359], 1
cmp dword [esi + 0x1cfc], 0
je 0x412227
cmp byte [esi + 0x1d4a], 0
jne 0x412227
mov al, 1
mov byte [esi + 0x35a], al
xorps xmm1, xmm1
mov ecx, dword [0x682080]
movss xmm0, dword [ecx + 0x145c]
comiss xmm1, xmm0
ja 0x412234
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x412234
movss xmm0, dword [0x5cbff0]
jmp 0x412237
mov byte [esi + 0x359], 0
cmp dword [esi + 0x1e00], 0
jne 0x4121ef
xor al, al
jmp 0x4121f1
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x4123b6
cmp dword [esi + 0x1bc8], 0
je 0x412266
mov eax, dword [ecx + 0x1be0]
shr eax, 1
test al, 1
jne 0x4123b6
call fcn.0040bd10
xorps xmm1, xmm1
jmp 0x4123b6
mov edi, dword [esi + 0x1cf8]
test edi, edi
je 0x412338
cmp edi, dword [edi + 0x320]
je 0x412338
test dword [edi + 8], 0x4000000
jne 0x412338
mov eax, dword [edi + 0x31c]
mov dword [esp + 0x14], eax
test eax, eax
je 0x412338
movss xmm0, dword [edi + 0xc]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [edi + 0x18]
push eax
movss dword [esp + 0x24], xmm0
call fcn.0040dab0
movss xmm4, dword [esp + 0x14]
movss xmm5, dword [esp + 0x20]
movaps xmm3, xmm4
mov eax, dword [esp + 0x18]
movaps xmm2, xmm5
addss xmm2, dword [esp + 0x24]
addss xmm3, dword [esp + 0x1c]
subss xmm4, dword [eax + 0xc]
subss xmm5, dword [eax + 0x10]
subss xmm2, dword [eax + 0x10]
subss xmm3, dword [eax + 0xc]
lea eax, [esp + 0x24]
push eax
push 0
push 0
push dword [edi + 0x54]
movss dword [esp + 0x34], xmm4
movss dword [esp + 0x38], xmm5
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x40], xmm2
call fcn.00419070
add esp, 0x14
xorps xmm1, xmm1
jmp 0x4123b6
mov edx, dword [esi + 0x1cd4]
test edx, edx
jle 0x41236b
mov eax, dword [esi + 0x1cdc]
lea ecx, [edx + edx*8]
mov eax, dword [eax + ecx*4 - 0x20]
test dword [eax + 8], 0x8000000
jne 0x4123b6
lea eax, [edx - 1]
push 1
push eax
call fcn.0040bf20
add esp, 8
xorps xmm1, xmm1
jmp 0x4123b6
cmp dword [esi + 0x1d40], 0
je 0x412383
push 0
call fcn.004117c0
add esp, 4
xorps xmm1, xmm1
jmp 0x4123b6
test edi, edi
je 0x4123a2
mov eax, dword [edi + 8]
test eax, 0x4000000
jne 0x412398
test eax, 0x1000000
jne 0x4123a2
mov dword [edi + 0x330], 0
mov dword [esi + 0x1d00], 0
mov dword [esi + 0x1cfc], 0
mov ecx, dword [esi + 0x1cfc]
mov dword [esi + 0x1d10], 0
mov dword [esi + 0x1d0c], 0
mov dword [esi + 0x1d08], 0
mov dword [esi + 0x1d04], 0
test ecx, ecx
je 0x4124d7
cmp byte [esi + 0x1d4a], 0
jne 0x4124d7
cmp dword [esi + 0x1e00], 0
jne 0x4124d7
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x4124d7
test dword [eax + 8], 0x40000
jne 0x4124d7
mov eax, dword [0x682080]
movss xmm0, dword [eax + 0x300]
comiss xmm0, xmm1
seta dh
test dh, dh
je 0x412464
movss xmm0, dword [eax + 0x1458]
comiss xmm1, xmm0
ja 0x412458
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x412458
movss xmm0, dword [0x5cbff0]
jmp 0x41245b
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x412464
mov dl, 1
jmp 0x412466
xor dl, dl
mov eax, dword [esi + 0x1bc8]
test eax, eax
jne 0x41247c
test dl, dl
je 0x412480
mov dword [esi + 0x1d04], ecx
jmp 0x412480
cmp eax, ecx
jne 0x4124d7
test dh, dh
je 0x41248a
mov dword [esi + 0x1d08], ecx
test eax, eax
je 0x412492
cmp eax, ecx
jne 0x4124d7
test dl, dl
je 0x41249c
mov dword [esi + 0x1d0c], ecx
test eax, eax
je 0x4124a4
cmp eax, ecx
jne 0x4124d7
mov eax, dword [0x682080]
movss xmm0, dword [eax + 0x1460]
comiss xmm1, xmm0
ja 0x4124c9
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4124c9
movss xmm0, dword [0x5cbff0]
jmp 0x4124cc
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x4124d7
mov dword [esi + 0x1d10], ecx
mov ecx, dword [esi + 0x1cf8]
test ecx, ecx
je 0x4124f1
test dword [ecx + 8], 0x40000
je 0x4124f1
mov byte [esi + 0x1d4a], 1
mov eax, dword [esi + 0x1d24]
mov byte [esi + 0x1d64], 0
test eax, eax
je 0x41251a
mov dword [esi + 0x1d10], eax
mov dword [esi + 0x1d0c], eax
mov dword [esi + 0x1d08], eax
mov dword [esi + 0x1d04], eax
cmp dword [esi + 0x1d6c], 0
mov dword [esi + 0x1d24], 0
jne 0x41297c
mov dword [esi + 0x1d74], 0xffffffff
mov dword [esi + 0x1d68], 0
test ecx, ecx
je 0x41296e
cmp dword [esi + 0x1e00], 0
jne 0x41296e
test dword [ecx + 8], 0x40000
jne 0x41296e
mov edi, dword [0x682080]
movss xmm3, dword [0x5cbfe8]
movss xmm4, dword [0x5cbfdc]
test byte [edi + 0x1bdc], 1
jne 0x412686
movss xmm2, dword [edi + 0x1468]
lea eax, [edi + 0x90]
comiss xmm1, xmm2
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
jbe 0x4125ab
xorps xmm0, xmm0
jmp 0x41260a
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.0040b200
movss xmm3, dword [0x5cbfe8]
lea ecx, [edi + 0x8c]
movss xmm4, dword [0x5cbfdc]
lea edx, [edi + 0x18]
add esp, 0x10
xorps xmm1, xmm1
movd xmm0, eax
lea eax, [edi + 0x90]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x412666
movss xmm2, dword [edi + 0x149c]
comiss xmm1, xmm2
jbe 0x412621
xorps xmm0, xmm0
jmp 0x412661
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.0040b200
add esp, 0x10
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x412676
mov dword [esi + 0x1d74], 0
mov edi, dword [0x682080]
movss xmm4, dword [0x5cbfdc]
movss xmm3, dword [0x5cbfe8]
mov eax, dword [edi + 0x1bdc]
shr eax, 1
test al, 1
jne 0x41277a
movss xmm2, dword [edi + 0x146c]
lea eax, [edi + 0x90]
comiss xmm1, xmm2
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
jbe 0x4126b7
xorps xmm0, xmm0
jmp 0x412706
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.0040b200
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 0x41276a
movss xmm2, dword [edi + 0x14a0]
comiss xmm1, xmm2
jbe 0x41271d
xorps xmm0, xmm0
jmp 0x412765
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, dword [0x5cbfe8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, dword [0x5cbfdc]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.0040b200
add esp, 0x10
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x41277a
mov dword [esi + 0x1d74], 1
mov edi, dword [0x682080]
mov eax, dword [edi + 0x1bdc]
shr eax, 2
test al, 1
jne 0x412877
movss xmm2, dword [edi + 0x1470]
lea eax, [edi + 0x90]
comiss xmm1, xmm2
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
jbe 0x4127ac
xorps xmm0, xmm0
jmp 0x412803
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, dword [0x5cbfe8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, dword [0x5cbfdc]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.0040b200
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 0x412867
movss xmm2, dword [edi + 0x14a4]
comiss xmm1, xmm2
jbe 0x41281a
xorps xmm0, xmm0
jmp 0x412862
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, dword [0x5cbfe8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, dword [0x5cbfdc]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.0040b200
add esp, 0x10
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x412877
mov dword [esi + 0x1d74], 2
mov edi, dword [0x682080]
mov eax, dword [edi + 0x1bdc]
shr eax, 3
test al, 1
jne 0x41296e
movss xmm2, dword [edi + 0x1474]
lea eax, [edi + 0x90]
comiss xmm1, xmm2
lea ecx, [edi + 0x8c]
lea edx, [edi + 0x18]
jbe 0x4128a9
xorps xmm0, xmm0
jmp 0x412900
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, dword [0x5cbfe8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, dword [0x5cbfdc]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.0040b200
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 0x412964
movss xmm2, dword [edi + 0x14a8]
comiss xmm1, xmm2
jbe 0x412917
xorps xmm0, xmm0
jmp 0x41295f
movss xmm0, dword [eax]
sub esp, 0x10
mulss xmm0, dword [0x5cbfe8]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ecx]
mulss xmm0, dword [0x5cbfdc]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
subss xmm2, dword [edx]
movss dword [esp], xmm2
call fcn.0040b200
add esp, 0x10
xorps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x41296e
mov dword [esi + 0x1d74], 3
mov eax, dword [esi + 0x1d74]
mov dword [esi + 0x1d7c], eax
jmp 0x412986
mov dword [esi + 0x1d6c], 2
cmp byte [esp + 0xf], 0
xorps xmm0, xmm0
movss dword [esp + 0x14], xmm0
je 0x4129ae
call fcn.00413210
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
xorps xmm1, xmm1
movss dword [esp + 0x14], xmm0
mov ecx, dword [esi + 0x1d74]
cmp ecx, 0xffffffff
je 0x4129d2
mov byte [esi + 0x1d64], 1
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x1d70], eax
mov dword [esi + 0x1d78], ecx
cmp byte [esi + 0x1d64], 0
je 0x4129fe
cmp dword [esi + 0x1cfc], 0
jne 0x4129fe
mov word [esi + 0x1d4d], 0x101
mov dword [esi + 0x1d50], 0
mov byte [esi + 0x1d4a], 0
mov eax, dword [0x682080]
cmp byte [eax + 0x1d64], 0
jne 0x412a19
cmp byte [eax + 0x1d4d], 0
jne 0x412a19
xor cl, cl
jmp 0x412a1b
mov cl, 1
movss xmm2, dword [0x5cbfc4]
mov byte [eax + 0x1d4c], cl
mov edi, dword [esi + 0x1cf8]
test edi, edi
je 0x412bfb
test dword [edi + 8], 0x40000
jne 0x412bfb
cmp dword [esi + 0x1e00], 0
jne 0x412bfb
mov eax, dword [0x682080]
movss xmm0, dword [eax + 0x1934]
mov eax, dword [edi + 0x31c]
mulss xmm0, dword [edi + 0x280]
test eax, eax
je 0x412a78
mulss xmm0, dword [eax + 0x280]
cmp dword [edi + 0x144], 0
mulss xmm0, dword [0x5cc040]
mulss xmm0, dword [esi + 0x18]
addss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x10], xmm1
jne 0x412b52
cmp byte [edi + 0x151], 0
je 0x412b52
cmp byte [esi + 0x1d64], 0
je 0x412b52
mov eax, dword [esi + 0x1d74]
test eax, eax
je 0x412ada
cmp eax, 1
jne 0x412b09
movss xmm0, dword [0x5cbff0]
jmp 0x412ae2
movss xmm0, dword [0x5cc05c]
mulss xmm0, xmm1
mov dword [edi + 0x70], 0
mov dword [edi + 0x78], 0
addss xmm0, dword [edi + 0x58]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x68], xmm0
mov eax, dword [esi + 0x1d74]
cmp eax, 2
je 0x412b23
cmp eax, 3
jne 0x412b52
movss xmm0, dword [0x5cbff0]
jmp 0x412b2b
movss xmm0, dword [0x5cc05c]
mulss xmm0, xmm1
mov dword [edi + 0x74], 0
mov dword [edi + 0x7c], 0
addss xmm0, dword [edi + 0x5c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x6c], xmm0
sub esp, 8
lea eax, [esp + 0x28]
mov dword [esp + 4], 0x41200000
mov dword [esp], 0x3dcccccd
push 0
push 4
push eax
call fcn.0040e360
movss xmm0, dword [esp + 0x34]
add esp, 0x14
movss xmm2, dword [esp + 0x10]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x412bbd
cmp byte [edi + 0x88], 0
je 0x412bbd
mulss xmm0, xmm2
mov dword [edi + 0x70], 0
mov dword [edi + 0x78], 0
addss xmm0, dword [edi + 0x58]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x68], xmm0
movss xmm0, dword [esp + 0x24]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x412bf3
mulss xmm0, xmm2
mov dword [edi + 0x74], 0
mov dword [edi + 0x7c], 0
addss xmm0, dword [edi + 0x5c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x6c], xmm0
movss xmm2, dword [0x5cbfc4]
mov dword [esi + 0x1d80], 0
xorps xmm0, xmm0
mov dword [esi + 0x1d88], 0
mov dword [esi + 0x1d84], 0
mov dword [esi + 0x1d94], 0x7f7fffff
mov dword [esi + 0x1d90], 0x7f7fffff
mov dword [esi + 0x1d8c], 0x7f7fffff
movups xmmword [esi + 0x1d98], xmm0
mov dword [esi + 0x1da8], 0
mov dword [esi + 0x1db0], 0
mov dword [esi + 0x1dac], 0
mov dword [esi + 0x1dbc], 0x7f7fffff
mov dword [esi + 0x1db8], 0x7f7fffff
mov dword [esi + 0x1db4], 0x7f7fffff
movups xmmword [esi + 0x1dc0], xmm0
mov dword [esi + 0x1dd0], 0
mov dword [esi + 0x1dd8], 0
mov dword [esi + 0x1dd4], 0
mov dword [esi + 0x1de4], 0x7f7fffff
mov dword [esi + 0x1de0], 0x7f7fffff
mov dword [esi + 0x1ddc], 0x7f7fffff
movups xmmword [esi + 0x1de8], xmm0
cmp byte [esi + 0x1d64], 0
je 0x412e6b
cmp dword [esi + 0x1d28], 3
jne 0x412e6b
mov edx, dword [esi + 0x1d40]
movss xmm5, dword [0x5cbff0]
test edx, edx
jne 0x412e73
mov ecx, dword [esi + 0x1cf8]
movss xmm3, dword [ecx + 0x1f4]
subss xmm3, dword [ecx + 0xc]
movss xmm7, dword [ecx + 0x1fc]
movss xmm6, dword [ecx + 0x200]
movss xmm4, dword [ecx + 0x1f8]
subss xmm7, dword [ecx + 0xc]
subss xmm6, dword [ecx + 0x10]
subss xmm4, dword [ecx + 0x10]
movss xmm0, dword [ecx + 0x338]
subss xmm3, xmm5
addss xmm7, xmm5
addss xmm6, xmm5
subss xmm4, xmm5
comiss xmm0, xmm3
jb 0x412d71
movss xmm0, dword [ecx + 0x33c]
comiss xmm0, xmm4
jb 0x412d71
comiss xmm7, dword [ecx + 0x340]
jb 0x412d71
comiss xmm6, dword [ecx + 0x344]
jae 0x412ec6
mov eax, dword [0x682080]
movss xmm5, dword [eax + 0x1934]
mov eax, dword [ecx + 0x31c]
mulss xmm5, dword [ecx + 0x280]
test eax, eax
je 0x412d98
mulss xmm5, dword [eax + 0x280]
mulss xmm5, xmm2
movaps xmm1, xmm6
add edx, edx
subss xmm1, xmm4
movaps xmm2, xmm7
subss xmm2, xmm3
movss xmm0, dword [ecx + edx*8 + 0x33c]
minss xmm1, xmm5
minss xmm2, xmm5
xorps xmm1, xmmword [0x5cc0b0]
xorps xmm2, xmmword [0x5cc0b0]
subss xmm4, xmm1
subss xmm3, xmm2
addss xmm7, xmm2
addss xmm6, xmm1
comiss xmm4, xmm0
jbe 0x412de5
movaps xmm1, xmm4
jmp 0x412dec
movaps xmm1, xmm6
minss xmm1, xmm0
comiss xmm3, dword [ecx + 0x338]
jbe 0x412dfa
movaps xmm0, xmm3
jmp 0x412e06
movaps xmm0, xmm7
minss xmm0, dword [ecx + edx*8 + 0x338]
movss dword [ecx + edx*8 + 0x338], xmm0
movss dword [ecx + edx*8 + 0x33c], xmm1
movss xmm0, dword [ecx + edx*8 + 0x344]
comiss xmm4, xmm0
ja 0x412e2d
movaps xmm4, xmm6
minss xmm4, xmm0
movss xmm0, dword [ecx + edx*8 + 0x340]
comiss xmm3, xmm0
ja 0x412e42
movaps xmm3, xmm7
minss xmm3, xmm0
movss dword [ecx + edx*8 + 0x340], xmm3
xorps xmm1, xmm1
movss dword [ecx + edx*8 + 0x344], xmm4
mov dword [esi + 0x1d00], 0
mov dword [esi + 0x1cfc], 0
movss xmm5, dword [0x5cbff0]
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x412ecb
mov ecx, dword [esi + 0x1d40]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 + 0x338]
comiss xmm0, dword [eax + ecx*8 + 0x340]
ja 0x412ecb
movss xmm0, dword [eax + ecx*8 + 0x33c]
comiss xmm0, dword [eax + ecx*8 + 0x344]
ja 0x412ecb
movups xmm0, xmmword [eax + ecx*8 + 0x338]
movups xmmword [esp + 0x20], xmm0
movss xmm1, dword [esp + 0x28]
movss xmm4, dword [esp + 0x20]
jmp 0x412ee2
xorps xmm1, xmm1
jmp 0x412e73
mov dword [esp + 0x24], 0
xorps xmm4, xmm4
mov dword [esp + 0x2c], 0
test eax, eax
je 0x412f20
movss xmm2, dword [eax + 0xc]
movss xmm0, dword [eax + 0x10]
movaps xmm3, xmm2
addss xmm3, xmm1
movaps xmm1, xmm0
addss xmm1, dword [esp + 0x2c]
addss xmm0, dword [esp + 0x24]
addss xmm2, xmm4
movss dword [esp + 0x28], xmm3
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x20], xmm2
jmp 0x412f28
xorps xmm0, xmm0
movups xmmword [esp + 0x20], xmm0
movss xmm1, dword [esp + 0x14]
lea eax, [esp + 0x20]
movups xmm0, xmmword [eax]
pop edi
movups xmmword [esi + 0x1d2c], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x1d30]
addss xmm1, dword [esi + 0x1d38]
movss dword [esi + 0x1d30], xmm0
movss dword [esi + 0x1d38], xmm1
movss xmm0, dword [esi + 0x1d2c]
addss xmm0, xmm5
mov dword [esi + 0x1d3c], 0
minss xmm0, dword [esi + 0x1d34]
movss dword [esi + 0x1d2c], xmm0
movss dword [esi + 0x1d34], xmm0
pop esi
mov esp, ebp
pop ebp
ret