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

Disassembly:
mov eax, 0x70
call fcn.005b2630
mov eax, dword [0x644a10]
xor eax, esp
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x78]
push ebx
mov ebx, dword [esp + 0x78]
push ebp
mov ebp, dword [esp + 0x90]
push esi
mov esi, dword [esp + 0x9c]
push edi
xor edi, edi
mov dword [esp + 0x1c], edx
xor edx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x3c], edx
cmp ebp, edi
jge 0x4c9b2a
lea ebp, [edi + 6]
fldz
fld qword [esp + 0x8c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4c9b46
mov dword [esp + 0x2c], 0x2d
jmp 0x4c9b67
mov al, byte [esp + 0x9c]
test al, 2
je 0x4c9b5b
mov dword [esp + 0x2c], 0x2b
jmp 0x4c9b67
test al, 4
je 0x4c9b67
mov dword [esp + 0x2c], 0x20
fld qword [0x5ecc50]
fld1
cmp esi, 2
jne 0x4c9c82
fld st(2)
fld st(4)
fucompp
fnstsw ax
test ah, 0x44
jp 0x4c9b89
xor ecx, ecx
jmp 0x4c9bf4
fld qword [0x5eccb8]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x4c9b9f
mov ecx, 1
jmp 0x4c9bf4
cmp ebp, edi
jne 0x4c9bb2
fxch st(2)
fcom st(1)
fnstsw ax
test ah, 1
je 0x4c9bed
xor ecx, ecx
jmp 0x4c9bf2
jle 0x4c9c79
fstp st(2)
push ebp
fstp st(0)
fstp st(1)
fstp st(0)
call fcn.004c9550
fld qword [esp + 0x90]
add esp, 4
fcom st(1)
fnstsw ax
fstp st(1)
fldz
fld qword [0x5ecc50]
fld1
fxch st(2)
fxch st(3)
test ah, 1
jne 0x4c9c7b
mov ecx, 1
fxch st(2)
mov dword [esp + 0x30], ecx
fld st(2)
fld st(3)
fld st(5)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4c9c41
fxch st(3)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4c9c26
fxch st(3)
dec edx
fmul st(2)
fcom st(1)
fnstsw ax
fxch st(3)
test ah, 5
jnp 0x4c9c12
mov dword [esp + 0x3c], edx
fxch st(3)
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x4c9c41
fdiv st(2)
inc edx
fcom st(2)
fnstsw ax
test ah, 0x41
je 0x4c9c31
mov dword [esp + 0x3c], edx
cmp esi, 2
jne 0x4c9c92
cmp ebp, edi
jne 0x4c9c4d
lea ebp, [esi - 1]
cmp ecx, edi
jne 0x4c9c91
or eax, 0xffffffff
fstp st(0)
sub eax, edx
add ebp, eax
jns 0x4c9c9d
fstp st(2)
fstp st(0)
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005b2129
add esp, 0x70
ret
fxch st(2)
xor ecx, ecx
jmp 0x4c9bf2
mov ecx, esi
mov dword [esp + 0x30], ecx
cmp esi, edi
je 0x4c9c9d
jmp 0x4c9bf8
dec ebp
cmp ecx, 1
jne 0x4c9c9b
fstp st(3)
jmp 0x4c9c9d
fstp st(0)
fld st(2)
fxch st(4)
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x4c9d2f
fstp st(3)
fxch st(1)
fchs
fxch st(2)
fxch st(1)
fld qword [0x5c0a90]
fcomp st(3)
fnstsw ax
test ah, 5
jnp 0x4c9c5e
fnstcw word [esp + 0x10]
movzx eax, word [esp + 0x10]
fld st(2)
or eax, 0xc00
mov dword [esp + 0x34], eax
fldcw word [esp + 0x34]
fistp qword [esp + 0x34]
mov esi, dword [esp + 0x34]
fldcw word [esp + 0x10]
cmp ebp, 9
jle 0x4c9cf5
mov ebp, 9
mov eax, ebp
fld st(1)
cmp ebp, edi
je 0x4c9d02
dec eax
fmul st(1)
jne 0x4c9cfd
fld st(0)
call fcn.005b23b0
mov edi, eax
mov dword [esp + 0x34], edi
fisub dword [esp + 0x34]
fld qword [0x5ecc58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x4c9d25
inc edi
mov eax, ebp
test ebp, ebp
jne 0x4c9d35
fstp st(1)
jmp 0x4c9d40
fstp st(2)
jmp 0x4c9cb8
fxch st(2)
dec eax
fxch st(2)
fmul st(1)
jne 0x4c9d33
fstp st(1)
fxch st(1)
mov ecx, esi
mov dword [esp + 0x34], ecx
fild dword [esp + 0x34]
test ecx, ecx
jns 0x4c9d54
fadd qword [0x5c0a98]
fsubp st(3)
fxch st(2)
fmulp st(1)
fld st(0)
call fcn.005b23b0
mov ecx, eax
mov dword [esp + 0x34], ecx
fisub dword [esp + 0x34]
fcompp
fnstsw ax
test ah, 1
jne 0x4c9d75
inc ecx
cmp ecx, edi
jb 0x4c9d80
inc esi
sub ecx, edi
lea esp, [esp]
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub esi, eax
mov al, byte [esi + str.0123456789]
mov esi, dword [esp + 0x24]
mov byte [esp + esi + 0x40], al
mov eax, esi
inc eax
mov esi, edx
mov dword [esp + 0x24], eax
test esi, esi
je 0x4c9db1
cmp eax, 0x14
jl 0x4c9d80
cmp eax, 0x14
jne 0x4c9dbf
mov eax, 0x13
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x28]
mov byte [esp + eax + 0x40], 0
test ebp, ebp
jle 0x4c9e30
lea esp, [esp]
cmp dword [esp + 0xa0], 2
jne 0x4c9dfc
test edi, edi
jne 0x4c9dfc
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
mov esi, ecx
sub esi, eax
jne 0x4c9dfc
dec ebp
mov ecx, edx
test ebp, ebp
jg 0x4c9dd0
jmp 0x4c9e2c
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
sub ecx, eax
mov cl, byte [ecx + str.0123456789]
mov byte [esp + edi + 0x54], cl
inc edi
mov ecx, edx
cmp edi, ebp
jl 0x4c9dd0
mov dword [esp + 0x28], edi
cmp edi, 0x14
jne 0x4c9e30
mov edi, 0x13
mov dword [esp + 0x28], edi
cmp dword [esp + 0x30], 1
mov byte [esp + edi + 0x54], 0
jne 0x4c9eac
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jns 0x4c9e46
neg ecx
mov esi, dword [esp + 0x20]
lea ebx, [ebx]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
add edx, edx
sub ecx, edx
mov cl, byte [ecx + str.0123456789]
mov byte [esp + esi + 0x68], cl
mov ecx, eax
inc esi
test ecx, ecx
jle 0x4c9e93
cmp esi, 0x14
jl 0x4c9e50
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005b2129
add esp, 0x70
ret
mov dword [esp + 0x20], esi
cmp esi, 1
jne 0x4c9eb0
mov esi, 2
mov byte [esp + 0x69], 0x30
mov dword [esp + 0x20], esi
jmp 0x4c9eb0
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x94]
xor ecx, ecx
test edx, edx
setne cl
sub eax, ecx
xor ecx, ecx
test ebp, ebp
setg cl
sub eax, ecx
sub eax, dword [esp + 0x24]
sub eax, ebp
cmp dword [esp + 0x30], 1
mov dword [esp + 0x10], eax
jne 0x4c9eeb
mov ecx, 0xfffffffe
sub ecx, esi
add eax, ecx
mov dword [esp + 0x10], eax
mov ecx, ebp
sub ecx, edi
mov dword [esp + 0x34], ecx
jns 0x4c9efd
mov dword [esp + 0x34], 0
test eax, eax
jns 0x4c9f07
xor eax, eax
mov dword [esp + 0x10], eax
mov cl, byte [esp + 0x9c]
test cl, 1
je 0x4c9f19
neg eax
mov dword [esp + 0x10], eax
test cl, 0x10
je 0x4c9f8e
test eax, eax
jle 0x4c9fbe
test edx, edx
je 0x4c9f5c
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push edx
push eax
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
dec dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], 0
test eax, eax
jle 0x4c9fbe
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 0x30
push ecx
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
test eax, eax
jg 0x4c9f60
jmp 0x4c9fbe
test eax, eax
jle 0x4c9fbe
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 0x20
push edx
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 0x10], eax
test eax, eax
jg 0x4c9f92
cmp dword [esp + 0x2c], 0
je 0x4c9fe7
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push eax
push ecx
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
cmp dword [esp + 0x24], 0
jle 0x4ca023
mov edi, edi
mov eax, dword [esp + 0x24]
movsx edx, byte [esp + eax + 0x3f]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
dec eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
push edx
push eax
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
cmp dword [esp + 0x24], 0
jg 0x4c9ff0
test ebp, ebp
jg 0x4ca031
test byte [esp + 0x9c], 8
je 0x4ca089
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
push 0x2e
push ebp
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
cmp dword [esp + 0x28], 0
jle 0x4ca095
jmp 0x4ca060
mov eax, dword [esp + 0x28]
movsx ecx, byte [esp + eax + 0x53]
dec eax
push ecx
push ebp
mov dword [esp + 0x30], eax
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
cmp dword [esp + 0x28], 0
jg 0x4ca060
jmp 0x4ca095
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
cmp dword [esp + 0x34], 0
jle 0x4ca0c8
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
push 0x30
push ebp
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x34], eax
test eax, eax
jg 0x4ca0a8
cmp dword [esp + 0x30], 1
jne 0x4ca167
mov al, byte [esp + 0x9c]
not al
and al, 0x20
or al, 0x45
movsx edx, al
push edx
push ebp
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
cmp dword [esp + 0x3c], 0
jge 0x4ca11e
push 0x2d
push ebp
call fcn.004c95a0
add esp, 8
test eax, eax
jne 0x4ca131
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.005b2129
add esp, 0x70
ret
push 0x2b
push ebp
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
cmp dword [esp + 0x20], 0
jle 0x4ca167
jmp 0x4ca140
mov eax, dword [esp + 0x20]
dec eax
mov dword [esp + 0x20], eax
movsx eax, byte [esp + eax + 0x68]
push eax
push ebp
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
cmp dword [esp + 0x20], 0
jg 0x4ca140
cmp dword [esp + 0x10], 0
jge 0x4ca199
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [ebx]
push 0x20
push ebp
call fcn.004c95a0
add esp, 8
test eax, eax
je 0x4c9c64
inc dword [esp + 0x10]
js 0x4ca180
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
mov eax, 1
call fcn.005b2129
add esp, 0x70
ret