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

Disassembly:
sub esp, 0x18
push esi
mov esi, dword [esp + 0x24]
fld dword [esi + 4]
push edi
fcomp dword [0x44802c]
mov edi, ecx
mov dword [esp + 0x10], edi
fnstsw ax
test ah, 0x44
jnp 0x422dc2
fld dword [esi + 0x10]
fcomp dword [0x44802c]
fnstsw ax
test ah, 0x44
jnp 0x422dc2
mov eax, dword [esp + 0x24]
push esi
push eax
call fcn.0041f330
pop edi
pop esi
add esp, 0x18
ret 0x18
cmp dword [edi + 0x80], 0x19
jne 0x422de0
mov ecx, dword [esp + 0x24]
push esi
push ecx
mov ecx, edi
call fcn.00422540
pop edi
pop esi
add esp, 0x18
ret 0x18
fld dword [esi + 0x30]
push ebx
push ebp
call fcn.004354a8
fld dword [esi + 0x34]
mov ebp, eax
mov dword [esp + 0x20], ebp
call fcn.004354a8
mov esi, dword [esp + 0x2c]
mov ecx, esi
mov ebx, eax
call fcn.00431070
movzx edx, ax
mov ecx, esi
mov dword [esp + 0x30], edx
call fcn.00431090
movzx eax, ax
fld dword [esp + 0x34]
fcomp dword [0x44802c]
mov dword [esp + 0x14], eax
fnstsw ax
test ah, 5
jp 0x422e33
mov dword [esp + 0x34], 0
fld dword [esp + 0x38]
fcomp dword [0x44802c]
fnstsw ax
test ah, 5
jp 0x422e4c
mov dword [esp + 0x38], 0
fild dword [esp + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 1
jne 0x422e71
fld dword [esp + 0x10]
fsub dword [0x444290]
fstp dword [esp + 0x34]
fild dword [esp + 0x14]
fld dword [esp + 0x38]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x422e8e
fld dword [0x444290]
fsubr st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fcomp dword [0x44802c]
fnstsw ax
test ah, 5
jp 0x422ea7
mov dword [esp + 0x3c], 0
fld dword [esp + 0x40]
fcomp dword [0x44802c]
fnstsw ax
test ah, 5
jp 0x422ec0
mov dword [esp + 0x40], 0
fld dword [esp + 0x3c]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 1
jne 0x422edd
fld dword [esp + 0x10]
fsub dword [0x444290]
fstp dword [esp + 0x3c]
fld dword [esp + 0x40]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x422ef6
fld dword [0x444290]
fsubr st(1)
fstp dword [esp + 0x40]
fld dword [esp + 0x10]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x422f12
fld dword [esp + 0x3c]
call fcn.004354a8
mov dword [esp + 0x30], eax
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 0x41
jne 0x422f2a
fld dword [esp + 0x40]
call fcn.004354a8
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x78]
cmp ebp, eax
mov edi, dword [edi + 0x7c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], edi
jge 0x4230d8
mov ecx, dword [esp + 0x30]
neg ecx
cmp ebp, ecx
jle 0x4230d8
cmp ebx, edi
jge 0x4230d8
mov edx, dword [esp + 0x14]
neg edx
cmp ebx, edx
jle 0x4230d8
xor eax, eax
test ebp, ebp
setl al
xor ecx, ecx
dec eax
and eax, ebp
test ebx, ebx
setl cl
mov dword [esp + 0x24], eax
dec ecx
and ecx, ebx
test ebp, ebp
mov edi, ecx
jge 0x422f86
neg ebp
jmp 0x422f88
xor ebp, ebp
test ebx, ebx
mov dword [esp + 0x40], ebp
jge 0x422f96
mov esi, ebx
neg esi
jmp 0x422f98
xor esi, esi
fild dword [esp + 0x40]
mov dword [esp + 0x10], esi
fcomp dword [esp + 0x34]
fnstsw ax
test ah, 5
jp 0x422fb6
fld dword [esp + 0x34]
call fcn.004354a8
mov ebp, eax
fild dword [esp + 0x10]
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 5
jp 0x422fd0
fld dword [esp + 0x38]
call fcn.004354a8
mov esi, eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
lea edx, [eax + ecx]
cmp edx, dword [esp + 0x3c]
jl 0x422fe7
mov eax, dword [esp + 0x3c]
sub eax, ecx
mov ecx, dword [esp + 0x14]
lea edx, [ecx + ebx]
cmp edx, dword [esp + 0x1c]
jl 0x422ffa
mov ecx, dword [esp + 0x1c]
sub ecx, ebx
sub eax, ebp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
fld qword [eax + 0x48]
sub ecx, esi
fmul qword [0x446658]
mov dword [esp + 0x40], ecx
call fcn.004354a8
sub ebx, eax
mov dword [0x456d70], ebx
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
mov dword [0x456d74], edi
call fcn.004316d0
imul edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
add edi, edx
mov edx, dword [ecx + 0x84]
mov ecx, ebx
lea edi, [edx + edi*4]
call fcn.004310b0
cmp al, 0x20
mov ecx, ebx
jne 0x423097
call fcn.00431030
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
imul esi, ecx
add esi, ebp
lea esi, [eax + esi*4]
mov eax, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x48]
push ecx
push edx
push edi
push esi
call dword [eax + 0x1814]
add esp, 0x18
mov ecx, ebx
call fcn.004306f0
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x18
ret 0x18
call fcn.00431030
mov ecx, ebx
mov dword [esp + 0x38], eax
call fcn.00431050
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
imul esi, ecx
push edx
mov edx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x3c]
add ebp, eax
mov eax, dword [esp + 0x48]
push eax
push ecx
add esi, ebp
push esi
push edi
push edx
call fcn.00421e70
add esp, 0x1c
mov ecx, ebx
call fcn.004306f0
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x18
ret 0x18