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

Disassembly:
mov ecx, dword [0x57adc8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x422e26
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 [0x4e42a8]
mulsd xmm1, xmm0
movsd qword [esp + 0x3c], xmm1
movsd xmm2, qword [0x4e4200]
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.004033c0
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004033c0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004033c0
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004033c0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004033c0
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004033c0
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004033c0
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call fcn.004033c0
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.00403650
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.00463330
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.004633d0
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x3c]
divsd xmm0, xmm1
movsd xmm2, qword [0x4e4208]
subsd xmm0, xmm2
movsd xmm2, qword [0x4e4318]
ucomisd xmm2, xmm0
ja 0x422ac1
movsd xmm2, qword [0x4e42b0]
ucomisd xmm0, xmm2
ja 0x422ac1
xorps xmm0, xmm0
mov edx, dword [esp + 0x80]
movsd qword [edx + 0x108], xmm0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
jmp 0x422b49
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp], ecx
call fcn.004633d0
movsd xmm0, qword [esp + 8]
movsd xmm1, qword [esp + 0x3c]
ucomisd xmm0, xmm1
jbe 0x422af7
mov ecx, dword [esp + 0x18]
add ecx, 0xffffffff
mov eax, dword [esp + 0x1c]
adc eax, 0xffffffff
jmp 0x422aff
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.004633d0
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 [0x57b11c]
test ebx, ebx
jle 0x422b6b
movsd qword [edx + 0x108], xmm0
mov eax, dword [esp + 0x8c]
mov ecx, eax
sar eax, 0x1f
mov ebx, ecx
jmp 0x422b72
mov ebx, dword [esp + 0x8c]
mov ebp, dword [0x554ff0]
mov esi, dword [0x554ff4]
xor edi, edi
jmp 0x422bb6
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 0x422b82
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], ecx
mov ebp, dword [esp + 0x90]
cmp ebp, 1
jne 0x422c11
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 0x422bff
mov dword [esp], edx
mov dword [esp + 4], 0
call fcn.00425360
jmp 0x422c1f
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00425360
jmp 0x422c1f
mov dword [esp], edx
sub ebx, ecx
mov dword [esp + 4], ebx
call fcn.00425360
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.004033c0
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.00422e30
mov eax, dword [0x57b114]
test eax, eax
jle 0x422e22
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.00424310
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.00403800
movsd xmm0, qword [esp + 4]
movsd qword [esp + 0x44], xmm0
lea eax, [0x57b570]
mov dword [esp], eax
call fcn.00403650
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 [0x555514]
mov ebx, dword [0x555510]
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.0043db00
lea eax, [0x4d757c]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.0043e310
movsd xmm0, qword [esp + 0x44]
movsd qword [esp], xmm0
call fcn.0043dd80
lea eax, [0x4d3ed4]
mov dword [esp], eax
mov dword [esp + 4], 7
call fcn.0043e310
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.0043e030
lea eax, [0x4d3edb]
mov dword [esp], eax
mov dword [esp + 4], 7
call fcn.0043e310
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0043e030
lea eax, [0x4d3915]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.0043e310
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.0043e030
lea eax, [0x4d52d5]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.0043e310
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.0043e160
lea eax, [0x4d38e8]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.0043e310
movsd xmm0, qword [esp + 0x54]
movsd qword [esp], xmm0
call fcn.0043dd80
call fcn.0043dce0
call fcn.0043db60
add esp, 0x7c
ret
call fcn.004688b0
jmp fcn.00422870