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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x4aba25
sub esp, 0xc8
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x4aba00
mov ecx, dword [esp + 0xcc]
movzx edx, byte [ecx]
cmp dl, 0x2d
jne 0x4ab9e8
sete dl
lea ebx, [eax - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, ecx
cmp ebp, 1
jne 0x4aaf92
cmp byte [ebx], 0x30
je 0x4ab9b5
test ebp, ebp
je 0x4ab911
mov byte [esp + 0x2e], dl
xor esi, esi
xor edi, edi
jmp 0x4ab160
inc ebx
cmp ebx, ebp
jge 0x4aafda
jae 0x4aba1b
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
je 0x4aafda
xchg esi, eax
cmp al, 0x30
xchg esi, eax
jb 0x4ab62e
xchg esi, eax
cmp al, 0x39
xchg esi, eax
xchg esi, ebx
setbe bl
xchg esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4aafa7
test ebx, ebx
je 0x4ab57c
cmp ebx, ebp
ja 0x4aba12
mov dword [esp + 0x40], ebx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x9c], eax
lea ecx, [0x848480]
mov dword [esp], ecx
mov edx, dword [0xc57750]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.0040fbd0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x40]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x9c]
add eax, ebx
mov ebp, dword [esp + 0x10]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
movzx edi, byte [esp + 0x14]
xchg edi, eax
test al, al
xchg edi, eax
je 0x4ab4b0
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x88], edx
mov dword [esp + 0xc4], eax
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0x7fffffff
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
call fcn.0044cbc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
setg al
sete dl
mov ebx, dword [esp + 0x30]
cmp dword [esp + 0x10], ebx
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, edx
or eax, ebp
test al, al
jne 0x4ab3fe
mov eax, ebx
mov edx, dword [esp + 0x38]
mov ebp, edx
mul edx
mov esi, dword [esp + 0x70]
test esi, esi
xchg edi, ebx
setg bl
xchg edi, ebx
xchg edi, eax
mov byte [esp + 0x2f], al
xchg edi, eax
mov edi, dword [esp + 0x6c]
test edi, edi
xchg edi, ebx
seta bl
xchg edi, ebx
test esi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
imul ecx, ebp
add ecx, edx
mov edx, dword [esp + 0x3c]
imul ebx, edx
add ecx, ebx
and edi, esi
movzx ebx, byte [esp + 0x2f]
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4ab2a1
mov edx, dword [esp + 0x74]
add edx, eax
mov eax, dword [esp + 0x78]
adc eax, ecx
test eax, eax
setl cl
test edx, edx
setb bl
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4ab1ef
mov ecx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x88]
mov ecx, dword [esp + 0xcc]
mov ebp, ebx
mov ebx, dword [esp + 0xc4]
mov esi, eax
mov edi, edx
mov eax, dword [esp + 0xd0]
movzx edx, byte [esp + 0x2e]
test ebp, ebp
je 0x4ab8d1
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], edi
movzx edx, byte [ebx]
cmp dl, 0x2e
jne 0x4ab80f
mov dword [esp + 0x68], ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.004aac00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test ebx, ebx
jne 0x4ab75d
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], edx
test ebp, ebp
je 0x4ab1bd
cmp byte [eax], 0x2e
je 0x4ab6f1
mov ebx, ebp
xor esi, esi
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x6c], ebx
fld1
fld st(0)
fstp qword [esp + 0x8c]
mov ebx, ebp
fstp st(0)
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x68]
cmp edi, ebx
je 0x4ab635
xor ebx, ebx
jmp 0x4aafa8
mov dword [esp], 0
lea eax, [0x8c9eeb]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.00440470
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], ecx
lea edx, [0x85b840]
mov dword [esp], edx
call fcn.0040a800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x5c]
mov dword [edi + 4], eax
mov eax, dword [0xc6be00]
test eax, eax
jne 0x4ab293
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x96e8d0]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xb4]
call fcn.00451ff0
jmp 0x4ab262
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.0044c790
fld qword [esp + 8]
fld st(0)
fstp qword [esp + 0x94]
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
fstp st(0)
call fcn.0044c790
fld qword [esp + 8]
fld qword [esp + 0x8c]
fld st(0)
fdivp st(2)
fld qword [esp + 0x94]
fstp st(1)
fld st(1)
fmulp st(1)
fld st(0)
fstp qword [esp]
fstp st(0)
fstp st(0)
call fcn.0044c6f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x80]
add ecx, eax
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x84]
adc edx, eax
test edx, edx
setl al
sete bl
test ecx, ecx
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebx, ebp
or ebx, eax
test bl, bl
jne 0x4ab34c
mov eax, ecx
mov ecx, edx
jmp 0x4ab105
mov dword [esp], 0
lea eax, [0x8c9eeb]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.00440470
mov eax, dword [esp + 0x14]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], ecx
lea edx, [0x85b840]
mov dword [esp], edx
call fcn.0040a800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x58]
mov dword [edi + 4], eax
mov eax, dword [0xc6be00]
test eax, eax
jne 0x4ab3f0
mov eax, dword [esp + 0xac]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x96e8d0]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xac]
call fcn.00451ff0
jmp 0x4ab3bf
mov dword [esp], 0
lea eax, [0x8c9eeb]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.00440470
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x48], ecx
lea edx, [0x85b840]
mov dword [esp], edx
call fcn.0040a800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x48]
mov dword [edi + 4], eax
mov eax, dword [0xc6be00]
test eax, eax
jne 0x4ab4a2
mov eax, dword [esp + 0xb8]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x96e8d0]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xb8]
call fcn.00451ff0
jmp 0x4ab471
mov dword [esp], 0
lea eax, [0x8c6ff4]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x13
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
lea eax, [0x8c2f0a]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0xd
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x20], eax
call fcn.00440530
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x50], ecx
lea edx, [0x85b840]
mov dword [esp], edx
call fcn.0040a800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x50]
mov dword [edi + 4], eax
mov eax, dword [0xc6be00]
test eax, eax
jne 0x4ab56e
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x96e8d0]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xb0]
call fcn.00451ff0
jmp 0x4ab53d
mov dword [esp], 0
lea eax, [0x8cf522]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1f
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.00440470
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], ecx
lea edx, [0x85b840]
mov dword [esp], edx
call fcn.0040a800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x60]
mov dword [edi + 4], eax
mov eax, dword [0xc6be00]
test eax, eax
jne 0x4ab620
mov eax, dword [esp + 0xa4]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x96e8d0]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xa4]
call fcn.00451ff0
jmp 0x4ab5ef
xor esi, esi
jmp 0x4aafd4
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4ab1e8
mov dword [esp], 0
lea eax, [0x8c9eeb]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.00440470
mov eax, dword [esp + 0x14]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x64], ecx
lea edx, [0x85b840]
mov dword [esp], edx
call fcn.0040a800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x64]
mov dword [edi + 4], eax
mov eax, dword [0xc6be00]
test eax, eax
jne 0x4ab6e3
mov eax, dword [esp + 0xbc]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x96e8d0]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xbc]
call fcn.00451ff0
jmp 0x4ab6b2
mov dword [esp + 0x7c], ebp
lea ecx, [ebp - 1]
mov dword [esp + 0x88], ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004aada0
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x88]
cmp ebp, eax
xchg esi, ebx
setne bl
xchg esi, ebx
fld qword [esp + 0x10]
fld st(0)
fstp qword [esp + 0x8c]
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x6c], eax
mov eax, ecx
mov ecx, dword [esp + 0x34]
fstp st(0)
jmp 0x4ab1d8
mov dword [esp], 0
lea eax, [0x8c9eeb]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
call fcn.00440470
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
lea edx, [0x85b840]
mov dword [esp], edx
call fcn.0040a800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x4c]
mov dword [edi + 4], eax
mov eax, dword [0xc6be00]
test eax, eax
jne 0x4ab801
mov eax, dword [esp + 0xc0]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x96e8d0]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xc0]
call fcn.00451ff0
jmp 0x4ab7d0
cmp dl, 0x30
jb 0x4ab8ca
cmp dl, 0x39
setbe dl
test dl, dl
jne 0x4ab17c
mov dword [esp], 0
lea edx, [0x8c9eeb]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00440470
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
lea edx, [0x85b840]
mov dword [esp], edx
call fcn.0040a800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [edi + 4], eax
mov eax, dword [0xc6be00]
test eax, eax
jne 0x4ab8bc
mov eax, dword [esp + 0xa8]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x96e8d0]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xa8]
call fcn.00451ff0
jmp 0x4ab88b
xor edx, edx
jmp 0x4ab81e
test dl, dl
je 0x4ab90b
xor eax, eax
sub eax, edi
mov ecx, 0
sbb ecx, esi
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xc8
ret
mov eax, edi
mov ecx, esi
jmp 0x4ab8e0
mov dword [esp], 0
lea edx, [0x8c9eeb]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x17
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00440470
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
lea edx, [0x85b840]
mov dword [esp], edx
call fcn.0040a800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x54]
mov dword [edi + 4], eax
mov eax, dword [0xc6be00]
test eax, eax
jne 0x4ab9a7
mov eax, dword [esp + 0xa0]
mov dword [edi], eax
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
lea eax, [0x96e8d0]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edi
add esp, 0xc8
ret
mov eax, dword [esp + 0xa0]
call fcn.00451ff0
jmp 0x4ab976
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xc8
ret
cmp dl, 0x2b
jne 0x4ab9f5
cmp dl, 0x2d
jmp 0x4aaf72
mov ebp, eax
mov ebx, ecx
xor edx, edx
jmp 0x4aaf84
mov ecx, dword [esp + 0xcc]
mov ebx, ecx
mov ebp, eax
xor edx, edx
jmp 0x4aaf84
mov ecx, ebx
mov edx, ebp
call fcn.00452090
mov eax, ebx
mov ecx, ebp
call fcn.00452070
nop
call fcn.004507b0
jmp fcn.004aaf30