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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x421898
add esp, 0xffffff80
mov eax, dword [esp + 0x84]
test byte [eax], al
mov dword [esp], eax
call fcn.004020f0
mov eax, dword [esp + 4]
test eax, eax
jge 0x4213f7
mov eax, 0x186a0
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x84]
lea edx, [ecx + 0x50]
mov dword [esp], edx
call fcn.00402490
mov eax, dword [esp + 0x84]
lea ecx, [eax + 0x58]
mov edx, dword [esp + 4]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x34], ebx
mov dword [esp], ecx
call fcn.00402490
mov eax, dword [esp + 0x84]
lea ecx, [eax + 0x88]
mov edx, dword [esp + 4]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 8]
mov dword [esp + 0x2c], ebx
mov dword [esp], ecx
call fcn.00402190
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x84]
lea ebx, [edx + 0x90]
mov dword [esp], ebx
call fcn.00402190
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x60]
add edx, eax
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x5c]
adc eax, ecx
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x84]
lea ebx, [ecx + 0x98]
mov dword [esp], ebx
call fcn.00402190
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x60]
add eax, edx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x58]
adc ecx, edx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x84]
mov dword [esp], edx
call fcn.00422760
mov eax, dword [esp + 0x84]
lea ecx, [eax + 0x68]
mov edx, dword [esp + 8]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 4]
mov dword [esp + 0x40], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x48], ebp
mov dword [esp], ecx
call fcn.00402490
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x84]
lea ebx, [edx + 0x78]
mov dword [esp + 0x7c], ebx
mov dword [esp], ebx
call fcn.00402490
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x64]
mov ebx, dword [esp + 0x60]
add ecx, ebx
mov ebx, dword [esp + 0x5c]
adc edx, ebx
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
add ebx, ecx
mov dword [esp + 0x20], ebx
adc edx, ebp
mov dword [esp + 0x24], edx
lea ecx, [eax + 0x70]
mov dword [esp], ecx
call fcn.00402490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x28]
add edx, eax
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x2c]
adc eax, ecx
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
call fcn.00402490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x60]
add eax, edx
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x58]
adc ecx, edx
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
cmp edx, ebx
xchg ebp, ebx
setl bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
cmp edi, eax
setb cl
and ecx, esi
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4215dd
mov ecx, dword [esp + 0x48]
mov ebp, dword [esp + 0x40]
jmp 0x42170a
mov eax, dword [esp + 0x84]
mov ecx, dword [eax + 0x40]
mov edx, dword [eax + 0x44]
mov ebx, dword [esp + 0x40]
sub ebx, ecx
mov ecx, dword [esp + 0x44]
sbb ecx, edx
mov dword [esp + 4], ecx
mov dword [esp], ebx
call fcn.00462820
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x74], xmm0
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00462820
movsd xmm0, qword [esp + 0x74]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x74], xmm0
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
call fcn.00462820
movsd xmm0, qword [esp + 0x74]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.00462780
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x84]
mov ebx, dword [edx + 0x40]
mov ebp, dword [edx + 0x44]
add eax, ebx
mov dword [esp + 0x50], eax
adc ecx, ebp
mov dword [esp + 0x54], ecx
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp], ebx
call fcn.00462820
mov eax, dword [esp + 0x4c]
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x51f450]
divsd xmm0, xmm1
movsd xmm1, qword [0x51f410]
addsd xmm1, xmm0
mulsd xmm1, qword [esp + 8]
movsd qword [esp], xmm1
call fcn.00462780
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
setl al
sete dl
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x50]
cmp ebp, ebx
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, edx
or esi, eax
mov eax, dword [esp + 0xc]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4216f6
mov eax, ecx
mov ebx, ebp
mov ecx, eax
mov ebp, ebx
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
cmp ecx, esi
xchg esi, ebx
setl bl
xchg esi, ebx
sete bl
mov eax, dword [esp + 0x30]
cmp ebp, eax
setb al
and eax, ebx
or esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x421761
mov dword [esp + 4], ecx
mov dword [esp], ebp
call fcn.00462820
movsd xmm0, qword [0x51f418]
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.00462780
mov ebp, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x10]
sub edi, eax
mov eax, dword [esp + 0x14]
sbb edx, eax
test edx, edx
setl al
sete bl
cmp edi, 0x3e8
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, ebx
or eax, esi
test al, al
je 0x421791
xor edx, edx
mov edi, 0x3e8
mov eax, dword [esp + 0x30]
sub ebp, eax
mov eax, dword [esp + 0x34]
sbb ecx, eax
test ecx, ecx
setl al
sete bl
test ebp, ebp
xchg esi, ebx
setbe bl
xchg esi, ebx
and esi, ebx
or esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x4217bf
xor ecx, ecx
mov ebp, 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 4], edx
mov dword [esp], edi
call fcn.00462820
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x74], xmm0
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
call fcn.00462820
movsd xmm0, qword [esp + 0x74]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x64], xmm0
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00462820
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x74], xmm0
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.00462820
movsd xmm0, qword [esp + 0x74]
divsd xmm0, qword [esp + 8]
movsd qword [esp + 0x6c], xmm0
mov eax, dword [esp + 0x84]
lea ecx, [eax + 0xe0]
mov dword [esp], ecx
movsd xmm1, qword [esp + 0x64]
movsd qword [esp + 4], xmm1
call fcn.00402680
mov eax, dword [esp + 0x84]
add eax, 0xe8
mov dword [esp], eax
movsd xmm0, qword [esp + 0x6c]
movsd qword [esp + 4], xmm0
call fcn.00402680
sub esp, 0xffffff80
ret
call fcn.00467570
jmp fcn.004213c0