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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff94
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov edi, eax
mov esi, dword [ebp + 8]
xor eax, eax
push ebp
push 0x4cc902
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
call fcn.004ca5d0
test al, al
je 0x4ccee7
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x60]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd4e7
cmp dword [ebp - 4], 0
jne 0x4ccf88
cmp esi, dword [edi + 0x1ec]
jne 0x4ccf0f
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1b0]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd08a
cmp esi, dword [edi + 0x1e8]
jne 0x4ccf2d
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1ac]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd08a
cmp byte [esi + 0x21], 0
je 0x4ccf66
mov ebx, dword [edi + 0x1b4]
test ebx, ebx
je 0x4cd08a
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4cd08a
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1b4]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd08a
cmp esi, dword [edi + 0x1f0]
jne 0x4cd08a
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1ac]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd08a
cmp dword [ebp - 4], 1
jne 0x4cd022
cmp esi, dword [edi + 0x1ec]
jne 0x4ccfb0
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1bc]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd08a
cmp esi, dword [edi + 0x1e8]
jne 0x4ccfce
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1b8]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd08a
cmp byte [esi + 0x21], 0
je 0x4cd007
mov ebx, dword [edi + 0x1c0]
test ebx, ebx
je 0x4cd08a
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4cd08a
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1c0]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd08a
cmp esi, dword [edi + 0x1f4]
jne 0x4cd08a
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1b8]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd08a
cmp dword [ebp - 4], 2
jne 0x4cd08a
cmp esi, dword [edi + 0x1ec]
jne 0x4cd043
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1c8]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd08a
cmp esi, dword [edi + 0x1e8]
jne 0x4cd05e
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1c4]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd08a
cmp byte [esi + 0x21], 0
je 0x4cd08a
mov ebx, dword [edi + 0x1cc]
test ebx, ebx
je 0x4cd08a
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4cd08a
lea ecx, [esi + 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1cc]
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov eax, dword [esi + 0x2c]
add eax, 2
mov dword [ebp - 0xc], eax
cmp byte [esi + 0x20], 0
je 0x4cd150
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x50], eax
mov eax, dword [edi + 0x160]
mov edx, dword [eax]
call dword [edx + 0x30]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x48], eax
mov eax, dword [edi + 0x160]
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, dword [esi + 0x38]
mov ebx, dword [esi + 0x30]
sub edx, ebx
sub edx, eax
sar edx, 1
jns 0x4cd0d0
adc edx, 0
add edx, ebx
mov dword [ebp - 0x4c], edx
mov eax, dword [edi + 0x160]
mov edx, dword [eax]
call dword [edx + 0x24]
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
cmp byte [esi + 0x1d], 0
jne 0x4cd118
cmp byte [esi + 0x22], 0
je 0x4cd105
lea ecx, [ebp - 0x50]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x16c]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd142
lea ecx, [ebp - 0x50]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x164]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd142
cmp byte [esi + 0x22], 0
je 0x4cd131
lea ecx, [ebp - 0x50]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x168]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd142
lea ecx, [ebp - 0x50]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x160]
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov eax, dword [ebp - 0x48]
add eax, 2
mov dword [ebp - 0xc], eax
jmp 0x4cd1fc
cmp dword [edi + 0x78], 0
je 0x4cd1e2
mov ebx, dword [esi + 0x24]
cmp ebx, 0xffffffff
je 0x4cd1d1
mov eax, dword [edi + 0x78]
call fcn.00477b6c
dec eax
cmp ebx, eax
jg 0x4cd1d1
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x30]
sub ecx, edx
mov eax, dword [edi + 0x78]
sub ecx, dword [eax + 0x30]
sar ecx, 1
jns 0x4cd184
adc ecx, 0
add ecx, edx
mov dword [ebp - 0x10], ecx
cmp byte [esi + 0x1d], 0
jne 0x4cd1bc
mov dword [ebp - 0x20], 5
mov edx, dword [ebp - 0xc]
push edx
mov edx, dword [ebp - 0x10]
push edx
movzx edx, byte [eax + 0x43]
mov edx, dword [edx*4 + 0x4f160c]
or edx, dword [ebp - 0x20]
push edx
push 1
mov ecx, dword [ebp - 8]
mov edx, dword [esi + 0x24]
mov ebx, dword [eax]
call dword [ebx + 0x30]
jmp 0x4cd1d1
mov edx, dword [ebp - 0x10]
push edx
mov edx, dword [esi + 0x24]
push edx
push 1
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
call fcn.00477ec8
mov eax, dword [edi + 0x78]
mov eax, dword [eax + 0x34]
add eax, dword [ebp - 0xc]
add eax, 2
mov dword [ebp - 0xc], eax
jmp 0x4cd1fc
mov ebx, dword [edi + 0x160]
test ebx, ebx
je 0x4cd1f8
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x30]
add dword [ebp - 0xc], eax
jmp 0x4cd1fc
add dword [ebp - 0xc], 4
cmp byte [esi + 0x1d], 0
jne 0x4cd20a
mov eax, dword [edi + 0x44]
mov dword [ebp - 0x1c], eax
jmp 0x4cd256
cmp esi, dword [edi + 0x1e8]
jne 0x4cd21a
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x1c], eax
jmp 0x4cd256
cmp esi, dword [edi + 0x1ec]
jne 0x4cd22a
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x1c], eax
jmp 0x4cd256
cmp byte [esi + 0x21], 0
je 0x4cd238
mov eax, dword [edi + 0x48]
mov dword [ebp - 0x1c], eax
jmp 0x4cd256
cmp esi, dword [edi + 0x1f0]
je 0x4cd248
cmp esi, dword [edi + 0x1f4]
jne 0x4cd250
mov eax, dword [edi + 0x48]
mov dword [ebp - 0x1c], eax
jmp 0x4cd256
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x1c], eax
cmp dword [esi + 8], 0
je 0x4cd31a
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
sub ecx, eax
mov edx, dword [esi + 0x40]
sub ecx, edx
sar ecx, 1
jns 0x4cd274
adc ecx, 0
add ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0xc]
add ecx, dword [esi + 0x3c]
mov dword [ebp - 0x58], ecx
add eax, edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 4]
sub eax, 1
jb 0x4cd29e
je 0x4cd2bd
dec eax
je 0x4cd2dc
jmp 0x4cd2f9
push 0xff
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [esi + 8]
mov eax, dword [edi + 0x1a0]
call fcn.004a87c8
mov dword [ebp - 0x18], eax
jmp 0x4cd2f9
push 0xff
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [esi + 8]
mov eax, dword [edi + 0x1a4]
call fcn.004a87c8
mov dword [ebp - 0x18], eax
jmp 0x4cd2f9
push 0xff
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [esi + 8]
mov eax, dword [edi + 0x1a8]
call fcn.004a87c8
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x4cd31a
lea ecx, [ebp - 0x60]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x18], edx
call fcn.004049b8
cmp word [esi + 0x28], 0
je 0x4cd427
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
sub ecx, eax
mov edx, dword [esi + 0x48]
sub ecx, edx
sar ecx, 1
jns 0x4cd339
adc ecx, 0
add ecx, eax
mov eax, ecx
mov dword [ebp - 0x2c], eax
add eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x34]
sub eax, 2
mov dword [ebp - 0x28], eax
mov eax, esi
call fcn.004ca5c8
test eax, eax
jle 0x4cd36f
mov eax, dword [edi + 0x1d0]
mov edx, dword [eax]
call dword [edx + 0x30]
mov edx, dword [esi + 0x34]
sub edx, 2
sub edx, eax
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
sub eax, dword [esi + 0x44]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 4]
sub eax, 1
jb 0x4cd387
je 0x4cd3b2
dec eax
je 0x4cd3dd
jmp 0x4cd406
push 0xff
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x64]
movzx eax, word [esi + 0x28]
call fcn.00458c10
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edi + 0x1a0]
call fcn.004a87c8
mov dword [ebp - 0x14], eax
jmp 0x4cd406
push 0xff
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x68]
movzx eax, word [esi + 0x28]
call fcn.00458c10
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edi + 0x1a4]
call fcn.004a87c8
mov dword [ebp - 0x14], eax
jmp 0x4cd406
push 0xff
lea eax, [ebp - 0x30]
push eax
lea edx, [ebp - 0x6c]
movzx eax, word [esi + 0x28]
call fcn.00458c10
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edi + 0x1a8]
call fcn.004a87c8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x4cd427
lea ecx, [ebp - 0x30]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0x14]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x14], edx
call fcn.004049b8
mov eax, esi
call fcn.004ca5c8
test eax, eax
jle 0x4cd4e7
mov ebx, dword [edi + 0x1d0]
test ebx, ebx
je 0x4cd4e7
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4cd4e7
mov eax, dword [esi + 0x34]
sub eax, 2
mov dword [ebp - 0x38], eax
mov eax, dword [edi + 0x1d0]
mov edx, dword [eax]
call dword [edx + 0x30]
mov edx, dword [ebp - 0x38]
sub edx, eax
mov dword [ebp - 0x40], edx
mov eax, dword [edi + 0x1d0]
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, dword [esi + 0x38]
mov ebx, dword [esi + 0x30]
sub edx, ebx
sub edx, eax
sar edx, 1
jns 0x4cd48b
adc edx, 0
add edx, ebx
mov ebx, edx
mov dword [ebp - 0x3c], ebx
mov eax, dword [edi + 0x1d0]
mov edx, dword [eax]
call dword [edx + 0x24]
add ebx, eax
mov dword [ebp - 0x34], ebx
cmp byte [esi + 0x1d], 0
jne 0x4cd4bb
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1d8]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd4e7
cmp esi, dword [edi + 0x1e8]
jne 0x4cd4d6
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1d4]
mov ebx, dword [eax]
call dword [ebx + 0x14]
jmp 0x4cd4e7
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 8]
mov eax, dword [edi + 0x1d0]
mov ebx, dword [eax]
call dword [ebx + 0x14]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4cc909
lea eax, [ebp - 0x6c]
mov edx, 3
call fcn.004064a4
ret