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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x100
fldz
push ebx
fst dword [esp + 0x88]
push ebp
fst dword [esp + 0x90]
push esi
fstp dword [esp + 0x98]
push edi
fld1
mov esi, ecx
mov ecx, dword [0x4e83f60]
fstp dword [esp + 0xa0]
lea edx, [esp + 0x48]
mov eax, dword [ecx]
mov eax, dword [eax + 0x98]
push edx
mov edx, dword [esi + 0xc]
push edx
call eax
mov ecx, dword [0x4e83f60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x94]
lea eax, [esp + 0x94]
push eax
mov eax, dword [esi + 0xc]
push eax
call edx
movzx eax, word [esi + 0x30]
push eax
call fcn.04c99fd0
movzx ecx, word [esi + 0x30]
fld dword [eax + 0x798]
push ecx
fstp dword [esp + 0x80]
call fcn.04c99fd0
add esp, 8
cmp dword [esi + 0x34], 2
fld dword [eax + 0x7a4]
fstp dword [esp + 0x1c]
jne 0x4cc14f3
fldz
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x4cc14f3
mov edx, dword [0x4e83f6c]
mov eax, dword [edx + 0x50]
xor edi, edi
test eax, eax
je 0x4cc0e06
movzx edi, byte [eax + 0x300]
movzx eax, word [esi + 0x30]
push eax
call fcn.04c99fd0
add esp, 4
test edi, edi
mov dword [esp + 0x40], eax
mov ebx, 4
jne 0x4cc135a
mov ecx, dword [0x4e83f60]
mov edi, dword [ecx]
mov ecx, dword [0x4e83f6c]
lea edx, [esp + 0x7c]
push edx
add edi, 0x98
call fcn.04b7fbb0
mov ecx, dword [0x4e83f60]
push eax
mov eax, dword [edi]
call eax
fld dword [esp + 0x78]
lea ecx, [esp + 0x48]
fstp qword [esp + 0x20]
push ecx
lea ecx, [esp + 0x80]
call fcn.04ca61a0
fld qword [esp + 0x20]
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x4cc135a
fld dword [esp + 0x7c]
lea edx, [esp + 0x88]
fsub dword [esp + 0x48]
push edx
lea ecx, [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x84]
fsub dword [esp + 0x50]
fstp dword [esp + 0x3c]
fld dword [esp + 0x88]
fsub dword [esp + 0x54]
fstp dword [esp + 0x40]
call fcn.04b883a0
lea ecx, [esp + 0xa4]
call fcn.04b828e0
lea ecx, [esp + 0xe0]
call fcn.04b82920
fld dword [esp + 0x48]
mov edx, dword [0x4e83f60]
fstp dword [esp + 0xa4]
fld dword [esp + 0x4c]
lea eax, [esp + 0xe0]
fstp dword [esp + 0xa8]
push eax
fld dword [esp + 0x54]
lea ecx, [esp + 0xa8]
fstp dword [esp + 0xb0]
mov dword [esp + 0xcc], 7
fld dword [esp + 0x80]
mov dword [esp + 0xd0], 0x4cda750
fstp dword [esp + 0xb4]
push ecx
fld dword [esp + 0x8c]
xor ebp, ebp
fstp dword [esp + 0xc0]
xor edi, edi
fld dword [esp + 0x88]
fadd qword [0x4e37440]
fstp dword [esp + 0xbc]
mov eax, dword [edx + 0x64]
call eax
add esp, 8
test al, al
je 0x4cc105d
lea ecx, [ecx]
test ebp, ebp
jne 0x4cc135a
cmp edi, 0xa
jge 0x4cc105d
mov eax, dword [esp + 0xfc]
add edi, 1
test eax, eax
je 0x4cc1030
or ecx, 0xffffffff
cmp dword [esp + 0x104], ecx
jne 0x4cc0f9c
cmp dword [esp + 0x100], ecx
je 0x4cc1030
mov ecx, dword [0x4e7ffd4]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test eax, eax
je 0x4cc0fb5
mov ebp, 1
jmp 0x4cc1030
fld dword [esp + 0x88]
fld qword [0x4e56000]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x8c]
fmul st(1)
fstp dword [esp + 0x24]
fmul dword [esp + 0x90]
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fadd dword [esp + 0xe0]
fstp dword [esp + 0x34]
fld dword [esp + 0xe4]
fadd dword [esp + 0x24]
fstp dword [esp + 0x38]
fld dword [esp + 0xe8]
fadd dword [esp + 0x28]
fstp dword [esp + 0x3c]
fld dword [esp + 0x34]
fstp dword [esp + 0xa4]
fld dword [esp + 0x38]
fstp dword [esp + 0xa8]
fld dword [esp + 0x3c]
fstp dword [esp + 0xac]
mov eax, dword [0x4e83f60]
lea ecx, [esp + 0xe0]
push ecx
mov ecx, dword [eax + 0x64]
lea edx, [esp + 0xa8]
push edx
call ecx
add esp, 8
test al, al
jne 0x4cc0f60
test ebp, ebp
jne 0x4cc135a
fld1
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jne 0x4cc11d6
mov eax, dword [0x4e83f4c]
cmp eax, 0xc
je 0x4cc1081
cmp eax, 5
jne 0x4cc135a
mov ecx, dword [0x4e7ffd0]
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
lea eax, [esp + 0x18]
push eax
call edx
test eax, eax
jne 0x4cc114d
lea ecx, [esp + 0x54]
call fcn.04cb8a80
fld dword [esp + 0x1c]
mov al, byte [0x4e83faa]
fnstcw word [esp + 0x14]
mov byte [esp + 0x5c], al
add al, 1
mov byte [0x4e83faa], al
mov ax, word [esi + 0x30]
mov dl, byte [esi + 0x3c]
mov word [esp + 0x6c], ax
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x20], eax
mov byte [esp + 0x71], dl
mov byte [esp + 0x70], bl
fldcw word [esp + 0x20]
fistp dword [esp + 0x20]
mov cx, word [esp + 0x20]
mov word [esp + 0x6e], cx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
fldcw word [esp + 0x14]
mov edx, dword [eax + 4]
call edx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x24]
push 0x10
push 0x3a
call edx
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esp + 0x58]
call fcn.04cb8b60
mov ecx, dword [0x4e83f60]
mov edi, dword [ecx]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
push 1
add edi, 0x154
call eax
mov ecx, dword [0x4e83f60]
mov edx, dword [edi]
push eax
call edx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
call edx
mov eax, dword [0x4e83f6c]
mov ecx, dword [eax + 0x50]
test ecx, ecx
je 0x4cc135a
fldz
sub esp, 0xc
mov eax, esp
fst dword [esp + 0x40]
mov edx, dword [esp + 0x40]
fst dword [esp + 0x44]
mov dword [eax], edx
fstp dword [esp + 0x48]
mov edx, dword [esp + 0x44]
fld dword [esp + 0x28]
mov dword [eax + 4], edx
fnstcw word [esp + 0x20]
mov edx, dword [esp + 0x48]
mov dword [eax + 8], edx
movzx eax, word [esi + 0x30]
push 0
push eax
movzx eax, word [esp + 0x28]
or eax, 0xc00
mov dword [esp + 0x34], eax
push ebx
fldcw word [esp + 0x38]
fistp qword [esp + 0x58]
mov edx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x64]
fldcw word [esp + 0x30]
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], edx
call fcn.04ce7ab0
jmp 0x4cc135a
mov ecx, dword [0x4e7ffd0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
lea edx, [esp + 0x18]
push edx
call eax
test eax, eax
jne 0x4cc12a3
lea ecx, [esp + 0x54]
call fcn.04cb8a80
fld dword [esp + 0x1c]
mov al, byte [0x4e83faa]
fnstcw word [esp + 0x14]
mov byte [esp + 0x5c], al
add al, 1
mov byte [0x4e83faa], al
movzx eax, word [esp + 0x14]
mov cx, word [esi + 0x30]
or eax, 0xc00
mov dword [esp + 0x20], eax
movzx eax, byte [esi + 0x3c]
fldcw word [esp + 0x20]
mov word [esp + 0x6c], cx
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x71], al
mov byte [esp + 0x70], bl
fistp dword [esp + 0x20]
mov dx, word [esp + 0x20]
mov word [esp + 0x6e], dx
mov edx, dword [ecx]
mov eax, dword [edx + 4]
fldcw word [esp + 0x14]
call eax
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
push 0x10
push 0x3a
call eax
mov ecx, dword [esp + 0x18]
push ecx
lea ecx, [esp + 0x58]
call fcn.04cb8b60
mov edx, dword [0x4e83f60]
mov ecx, dword [esp + 0x18]
mov edi, dword [edx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
push 1
add edi, 0x154
call edx
mov ecx, dword [0x4e83f60]
push eax
mov eax, dword [edi]
call eax
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov ecx, dword [0x4e83f6c]
mov ecx, dword [ecx + 0x50]
test ecx, ecx
je 0x4cc1324
fldz
sub esp, 0xc
mov eax, esp
fst dword [esp + 0x40]
mov edx, dword [esp + 0x40]
fst dword [esp + 0x44]
mov dword [eax], edx
fstp dword [esp + 0x48]
mov edx, dword [esp + 0x44]
fld dword [esp + 0x28]
mov dword [eax + 4], edx
fnstcw word [esp + 0x20]
mov edx, dword [esp + 0x48]
mov dword [eax + 8], edx
movzx eax, word [esi + 0x30]
push 0
push eax
movzx eax, word [esp + 0x28]
or eax, 0xc00
mov dword [esp + 0x34], eax
push ebx
fldcw word [esp + 0x38]
fistp qword [esp + 0x38]
mov edx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x64]
fldcw word [esp + 0x30]
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], edx
call fcn.04ce7ab0
mov eax, dword [esp + 0x40]
cmp byte [eax + 0x2378], 1
jne 0x4cc135a
movzx ecx, word [esi + 0x30]
mov eax, dword [0x4e83f6c]
movzx edx, byte [eax + 0xfbcc]
push 0x4e37448
push 2
push ecx
movzx ecx, byte [esi + 0x3c]
push edx
push ecx
lea ecx, [eax + 0x16ea0]
call fcn.04cb97f0
mov edx, dword [0x4e83f6c]
cmp dword [edx + 0x11a60], 0
je 0x4cc14f3
xor ebp, ebp
nop
mov ecx, dword [0x55cdb80]
push ebp
call fcn.04cfdc90
mov edi, eax
test edi, edi
je 0x4cc14e7
cmp dword [edi + 0x48], 0
jne 0x4cc14e7
mov ecx, dword [0x4e83f60]
mov eax, dword [ecx]
mov eax, dword [eax + 0x98]
lea edx, [esp + 0x88]
push edx
mov edx, dword [edi + 0xc]
push edx
call eax
fld dword [esp + 0x78]
lea ecx, [esp + 0x48]
fstp qword [esp + 0x20]
push ecx
lea ecx, [esp + 0x8c]
call fcn.04ca61a0
fld qword [esp + 0x20]
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x4cc14e7
movzx edx, word [esi + 0x30]
push edx
call fcn.04c99fd0
add esp, 4
fld dword [eax + 0x7a4]
fstp dword [esp + 0x14]
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4cc14fb
fstp st(0)
fstp dword [esp + 0x14]
cmp dword [esi + 0x34], 6
jne 0x4cc14e7
mov ecx, dword [0x4e7ffd0]
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
lea eax, [esp + 0x1c]
push eax
call edx
test eax, eax
jne 0x4cc14e7
lea ecx, [esp + 0x54]
call fcn.04cb8d40
fld dword [esp + 0x14]
mov al, byte [0x4e83faa]
fnstcw word [esp + 0x14]
mov byte [esp + 0x5c], al
add al, 1
mov byte [0x4e83faa], al
movzx eax, byte [edi + 8]
mov cx, word [esi + 0x30]
mov byte [esp + 0x6c], al
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x40], eax
movzx eax, byte [esi + 0x3c]
fldcw word [esp + 0x40]
mov word [esp + 0x6e], cx
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0x73], al
mov byte [esp + 0x72], bl
fistp dword [esp + 0x40]
mov dx, word [esp + 0x40]
mov word [esp + 0x70], dx
mov edx, dword [ecx]
mov eax, dword [edx + 4]
fldcw word [esp + 0x14]
call eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
push 0x10
push 0x5b
call eax
mov ecx, dword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x58]
call fcn.04cb8e20
mov edx, dword [0x4e83f60]
mov ecx, dword [esp + 0x1c]
mov edi, dword [edx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
push 1
add edi, 0x154
call edx
mov ecx, dword [0x4e83f60]
push eax
mov eax, dword [edi]
call eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
add ebp, 1
cmp ebp, 0x10
jl 0x4cc1370
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(1)
fld1
fcompp
fnstsw ax
test ah, 0x41
jp 0x4cc1408
mov ecx, dword [0x4e7ffd0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
lea edx, [esp + 0x18]
push edx
call eax
test eax, eax
jne 0x4cc14e7
lea ecx, [esp + 0x54]
call fcn.04cb8d40
fld dword [esp + 0x14]
mov al, byte [0x4e83faa]
fnstcw word [esp + 0x14]
mov byte [esp + 0x5c], al
add al, 1
mov byte [0x4e83faa], al
movzx eax, word [esp + 0x14]
movzx ecx, byte [edi + 8]
mov dx, word [esi + 0x30]
or eax, 0xc00
mov dword [esp + 0x40], eax
mov byte [esp + 0x6c], cl
movzx ecx, byte [esi + 0x3c]
fldcw word [esp + 0x40]
mov byte [esp + 0x73], cl
mov ecx, dword [esp + 0x18]
mov word [esp + 0x6e], dx
mov edx, dword [ecx]
fistp dword [esp + 0x40]
mov ax, word [esp + 0x40]
mov word [esp + 0x70], ax
mov eax, dword [edx + 4]
mov byte [esp + 0x72], bl
fldcw word [esp + 0x14]
call eax
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x24]
push 0x10
push 0x5b
call eax
mov ecx, dword [esp + 0x18]
push ecx
lea ecx, [esp + 0x58]
call fcn.04cb8e20
mov edx, dword [0x4e83f60]
mov ecx, dword [esp + 0x18]
mov edi, dword [edx]
mov eax, dword [ecx]
mov edx, dword [eax + 0x1c]
push 1
add edi, 0x154
call edx
mov ecx, dword [0x4e83f60]
push eax
mov eax, dword [edi]
call eax
mov ecx, dword [esp + 0x18]
jmp 0x4cc14e0