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

Disassembly:
mov ecx, dword [0x53ad04]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4224e6
sub esp, 0x7c
mov eax, dword [esp + 0x80]
test byte [eax], al
lea ecx, [eax + 0xa8]
mov dword [esp + 0x78], ecx
lea edx, [eax + 0xb0]
mov dword [esp + 0x74], edx
lea ebx, [eax + 0xb8]
mov dword [esp + 0x70], ebx
lea ebp, [eax + 0xc0]
mov dword [esp + 0x6c], ebp
lea esi, [eax + 0xc8]
mov dword [esp + 0x68], esi
lea edi, [eax + 0xd0]
mov dword [esp + 0x64], edi
lea edi, [eax + 0xd8]
mov dword [esp + 0x60], edi
lea edi, [eax + 0x68]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x8c]
cvtsi2sd xmm0, edi
movsd qword [esp + 0x54], xmm0
movsd xmm1, qword [0x4b90c4]
mulsd xmm1, xmm0
movsd qword [esp + 0x3c], xmm1
movsd xmm2, qword [0x4b90d4]
addsd xmm2, xmm1
movsd qword [esp + 0x4c], xmm2
lea edi, [eax + 0xa0]
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00403250
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00403250
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00403250
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00403250
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00403250
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00403250
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00403250
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.00403250
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x80]
mov dword [ecx + 0xe4], eax
mov eax, dword [esp + 0x84]
mov dword [ecx + 0xe0], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.004034e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x80]
mov dword [edx + 0x5c], eax
mov dword [edx + 0x58], ecx
movsd xmm0, qword [esp + 0x4c]
movsd qword [esp], xmm0
call fcn.004609b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x1c], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00460a50
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x3c]
divsd xmm0, xmm1
movsd xmm2, qword [0x4b908c]
subsd xmm0, xmm2
movsd xmm2, qword [str.333333]
ucomisd xmm2, xmm0
ja 0x422181
movsd xmm2, qword [0x4b90cc]
ucomisd xmm0, xmm2
ja 0x422181
xorps xmm0, xmm0
mov edx, dword [esp + 0x80]
movsd qword [edx + 0x108], xmm0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
jmp 0x422209
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp], ecx
call fcn.00460a50
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x3c]
ucomisd xmm0, xmm1
jbe 0x4221b7
mov ecx, dword [esp + 0x18]
add ecx, 0xffffffff
mov eax, dword [esp + 0x1c]
adc eax, 0xffffffff
jmp 0x4221bf
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00460a50
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x3c]
subsd xmm1, xmm0
movsd xmm0, qword [esp + 0x54]
divsd xmm1, xmm0
mov eax, dword [esp + 0x80]
movsd qword [eax + 0x108], xmm1
mov edx, eax
xorps xmm0, xmm0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov ebx, dword [0x53b03c]
test ebx, ebx
jle 0x42222b
movsd qword [edx + 0x108], xmm0
mov eax, dword [esp + 0x8c]
mov ecx, eax
sar eax, 0x1f
mov ebx, ecx
jmp 0x422232
mov ebx, dword [esp + 0x8c]
mov ebp, dword [0x514fa8]
mov esi, dword [0x514fac]
xor edi, edi
jmp 0x422276
mov ebx, dword [ebp + edi*4]
mov dword [ebx + 0x938], 0
mov dword [ebx + 0x93c], 0
mov dword [ebx + 0x940], 0
mov dword [ebx + 0x944], 0
inc edi
mov ebx, dword [esp + 0x8c]
cmp edi, esi
jl 0x422242
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ecx
mov ebp, dword [esp + 0x90]
cmp ebp, 1
jne 0x4222d1
test eax, eax
sete bl
xchg ebp, ebx
setg bl
xchg ebp, ebx
test ecx, ecx
xchg esi, ebx
seta bl
xchg esi, ebx
and ebx, esi
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4222bf
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.00424a20
jmp 0x4222df
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00424a20
jmp 0x4222df
mov dword [esp], edx
sub ebx, ecx
mov dword [esp + 4], ebx
call fcn.00424a20
mov eax, dword [esp + 0x80]
lea ecx, [eax + 0xe8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 4], edx
call fcn.00403250
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.004224f0
mov eax, dword [0x53b034]
test eax, eax
jle 0x4224e2
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.004239d0
mov eax, dword [esp + 0x80]
lea ecx, [eax + 0xf8]
mov edx, dword [esp + 8]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 4]
mov dword [esp + 0x10], ebx
mov dword [esp], ecx
call fcn.00403690
movsd xmm0, qword [esp + 4]
movsd qword [esp + 0x44], xmm0
lea eax, [0x53b490]
mov dword [esp], eax
call fcn.004034e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, eax
shl eax, 0xc
shr ecx, 0x14
or eax, ecx
mov dword [esp + 0x38], eax
shr edx, 0x14
mov dword [esp + 0x34], edx
mov ecx, dword [0x515454]
mov ebx, dword [0x515450]
mov ebp, ecx
shl ecx, 0xc
shr ebp, 0x14
mov dword [esp + 0x30], ebp
shr ebx, 0x14
or ecx, ebx
mov dword [esp + 0x2c], ecx
mov ebx, dword [esp + 0x14]
mov esi, ebx
shl ebx, 0xc
mov edi, dword [esp + 0x10]
shr edi, 0x14
or ebx, edi
mov dword [esp + 0x28], ebx
shr esi, 0x14
mov dword [esp + 0x24], esi
mov edi, dword [esp + 0x80]
movsd xmm0, qword [edi + 0x108]
movsd qword [esp + 0x54], xmm0
call fcn.0043ce60
lea eax, [0x4ae441]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.0043d670
movsd xmm0, qword [esp + 0x44]
movsd qword [esp], xmm0
call fcn.0043d0e0
lea eax, [0x4ab269]
mov dword [esp], eax
mov dword [esp + 4], 7
call fcn.0043d670
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0043d390
lea eax, [0x4ab270]
mov dword [esp], eax
mov dword [esp + 4], 7
call fcn.0043d670
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0043d390
lea eax, [0x4aaea4]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.0043d670
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.0043d390
lea eax, [0x4ac526]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.0043d670
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.0043d4c0
lea eax, [0x4aae86]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0043d670
movsd xmm0, qword [esp + 0x54]
movsd qword [esp], xmm0
call fcn.0043d0e0
call fcn.0043d040
call fcn.0043cec0
add esp, 0x7c
ret
call fcn.00465d00
jmp fcn.00421f30