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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0xdc
mov eax, dword [0x21e9fa0]
push 0x4fa520
lea edx, [eax*8 + 0x5e4e230]
push edx
call fcn.004188d0
fstp qword [esp + 0x7c]
mov eax, dword [0x21e9fa0]
push 0x4fa528
fld qword [esp + 0x80]
fstp qword [0x21eae30]
lea edx, [eax*8 + 0x5e4e230]
push edx
call fcn.004188d0
fstp qword [esp + 0x8c]
add esp, 0x10
fld qword [esp + 0x7c]
mov ebx, dword [0x21e9fa0]
mov ebp, dword [esp + 0x114]
mov dword [esp + 0xc], 0x21eae38
mov edi, dword [esp + 0x118]
lea ecx, [ebx*8 + 0x5e4e230]
mov dword [esp + 0x10], 0x21eae40
mov edx, dword [esp + 0x11c]
mov dword [esp + 0x14], 0x21eae48
mov dword [esp + 0x18], 0x21eae50
mov dword [esp + 0x1c], 0x21eae58
mov dword [esp + 0x20], ebp
mov esi, dword [esp + 0xf0]
mov eax, esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edx
mov edx, 0x21eae60
fstp qword [0x21eae68]
mov dword [esp + 0x2c], 0xc
call fcn.0042e18c
mov ebp, dword [esp + 0x10c]
movsd xmm2, qword [0x21eae58]
mov ebx, dword [esp + 0xf8]
movsd xmm1, qword [ebp]
ucomisd xmm1, xmm2
jp 0x4313f5
je 0x432bc0
movsd xmm3, qword [esi]
movsd xmm0, qword [esp + 0x7c]
comisd xmm3, xmm0
jbe 0x43142c
comisd xmm1, xmm2
jbe 0x431686
mov edx, 0x6176
mov edi, 0x70
mov word [0x21eaf30], dx
mov byte [0x21eaf32], 0x70
jmp 0x43171c
movsd xmm0, qword [esp + 0x74]
comisd xmm3, xmm0
jb 0x4314a7
push 0x4fa528
push esi
call fcn.004163e0
push 0x4fa528
push 0x21eae70
fstp qword [0x21eae70]
call fcn.00418610
add esp, 0x10
fst qword [esp + 0xc0]
movsd xmm1, qword [ebp]
movsd xmm0, qword [esp + 0xc0]
fstp qword [0x21eae78]
comisd xmm1, xmm0
ja 0x43140f
comisd xmm1, xmmword [0x21eae58]
jb 0x431686
mov edx, 0x7032
mov edi, 0x68
mov word [0x21eaf30], dx
mov byte [0x21eaf32], 0x68
jmp 0x43171c
push 0x4fa528
push esi
call fcn.004163e0
push 0x4fa528
push 0x21eae70
fstp qword [0x21eae70]
call fcn.00418610
fstp qword [esp + 0x74]
push 0x4fa520
push esi
fld qword [esp + 0x7c]
fstp qword [0x21eae78]
call fcn.004163e0
push 0x4fa520
push 0x21eae80
fstp qword [0x21eae80]
call fcn.00418610
add esp, 0x20
mov edi, dword [0x21e9fa0]
mov eax, esi
mov dword [esp + 0xc], 0x21eae88
mov edx, dword [esp + 0x114]
movsd xmm0, qword [edi*8 + 0x5e4e230]
mov dword [esp + 0x10], 0x21eae90
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x14], 0x21eae98
mov dword [esp + 0x18], 0x21eaea0
mov dword [esp + 0x1c], 0x21eaea8
mov edi, dword [esp + 0x11c]
mov dword [esp + 0x20], edx
mov edx, 0x21eaeb0
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], 0xc
fst qword [0x21eaeb8]
fstp qword [ecx - 0x24]
addsd xmm0, qword [0x4fa938]
movsd qword [ecx], xmm0
call fcn.0042e18c
fld qword [esp + 0x6c]
movsd xmm0, qword [esp + 0x64]
movsd xmm1, qword [ebp]
comisd xmm1, xmm0
jbe 0x4315b4
fstp st(0)
mov edx, 0x6176
mov edi, 0x70
mov word [0x21eaf30], dx
mov byte [0x21eaf32], 0x70
jmp 0x43171c
movsd xmm0, qword [0x21eae38]
comisd xmm0, xmmword [0x21eae88]
jbe 0x4315f3
fstp qword [esp + 0xc0]
movsd xmm0, qword [esp + 0xc0]
comisd xmm1, xmm0
jae 0x43148a
comisd xmm1, xmmword [0x21eae58]
jae 0x4316fb
jmp 0x431686
fstp qword [esp + 0xc0]
movsd xmm0, qword [0x21eae58]
movsd xmm2, qword [esp + 0xc0]
comisd xmm2, xmm0
jbe 0x431627
comisd xmm1, xmm2
jae 0x43148a
comisd xmm1, xmm0
jae 0x4316fb
jmp 0x431686
comisd xmm1, xmm0
jb 0x4316a0
mov ecx, dword [esp + 0x110]
mov edi, 0x7032
movq xmm0, qword [0x4fa948]
movq xmm1, qword [0x4fa950]
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4fad54
movq qword [esp + 0x10], xmm0
mov word [0x21eaf30], di
mov edi, 0x68
mov byte [0x21eaf32], 0x68
movq qword [esp + 0x18], xmm1
call fcn.00449e00
test eax, eax
je 0x43171c
mov edx, 0x7573
mov edi, 0x70
mov word [0x21eaf30], dx
mov byte [0x21eaf32], 0x70
jmp 0x43171c
comisd xmm1, xmm2
jb 0x431715
mov ecx, dword [esp + 0x110]
mov edi, 0x7032
movq xmm0, qword [0x4fa948]
movq xmm1, qword [0x4fa950]
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4fad64
movq qword [esp + 0x10], xmm0
mov word [0x21eaf30], di
mov edi, 0x68
mov byte [0x21eaf32], 0x68
movq qword [esp + 0x18], xmm1
call fcn.00449e00
test eax, eax
je 0x43171c
mov edx, 0x696c
mov edi, 0x71
mov word [0x21eaf30], dx
mov byte [0x21eaf32], 0x71
jmp 0x43171c
movzx edi, byte [0x21eaf32]
movzx ecx, byte [0x21eaf30]
movzx edx, byte [0x21eaf31]
shl ecx, 0x10
shl edx, 8
or ecx, edx
or ecx, edi
cmp ecx, 0x766170
jne 0x431c62
movsd xmm0, qword [esp + 0x7c]
comisd xmm0, xmmword [esi]
jae 0x431799
mov edx, dword [0x21e9fa0]
movsd xmm1, qword [0x21eae40]
movsd xmm2, qword [0x21eae58]
movsd qword [0x21eaec0], xmm1
lea ecx, [edx*8]
movsd xmm0, qword [ecx + 0x5e4e230]
movsd qword [0x21eaec8], xmm0
movsd qword [0x21eae70], xmm0
movsd qword [esp + 0x64], xmm2
movsd qword [0x21eae78], xmm2
jmp 0x4317f1
push 0x4fa528
push esi
call fcn.004163e0
push 0x4fa528
movsd xmm0, qword [0x4fa968]
push 0x21eaec8
fst qword [0x21eaec8]
fstp qword [0x21eae70]
movsd qword [0x21eaec0], xmm0
call fcn.00418610
fstp qword [esp + 0x74]
add esp, 0x10
mov edx, dword [0x21e9fa0]
movsd xmm0, qword [esp + 0x64]
movsd qword [0x21eae78], xmm0
lea ecx, [edx*8]
push 0x21eaec8
movsd xmm1, qword [edx*8 + 0x5e4e158]
lea edx, [ecx + 0x5e4e158]
push edx
movsd xmm0, qword [0x4fa940]
push 0x21eaed0
movsd qword [0x21eaed8], xmm0
movsd qword [0x21eaed0], xmm1
call fcn.004489e0
add esp, 0xc
mov dword [esp + 0xc], 0x21eae88
mov eax, esi
mov edi, dword [esp + 0x114]
mov edx, dword [esp + 0x118]
mov dword [esp + 0x10], 0x21eae90
mov dword [esp + 0x14], 0x21eae98
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x18], 0x21eaea0
mov dword [esp + 0x1c], 0x21eaea8
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edx
mov edx, 0x21eaeb0
mov dword [esp + 0x28], ecx
mov ecx, 0x21eaed0
fstp qword [0x21eaed0]
mov dword [esp + 0x2c], 0xc
call fcn.0042e18c
push 0x21eaec8
push 0x21eaed8
push ebx
movsd xmm3, qword [0x21eae70]
movsd xmm4, qword [0x21eaed0]
movsd xmm0, qword [0x21eaea8]
subsd xmm4, xmm3
movsd xmm1, qword [esp + 0x70]
movsd xmm2, qword [ebp]
subsd xmm0, xmm1
subsd xmm2, xmm1
divsd xmm4, xmm0
mulsd xmm4, xmm2
addsd xmm4, xmm3
movsd qword [ebx], xmm4
call fcn.004489e0
push 0x21eaee0
push 0x21eaee8
mov edx, dword [esp + 0x114]
push edx
movsd xmm3, qword [0x21eaec0]
movsd xmm4, qword [0x21eae90]
movsd xmm0, qword [0x21eaea8]
subsd xmm4, xmm3
movsd xmm1, qword [esp + 0x7c]
movsd xmm2, qword [ebp]
subsd xmm0, xmm1
subsd xmm2, xmm1
divsd xmm4, xmm0
mulsd xmm4, xmm2
movsd xmm5, qword [0x4fa938]
addsd xmm4, xmm3
movsd xmm6, qword [0x4fa968]
fstp qword [ebx]
movsd qword [edx], xmm4
movsd qword [0x21eaee0], xmm5
movsd qword [0x21eaee8], xmm6
call fcn.004489e0
add esp, 0x18
mov edx, dword [esp + 0x100]
mov edi, dword [esp + 0x100]
mov esi, dword [esp + 0x118]
pxor xmm0, xmm0
mov ebp, dword [esp + 0x114]
fstp qword [edx]
push edi
push ebx
call fcn.004188d0
add esp, 8
mov edx, dword [esp + 0xf0]
mov ecx, 0x4fa530
mov dword [esp], edi
mov dword [esp + 4], edx
lea edx, [esp + 0xd8]
mov dword [esp + 8], 0x21eaef0
mov dword [esp + 0xc], 0x4fa538
mov dword [esp + 0x10], ecx
mov eax, dword [esi]
mov dword [esp + 0x14], 0x21eaee0
dec eax
mov dword [esp + 0x18], 0x21eaee8
mov dword [edx], eax
mov eax, 0x4fa548
mov dword [esp + 0x1c], 0x4fa54c
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x52517c
mov dword [esp + 0x38], 0x21eaef8
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0x4fad74
mov dword [esp + 0x44], 0x4fad7c
mov dword [esp + 0x48], 0x4fad8c
mov dword [esp + 0x4c], 0x21eac40
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21eaef0]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x43197f
movsd xmm2, qword [edi]
movaps xmm1, xmm2
movsd xmm0, qword [0x21eaee8]
subsd xmm1, qword [0x4fa940]
comisd xmm0, xmm1
jbe 0x432aa4
push 0x21eaf00
push ebx
addsd xmm2, qword [0x4fa940]
movsd qword [0x21eaf00], xmm2
call fcn.004188d0
fstp qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xc8]
add esp, 8
subsd xmm1, qword [0x21eaef0]
divsd xmm1, qword [0x4fa940]
movsd qword [0x21eaf08], xmm1
pxor xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x431ad0
je 0x431b00
movsd xmm0, qword [0x21eaef8]
lea eax, [esp + 0xb8]
divsd xmm0, xmm1
addsd xmm0, qword [edi]
movsd qword [eax], xmm0
push 0x21eaee0
push 0x21eaee8
push eax
call fcn.004489e0
add esp, 0xc
fstp qword [edi]
push edi
push ebx
call fcn.00418610
add esp, 8
mov edx, dword [esp + 0x10c]
mov ecx, 0x4fa530
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [esp + 0xd4]
mov dword [esp + 8], 0x21eaf10
mov dword [esp + 0xc], 0x4fa540
mov dword [esp + 0x10], ecx
mov eax, dword [esi]
mov dword [esp + 0x14], 0x21eaec8
dec eax
mov dword [esp + 0x18], 0x21eaed8
mov dword [edx], eax
mov eax, 0x4fa548
mov dword [esp + 0x1c], 0x4fa54c
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x525180
mov dword [esp + 0x38], 0x21eaef8
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0x4fad94
mov dword [esp + 0x44], 0x4fad9c
mov dword [esp + 0x48], 0x4fadac
mov dword [esp + 0x4c], 0x21ead40
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21eaf10]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x43197f
movq xmm0, qword [0x4fa958]
movq xmm1, qword [0x4fa960]
mov dword [esp], 0x21ead40
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4fadb4
movq qword [esp + 0x10], xmm1
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0xf0]
movq qword [esp + 0x18], xmm1
call fcn.00449e00
test eax, eax
je 0x432a39
movsd xmm1, qword [ebx]
movsd xmm0, qword [0x21eaed8]
comisd xmm0, xmm1
ja 0x431c4a
comisd xmm1, xmmword [0x21eaec8]
jbe 0x432a2c
mov eax, dword [esp + 0x11c]
mov dword [eax], 1
add esp, 0xdc
pop ebp
pop ebx
pop edi
pop esi
ret
cmp ecx, 0x327068
jne 0x432099
movsd xmm0, qword [esi]
movsd xmm1, qword [esp + 0x74]
comisd xmm0, xmm1
jbe 0x431c97
mov edx, dword [0x21e9fa0]
movsd xmm0, qword [edx*8 + 0x5e4e230]
movsd qword [0x21eaec8], xmm0
jmp 0x431cab
push 0x4fa520
push esi
call fcn.004163e0
add esp, 8
fstp qword [0x21eaec8]
push 0x4fa528
push esi
call fcn.004163e0
push 0x4fa520
movsd xmm0, qword [0x4fa968]
push 0x21eaec8
pxor xmm1, xmm1
fstp qword [0x21eaed8]
movsd qword [0x21eaee0], xmm0
movsd qword [0x21eaee8], xmm1
call fcn.004191d0
fstp qword [esp + 0x74]
movsd xmm0, qword [esp + 0x74]
push 0x4fa528
push 0x21eaed8
movsd qword [0x21eaf18], xmm0
call fcn.00419320
fstp qword [esp + 0xd8]
movsd xmm1, qword [esp + 0xd8]
movsd xmm2, qword [ebp]
lea edx, [esp + 0xb0]
movsd xmm0, qword [edx - 0x34]
subsd xmm2, xmm0
subsd xmm1, xmm0
divsd xmm2, xmm1
movsd qword [edx], xmm2
push 0x21eaee0
push 0x21eaee8
push edx
call fcn.004489e0
fstp qword [esp + 0xe4]
movsd xmm1, qword [esp + 0xe4]
movsd xmm0, qword [0x4fa968]
lea ecx, [esp + 0xc4]
movsd xmm2, qword [0x21eaed8]
subsd xmm0, xmm1
mulsd xmm2, xmm1
mulsd xmm0, qword [0x21eaec8]
mov edx, dword [esp + 0x124]
addsd xmm2, xmm0
movsd qword [ecx], xmm2
push 0x21eaec8
push 0x21eaed8
push ecx
movsd qword [edx], xmm1
call fcn.004489e0
add esp, 0x30
fstp qword [ebx]
movsd xmm0, qword [0x4fa940]
mov edi, dword [esp + 0x100]
mov esi, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
push edi
push ebx
call fcn.00418610
add esp, 8
mov edx, dword [esp + 0x10c]
mov ecx, 0x4fa530
mov dword [esp], edi
mov dword [esp + 4], edx
lea edx, [esp + 0xd0]
mov dword [esp + 8], 0x21eaf10
mov dword [esp + 0xc], 0x4fa538
mov dword [esp + 0x10], ecx
mov eax, dword [esi]
mov dword [esp + 0x14], 0x21eaee0
dec eax
mov dword [esp + 0x18], 0x21eaee8
mov dword [edx], eax
mov eax, 0x4fa548
mov dword [esp + 0x1c], 0x4fa54c
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x52517c
mov dword [esp + 0x38], 0x21eaef8
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0x4fadb8
mov dword [esp + 0x44], 0x4fadc0
mov dword [esp + 0x48], 0x4fadd0
mov dword [esp + 0x4c], 0x21eac40
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21eaf10]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x431dc5
movsd xmm2, qword [edi]
movaps xmm1, xmm2
movsd xmm0, qword [0x21eaee8]
subsd xmm1, qword [0x4fa940]
comisd xmm0, xmm1
jbe 0x432aeb
push 0x21eaf00
push ebx
addsd xmm2, qword [0x4fa940]
movsd qword [0x21eaf00], xmm2
call fcn.00418610
fstp qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xc8]
add esp, 8
subsd xmm1, qword [0x21eaf10]
divsd xmm1, qword [0x4fa940]
movsd qword [0x21eaf08], xmm1
pxor xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x431f16
je 0x431f46
movsd xmm0, qword [0x21eaef8]
lea eax, [esp + 0xa8]
divsd xmm0, xmm1
addsd xmm0, qword [edi]
movsd qword [eax], xmm0
push 0x21eaee0
push 0x21eaee8
push eax
call fcn.004489e0
add esp, 0xc
fstp qword [edi]
push edi
push ebx
call fcn.004188d0
add esp, 8
mov edx, dword [esp + 0xf0]
mov ecx, 0x4fa530
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [esp + 0xcc]
mov dword [esp + 8], 0x21eaef0
mov dword [esp + 0xc], 0x4fa540
mov dword [esp + 0x10], ecx
mov eax, dword [esi]
mov dword [esp + 0x14], 0x21eaec8
dec eax
mov dword [esp + 0x18], 0x21eaed8
mov dword [edx], eax
mov eax, 0x4fa548
mov dword [esp + 0x1c], 0x4fa54c
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x525180
mov dword [esp + 0x38], 0x21eaef8
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0x4fadd8
mov dword [esp + 0x44], 0x4fade0
mov dword [esp + 0x48], 0x4fadf0
mov dword [esp + 0x4c], 0x21ead40
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21eaef0]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x431dc5
movq xmm0, qword [0x4fa958]
movq xmm1, qword [0x4fa960]
mov dword [esp], 0x21ead40
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4fadf8
movq qword [esp + 0x10], xmm1
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0xf0]
movq qword [esp + 0x18], xmm1
call fcn.00449e00
test eax, eax
je 0x432a39
movsd xmm1, qword [ebx]
movsd xmm0, qword [0x21eaed8]
comisd xmm0, xmm1
ja 0x431c4a
comisd xmm1, xmmword [0x21eaec8]
ja 0x431c4a
jmp 0x432a2c
cmp ecx, 0x6c6971
jne 0x432574
push 0x4fa520
push esi
mov ecx, dword [0x21e9fa0]
mov edx, dword [esp + 0x124]
movsd xmm0, qword [ecx*8 + 0x5e4e230]
mov dword [edx], 0xa
movsd qword [0x21eaec8], xmm0
call fcn.004163e0
push 0x4fa520
push 0x21eae80
fstp qword [0x21eae80]
call fcn.00418610
fstp qword [esp + 0xd0]
movsd xmm1, qword [esp + 0xd0]
mov edx, dword [0x21e9fa0]
movsd xmm3, qword [0x21eae80]
movsd xmm0, qword [0x21eae58]
movsd xmm4, qword [edx*8 + 0x5e4e230]
subsd xmm0, xmm1
subsd xmm4, xmm3
divsd xmm4, xmm0
movsd xmm2, qword [ebp]
push 0x21eaec8
push 0x21eaed8
movsd xmm5, qword [edx*8 + 0x5e4e1a0]
subsd xmm2, xmm1
mulsd xmm4, xmm2
movsd qword [0x21eaeb8], xmm1
addsd xmm4, xmm3
push ebx
pxor xmm1, xmm1
movsd qword [0x21eaed8], xmm3
movsd qword [ebx], xmm4
movsd qword [0x21eaee0], xmm1
movsd qword [0x21eaee8], xmm5
call fcn.004489e0
push 0x21eaec0
movsd xmm0, qword [0x4fa9d0]
push ebx
fstp qword [ebx]
movsd qword [0x21eaec0], xmm0
call fcn.00418610
fstp qword [esp + 0x88]
push 0x21eae90
push ebx
movsd xmm0, qword [esp + 0x90]
movsd xmm1, qword [0x4fa9d8]
movsd qword [0x21eae78], xmm0
movsd qword [0x21eae90], xmm1
call fcn.00418610
fstp qword [esp + 0xec]
movsd xmm1, qword [esp + 0xec]
movsd xmm3, qword [0x21eae90]
lea edx, [esp + 0xa8]
movsd xmm4, qword [0x21eaec0]
movsd xmm0, qword [edx - 0x18]
subsd xmm4, xmm3
subsd xmm0, xmm1
divsd xmm4, xmm0
movsd xmm2, qword [ebp]
movsd qword [0x21eaea8], xmm1
subsd xmm2, xmm1
mulsd xmm4, xmm2
addsd xmm4, xmm3
movsd qword [edx], xmm4
push 0x21eaee0
push 0x21eaee8
push edx
call fcn.004489e0
add esp, 0x38
mov ecx, dword [0x21e9fa0]
movsd xmm2, qword [0x4fa968]
movsd xmm1, qword [0x4fa930]
movsd xmm3, qword [ecx*8 + 0x5e4e188]
movsd xmm0, qword [ecx*8 + 0x5e4e1d0]
mulsd xmm0, xmm1
addsd xmm3, xmm2
mulsd xmm3, xmm1
mov edx, dword [esp + 0x100]
subsd xmm3, xmm2
movsd qword [0x21eaf20], xmm0
fstp qword [edx]
movsd qword [0x21eaf28], xmm3
movsd xmm0, qword [0x4fa940]
mov edi, dword [esp + 0x100]
mov esi, dword [esp + 0x118]
mov ebp, dword [esp + 0x114]
push edi
push ebx
call fcn.004188d0
add esp, 8
mov edx, dword [esp + 0xf0]
mov ecx, 0x4fa530
mov dword [esp], edi
mov dword [esp + 4], edx
lea edx, [esp + 0xc8]
mov dword [esp + 8], 0x21eaef0
mov dword [esp + 0xc], 0x21eaf20
mov dword [esp + 0x10], ecx
mov eax, dword [esi]
mov dword [esp + 0x14], 0x21eaee0
dec eax
mov dword [esp + 0x18], 0x21eaee8
mov dword [edx], eax
mov eax, 0x4fa548
mov dword [esp + 0x1c], 0x4fa54c
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x52517c
mov dword [esp + 0x38], 0x21eaef8
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0x4fadfc
mov dword [esp + 0x44], 0x4fae04
mov dword [esp + 0x48], 0x4fae14
mov dword [esp + 0x4c], 0x21eac40
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21eaef0]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x43229c
movsd xmm2, qword [edi]
movaps xmm1, xmm2
movsd xmm0, qword [0x21eaee8]
subsd xmm1, qword [0x4fa940]
comisd xmm0, xmm1
jbe 0x432b32
push 0x21eaf00
push ebx
addsd xmm2, qword [0x4fa940]
movsd qword [0x21eaf00], xmm2
call fcn.004188d0
fstp qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xc8]
add esp, 8
subsd xmm1, qword [0x21eaef0]
divsd xmm1, qword [0x4fa940]
movsd qword [0x21eaf08], xmm1
pxor xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x4323ed
je 0x43241d
movsd xmm0, qword [0x21eaef8]
lea eax, [esp + 0x84]
divsd xmm0, xmm1
addsd xmm0, qword [edi]
movsd qword [eax], xmm0
push 0x21eaee0
push 0x21eaee8
push eax
call fcn.004489e0
add esp, 0xc
fstp qword [edi]
push edi
push ebx
call fcn.00418610
add esp, 8
mov edx, dword [esp + 0x10c]
mov ecx, 0x4fa530
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [esp + 0xb4]
mov dword [esp + 8], 0x21eaf10
mov dword [esp + 0xc], 0x21eaf28
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x21eaec8
mov eax, dword [esi]
mov dword [esp + 0x18], 0x21eaed8
dec eax
mov dword [esp + 0x1c], 0x4fa550
mov dword [edx], eax
mov eax, 0x4fa548
mov dword [esp + 0x20], 0x4fa554
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x525180
mov dword [esp + 0x38], 0x21eaef8
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0x4fae1c
mov dword [esp + 0x44], 0x4fae24
mov dword [esp + 0x48], 0x4fae34
mov dword [esp + 0x4c], 0x21ead40
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21eaf10]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x43229c
movq xmm0, qword [0x4fa958]
movq xmm1, qword [0x4fa960]
mov dword [esp], 0x21ead40
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4fae3c
movq qword [esp + 0x10], xmm1
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0xf0]
movq qword [esp + 0x18], xmm1
call fcn.00449e00
test eax, eax
je 0x432a39
movsd xmm1, qword [ebx]
movsd xmm0, qword [0x21eaed8]
comisd xmm0, xmm1
ja 0x431c4a
comisd xmm1, xmmword [0x21eaec8]
ja 0x431c4a
jmp 0x432a2c
cmp ecx, 0x737570
jne 0x432a39
mov edx, dword [0x21e9fa0]
movsd xmm2, qword [0x4fa9a0]
movsd xmm0, qword [0x4fa938]
mulsd xmm2, qword [edx*8 + 0x5e4e170]
movsd xmm3, qword [edx*8 + 0x5e4e230]
movsd xmm4, qword [edx*8 + 0x5e4e188]
movsd xmm1, qword [0x4fa9b8]
movsd qword [esp + 0x6c], xmm3
movsd qword [esp + 0x64], xmm2
movsd qword [esp], xmm4
movsd qword [0x21eaee0], xmm0
movsd qword [0x21eaee8], xmm1
movsd qword [0x21eaed8], xmm3
movsd qword [0x21eaec8], xmm2
movsd qword [0x21eae70], xmm3
mov dword [esp + 8], 5
call fcn.004c1220
fstp qword [esp + 0xc0]
mov eax, esi
movsd xmm0, qword [esp + 0xc0]
movsd xmm1, qword [esp + 0x6c]
mulsd xmm1, xmm0
mov edi, dword [esp + 0x114]
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
minsd xmm1, qword [esp + 0x64]
mov dword [esp + 0xc], 0x21eae88
mov dword [esp + 0x10], 0x21eae90
mov dword [esp + 0x14], 0x21eae98
mov dword [esp + 0x18], 0x21eaea0
mov dword [esp + 0x1c], 0x21eaea8
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov ecx, 0x21eaed0
mov edx, dword [esp + 0xf4]
movsd qword [0x21eaed0], xmm1
mov dword [esp + 0x2c], 0xc
call fcn.0042e18c
movsd xmm1, qword [0x21eae58]
lea edx, [esp + 0x64]
movsd xmm3, qword [0x21eae70]
movsd xmm4, qword [0x21eaed0]
movsd xmm0, qword [0x21eaea8]
subsd xmm4, xmm3
subsd xmm0, xmm1
divsd xmm4, xmm0
movsd xmm2, qword [ebp]
subsd xmm2, xmm1
mulsd xmm4, xmm2
addsd xmm4, xmm3
movsd qword [edx], xmm4
push 0x21eaec8
push 0x21eaed8
push edx
call fcn.004489e0
movsd xmm1, qword [0x21eae58]
lea edx, [esp + 0x78]
movsd xmm3, qword [0x21eae40]
movsd xmm4, qword [0x21eae90]
movsd xmm0, qword [0x21eaea8]
subsd xmm4, xmm3
subsd xmm0, xmm1
divsd xmm4, xmm0
movsd xmm2, qword [ebp]
fstp qword [ebx]
subsd xmm2, xmm1
mulsd xmm4, xmm2
addsd xmm4, xmm3
movsd qword [edx], xmm4
push 0x21eaee0
push 0x21eaee8
push edx
call fcn.004489e0
add esp, 0x18
mov edx, dword [esp + 0x100]
mov edi, dword [esp + 0x100]
mov esi, dword [esp + 0x118]
pxor xmm0, xmm0
mov ebp, dword [esp + 0x114]
fstp qword [edx]
movsd xmm1, qword [0x4fa940]
push edi
push ebx
call fcn.00418610
add esp, 8
mov edx, dword [esp + 0x10c]
mov ecx, 0x4fa530
mov dword [esp], edi
mov dword [esp + 4], edx
lea edx, [esp + 0xb0]
mov dword [esp + 8], 0x21eaf10
mov dword [esp + 0xc], 0x4fa538
mov dword [esp + 0x10], ecx
mov eax, dword [esi]
mov dword [esp + 0x14], 0x21eaee0
dec eax
mov dword [esp + 0x18], 0x21eaee8
mov dword [edx], eax
mov eax, 0x4fa548
mov dword [esp + 0x1c], 0x4fa54c
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x52517c
mov dword [esp + 0x38], 0x21eaef8
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0x4fae40
mov dword [esp + 0x44], 0x4fae48
mov dword [esp + 0x48], 0x4fae58
mov dword [esp + 0x4c], 0x21eac40
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21eaf10]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x432764
movsd xmm2, qword [edi]
movaps xmm1, xmm2
movsd xmm0, qword [0x21eaee8]
subsd xmm1, qword [0x4fa940]
comisd xmm0, xmm1
jbe 0x432b79
push 0x21eaf00
push ebx
addsd xmm2, qword [0x4fa940]
movsd qword [0x21eaf00], xmm2
call fcn.00418610
fstp qword [esp + 0xc8]
movsd xmm1, qword [esp + 0xc8]
add esp, 8
subsd xmm1, qword [0x21eaf10]
divsd xmm1, qword [0x4fa940]
movsd qword [0x21eaf08], xmm1
pxor xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x4328b5
je 0x4328e2
movsd xmm0, qword [0x21eaef8]
lea eax, [esp + 0x74]
divsd xmm0, xmm1
addsd xmm0, qword [edi]
movsd qword [eax], xmm0
push 0x21eaee0
push 0x21eaee8
push eax
call fcn.004489e0
add esp, 0xc
fstp qword [edi]
push edi
push ebx
call fcn.004188d0
add esp, 8
mov edx, dword [esp + 0xf0]
mov ecx, 0x4fa530
mov dword [esp], ebx
mov dword [esp + 4], edx
lea edx, [esp + 0x8c]
mov dword [esp + 8], 0x21eaef0
mov dword [esp + 0xc], 0x4fa540
mov dword [esp + 0x10], ecx
mov eax, dword [esi]
mov dword [esp + 0x14], 0x21eaec8
dec eax
mov dword [esp + 0x18], 0x21eaed8
mov dword [edx], eax
mov eax, 0x4fa548
mov dword [esp + 0x1c], 0x4fa54c
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], 0x525180
mov dword [esp + 0x38], 0x21eaef8
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], 0x4fae60
mov dword [esp + 0x44], str.state_idx18
mov dword [esp + 0x48], 0x4fae78
mov dword [esp + 0x4c], 0x21ead40
mov dword [esp + 0x50], 0xc
mov dword [esp + 0x54], 6
mov dword [esp + 0x58], 0xc
mov dword [esp + 0x5c], 6
fstp qword [0x21eaef0]
mov dword [esp + 0x60], 0x50
call fcn.004415b0
cmp eax, 1
je 0x432764
movq xmm0, qword [0x4fa958]
movq xmm1, qword [0x4fa960]
mov dword [esp], 0x21ead40
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x4fae80
movq qword [esp + 0x10], xmm1
mov ebp, dword [esp + 0x10c]
mov esi, dword [esp + 0xf0]
movq qword [esp + 0x18], xmm1
call fcn.00449e00
test eax, eax
je 0x432a39
movsd xmm1, qword [ebx]
movsd xmm0, qword [0x21eaed8]
comisd xmm0, xmm1
ja 0x431c4a
comisd xmm1, xmmword [0x21eaec8]
ja 0x431c4a
mov edx, dword [esp + 0x11c]
mov dword [edx], 2
mov edx, 0x4fa558
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0xfc]
mov ecx, dword [esp + 0x104]
mov eax, dword [esp + 0x108]
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ecx
mov ecx, edx
mov dword [esp + 0x30], eax
mov eax, 0x4fa548
mov dword [esp + 0x34], ebp
call fcn.0042deec
add esp, 0xdc
pop ebp
pop ebx
pop edi
pop esi
ret
push 0x21eaf00
push ebx
movsd qword [0x21eaf00], xmm1
call fcn.004188d0
fstp qword [esp + 0xc8]
movsd xmm0, qword [esp + 0xc8]
add esp, 8
movsd xmm1, qword [0x21eaef0]
subsd xmm1, xmm0
divsd xmm1, qword [0x4fa940]
movsd qword [0x21eaf08], xmm1
jmp 0x431ac4
push 0x21eaf00
push ebx
movsd qword [0x21eaf00], xmm1
call fcn.00418610
fstp qword [esp + 0xc8]
movsd xmm0, qword [esp + 0xc8]
add esp, 8
movsd xmm1, qword [0x21eaf10]
subsd xmm1, xmm0
divsd xmm1, qword [0x4fa940]
movsd qword [0x21eaf08], xmm1
jmp 0x431f0a
push 0x21eaf00
push ebx
movsd qword [0x21eaf00], xmm1
call fcn.004188d0
fstp qword [esp + 0xc8]
movsd xmm0, qword [esp + 0xc8]
add esp, 8
movsd xmm1, qword [0x21eaef0]
subsd xmm1, xmm0
divsd xmm1, qword [0x4fa940]
movsd qword [0x21eaf08], xmm1
jmp 0x4323e1
push 0x21eaf00
push ebx
movsd qword [0x21eaf00], xmm1
call fcn.00418610
fstp qword [esp + 0xc8]
movsd xmm0, qword [esp + 0xc8]
add esp, 8
movsd xmm1, qword [0x21eaf10]
subsd xmm1, xmm0
divsd xmm1, qword [0x4fa940]
movsd qword [0x21eaf08], xmm1
jmp 0x4328a9
mov edx, dword [0x21e9fa0]
mov ecx, dword [esp + 0x100]
movsd xmm1, qword [0x21eae40]
movsd xmm0, qword [edx*8 + 0x5e4e230]
movsd qword [ebx], xmm0
movsd qword [ecx], xmm1
jmp 0x432a39