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

Disassembly:
mov eax, 0x5c
call fcn.0046cd8b
mov ecx, dword [esp + 0x64]
push ebx
mov ebx, dword [esp + 0x64]
mov eax, dword [ebx]
push esi
push edi
xor edi, edi
xor esi, esi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x60], edi
cmp eax, dword [ecx]
je 0x4cf25e
push 0x176
push 0x55a8c6
push 0x65
push 0xbb
push 0x10
call fcn.00491a1b
add esp, 0x14
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x5c
ret
push ebp
mov ebp, dword [esp + 0x7c]
cmp dword [esp + 0x78], edi
jne 0x4cf27f
cmp ebp, edi
jne 0x4cf27f
push ecx
push ebx
call fcn.004b358b
add esp, 8
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret
mov edx, dword [esp + 0x80]
xor ecx, ecx
cmp ebp, edi
jbe 0x4cf29c
mov ebx, dword [edx + ecx*4]
cmp eax, dword [ebx]
jne 0x4cf2eb
inc ecx
cmp ecx, ebp
jb 0x4cf28c
mov ebx, dword [esp + 0x70]
cmp dword [esp + 0x88], edi
jne 0x4cf2bd
call fcn.004b441b
mov dword [esp + 0x60], eax
mov dword [esp + 0x88], eax
cmp eax, edi
je 0x4cfbb8
cmp dword [esp + 0x78], edi
je 0x4cf3c3
push ebx
call fcn.004b2f6b
mov esi, eax
add esp, 4
mov dword [esp + 0x5c], esi
cmp esi, edi
jne 0x4cf310
push 0x194
push 0x55a8c6
push 0x71
jmp 0x4cfafc
push 0x183
push 0x55a8c6
push 0x65
push 0xbb
push 0x10
call fcn.00491a1b
add esp, 0x14
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x5c
ret
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x44]
push 0x4cef7b
push fcn.004cef1b
push 0x4ceefb
push ecx
call fcn.004b327b
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x3c], ebx
cmp ebx, edi
je 0x4cf3b2
cmp dword [ebx + 8], edi
je 0x4cf3b2
mov edx, dword [esp + 0x88]
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0x74]
push ecx
push esi
push edx
call fcn.004b3a3b
add esp, 0x10
test eax, eax
jne 0x4cf3b2
mov eax, dword [esp + 0x78]
mov esi, dword [ebx + 4]
push eax
mov dword [esp + 0x44], esi
call fcn.0049659b
xor edx, edx
div esi
add esp, 4
lea esi, [eax + 1]
mov eax, dword [ebx + 8]
mov dword [esp + 0x28], esi
cmp esi, eax
jbe 0x4cf38a
mov esi, eax
mov dword [esp + 0x28], eax
mov ecx, dword [ebx + 0xc]
dec ecx
mov edx, 1
shl edx, cl
imul eax, edx
mov dword [esp + 0x58], edx
cmp dword [ebx + 0x14], eax
je 0x4cf3c3
push 0x1ad
push 0x55a8c6
push 0x44
jmp 0x4cfafc
mov esi, 1
mov dword [esp + 0x3c], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], esi
lea eax, [esi + ebp]
push 0x1bc
lea esi, [eax*4]
push 0x55a8c6
push esi
mov dword [esp + 0x24], eax
call fcn.0049299b
push 0x1bd
mov ebx, eax
push 0x55a8c6
push esi
mov dword [esp + 0x4c], ebx
call fcn.0049299b
push 0x1be
lea ecx, [esi + 4]
push 0x55a8c6
push ecx
mov dword [esp + 0x40], eax
call fcn.0049299b
push 0x1bf
push 0x55a8c6
push esi
mov dword [esp + 0x50], eax
call fcn.0049299b
add esp, 0x30
mov dword [esp + 0x10], eax
cmp ebx, edi
je 0x4cfaf0
cmp dword [esp + 0x1c], edi
je 0x4cfaf0
mov eax, dword [esp + 0x20]
cmp eax, edi
je 0x4cfaf0
cmp dword [esp + 0x10], edi
je 0x4cfaf0
mov dword [eax], edi
mov eax, dword [esp + 0x38]
add eax, ebp
mov dword [esp + 0x30], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], eax
cmp eax, edi
jbe 0x4cf56a
mov ecx, dword [esp + 0x84]
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
sub ecx, ebx
sub edi, ebx
sub eax, ebx
mov esi, ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edi
mov dword [esp + 0x68], eax
jmp 0x4cf4a3
mov edi, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x78]
cmp dword [esp + 0x14], ebp
jae 0x4cf4b3
mov eax, dword [ecx + esi]
push eax
jmp 0x4cf4b4
push ebx
call fcn.0049659b
add esp, 4
cmp eax, 0x7d0
jb 0x4cf4ca
mov eax, 6
jmp 0x4cf4fa
cmp eax, 0x320
jb 0x4cf4d8
mov eax, 5
jmp 0x4cf4fa
cmp eax, 0x12c
jb 0x4cf4e6
mov eax, 4
jmp 0x4cf4fa
cmp eax, 0x46
jb 0x4cf4f2
mov eax, 3
jmp 0x4cf4fa
cmp eax, 0x14
sbb eax, eax
add eax, 2
lea ecx, [eax - 1]
mov edx, 1
shl edx, cl
mov dword [esi], eax
mov dword [edi + esi + 4], 0
add dword [esp + 0x30], edx
cmp dword [esp + 0x14], ebp
jae 0x4cf521
mov eax, dword [esp + 0x50]
mov eax, dword [eax + esi]
jmp 0x4cf523
mov eax, ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [esi]
add ebx, esi
push ebx
push eax
call fcn.004cefeb
mov edx, dword [esp + 0x5c]
add esp, 8
mov dword [edx + esi], eax
test eax, eax
je 0x4cfb0b
mov ebx, dword [ebx]
cmp ebx, dword [esp + 0x24]
jbe 0x4cf550
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x14]
inc eax
add esi, 4
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x2c]
jb 0x4cf49b
mov ebx, dword [esp + 0x34]
cmp dword [esp + 0x28], 0
je 0x4cf71f
mov esi, dword [esp + 0x3c]
test esi, esi
jne 0x4cf599
cmp dword [esp + 0x38], 1
je 0x4cf71f
push 0x1e3
push 0x55a8c6
push 0x44
jmp 0x4cfafc
cmp dword [esp + 0x38], 0
mov dword [esp + 0x14], 0
je 0x4cf5b9
push 0x1ef
push 0x55a8c6
push 0x44
jmp 0x4cfafc
mov ecx, dword [esp + 0x78]
mov edi, dword [esi + 0xc]
lea eax, [esp + 0x14]
push eax
push ecx
mov dword [ebx + ebp*4], edi
call fcn.004cefeb
mov ecx, eax
add esp, 8
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x4cfb0b
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x24]
ja 0x4cf615
lea edx, [ebp + 1]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
mov dword [edx + ebp*4], ecx
mov ecx, dword [esp + 0x1c]
mov dword [edx + ebp*4 + 4], 0
mov dword [ecx + ebp*4], eax
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x10]
mov dword [eax + ebp*4], edx
jmp 0x4cf71f
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x28]
imul edx, edi
cmp eax, edx
jae 0x4cf648
xor edx, edx
lea eax, [eax + edi - 1]
div edi
cmp eax, dword [esi + 8]
jbe 0x4cf642
push 0x217
push 0x55a8c6
push 0x44
jmp 0x4cfafc
add eax, ebp
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x3c]
mov edi, dword [edx + 0x10]
mov dword [esp + 0x38], ecx
mov ebx, ebp
cmp ebp, dword [esp + 0x18]
jae 0x4cf716
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov ecx, ebx
lea esi, [eax + ecx*4]
mov ecx, dword [esp + 0x10]
sub ebp, eax
sub ecx, eax
mov dword [esp + 0x68], ecx
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
dec eax
cmp ebx, eax
jae 0x4cf69a
mov eax, dword [esp + 0x40]
mov dword [esi], eax
cmp dword [esp + 0x14], eax
jb 0x4cf74f
sub dword [esp + 0x14], eax
jmp 0x4cf6a0
mov edx, dword [esp + 0x14]
mov dword [esi], edx
push 0x233
mov dword [esi + ebp + 4], 0
mov eax, dword [esi]
push 0x55a8c6
push eax
call fcn.0049299b
add esp, 0xc
mov dword [esi + ebp], eax
test eax, eax
je 0x4cf760
mov ecx, dword [esi]
mov edx, dword [esp + 0x38]
push ecx
push edx
push eax
call fcn.0046bc9b
mov eax, dword [esi]
add esp, 0xc
cmp eax, dword [esp + 0x24]
jbe 0x4cf6e5
mov dword [esp + 0x24], eax
cmp dword [edi], 0
je 0x4cf78a
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
add dword [esp + 0x38], edx
mov dword [eax + esi], edi
inc ebx
add esi, 4
lea edi, [edi + ecx*4]
cmp ebx, dword [esp + 0x18]
jb 0x4cf67b
mov ecx, dword [esp + 0x50]
push ecx
call fcn.00492b3b
add esp, 4
mov edx, dword [esp + 0x30]
push 0x250
lea eax, [edx*4 + 4]
push 0x55a8c6
push eax
call fcn.0049299b
add esp, 0xc
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x4cf7b4
push 0x253
jmp 0x4cfaf5
push 0x228
push 0x55a8c6
push 0x44
jmp 0x4cfafc
push 0x236
push 0x55a8c6
push 0x41
push 0xbb
push 0x10
call fcn.00491a1b
mov eax, dword [esp + 0x64]
push eax
call fcn.00492b3b
add esp, 0x18
jmp 0x4cfb0b
push 0x240
push 0x55a8c6
push 0x44
push 0xbb
push 0x10
call fcn.00491a1b
mov ecx, dword [esp + 0x64]
push ecx
call fcn.00492b3b
add esp, 0x18
jmp 0x4cfb0b
mov edi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x30]
lea eax, [edi + ecx*4]
xor ebp, ebp
mov dword [esp + 0x58], eax
mov dword [eax], 0
cmp dword [esp + 0x2c], ebp
jbe 0x4cf836
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
sub eax, esi
mov dword [esp + 0x68], eax
mov dword [eax + esi], edi
mov ecx, dword [esi]
dec ecx
mov edx, 1
shl edx, cl
xor ebx, ebx
test edx, edx
je 0x4cf828
jmp 0x4cf7fb
mov eax, dword [esp + 0x70]
push eax
call fcn.004b339b
add esp, 4
mov dword [edi], eax
test eax, eax
je 0x4cfb0b
mov ecx, dword [esi]
dec ecx
mov edx, 1
shl edx, cl
inc ebx
add edi, 4
cmp ebx, edx
jb 0x4cf7fb
mov eax, dword [esp + 0x68]
inc ebp
add esi, 4
cmp ebp, dword [esp + 0x2c]
jb 0x4cf7df
mov eax, dword [esp + 0x58]
cmp edi, eax
je 0x4cf84b
push 0x266
push 0x55a8c6
push 0x44
jmp 0x4cfafc
mov eax, dword [esp + 0x70]
push eax
call fcn.004b339b
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x4cfb0b
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
jbe 0x4cf93e
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x34]
sub edi, esi
mov dword [esp + 0x68], edi
sub ebx, esi
lea esp, [esp]
mov edx, dword [esi]
mov eax, dword [edx]
cmp ebp, dword [esp + 0x7c]
jae 0x4cf89a
mov ecx, dword [edi + esi]
jmp 0x4cf89e
mov ecx, dword [esp + 0x5c]
push ecx
push eax
call fcn.004b34bb
add esp, 8
test eax, eax
je 0x4cfb0b
cmp dword [ebx + esi], 1
jbe 0x4cf930
mov edx, dword [esi]
mov ecx, dword [esp + 0x88]
mov eax, dword [edx]
mov edx, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x4c]
push eax
push ecx
push edx
call fcn.004b389b
add esp, 0x10
test eax, eax
je 0x4cfb0b
mov ecx, dword [ebx + esi]
mov edi, 1
dec ecx
mov eax, edi
shl eax, cl
cmp eax, edi
jbe 0x4cf92c
mov ecx, dword [esi]
mov edx, dword [esp + 0x88]
lea eax, [ecx + edi*4]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [eax - 4]
mov eax, dword [eax]
push ecx
mov ecx, dword [esp + 0x78]
push edx
push eax
push ecx
call fcn.004b381b
add esp, 0x14
test eax, eax
je 0x4cfb0b
mov ecx, dword [ebx + esi]
dec ecx
mov edx, 1
shl edx, cl
inc edi
cmp edi, edx
jb 0x4cf8ee
mov edi, dword [esp + 0x68]
inc ebp
add esi, 4
cmp ebp, dword [esp + 0x2c]
jb 0x4cf88b
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x74]
push ecx
push edx
push eax
call fcn.004b3b0b
add esp, 0x10
test eax, eax
je 0x4cfb0b
mov ebx, dword [esp + 0x24]
dec ebx
mov esi, 1
mov dword [esp + 0x40], esi
js 0x4cfaad
mov edi, edi
test esi, esi
jne 0x4cf9a2
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push ecx
push eax
push eax
push edx
call fcn.004b389b
add esp, 0x10
test eax, eax
je 0x4cfb0b
cmp dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
jbe 0x4cfaa2
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
sub ebp, eax
sub eax, edi
mov dword [esp + 0x68], eax
jmp 0x4cf9cf
mov eax, dword [esp + 0x68]
add eax, edi
cmp dword [eax + ebp], ebx
jbe 0x4cfa88
mov eax, dword [eax]
movsx esi, byte [eax + ebx]
test esi, esi
je 0x4cfa88
xor eax, eax
test esi, esi
sets al
test eax, eax
je 0x4cf9f5
neg esi
cmp eax, dword [esp + 0x44]
je 0x4cfa31
cmp dword [esp + 0x40], 0
jne 0x4cfa24
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.004b390b
add esp, 0xc
test eax, eax
je 0x4cfb0b
xor ecx, ecx
cmp dword [esp + 0x44], ecx
sete cl
mov dword [esp + 0x44], ecx
sar esi, 1
cmp dword [esp + 0x40], 0
je 0x4cfa5f
mov edx, dword [edi]
mov eax, dword [edx + esi*4]
mov ecx, dword [esp + 0x74]
push eax
push ecx
call fcn.004b34bb
add esp, 8
test eax, eax
je 0x4cfb0b
mov dword [esp + 0x40], 0
jmp 0x4cfa88
mov eax, dword [edi]
mov edx, dword [esp + 0x88]
mov ecx, dword [eax + esi*4]
mov eax, dword [esp + 0x74]
push edx
mov edx, dword [esp + 0x74]
push ecx
push eax
push eax
push edx
call fcn.004b381b
add esp, 0x14
test eax, eax
je 0x4cfb0b
mov eax, dword [esp + 0x14]
inc eax
add edi, 4
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jb 0x4cf9cb
mov esi, dword [esp + 0x40]
dec ebx
jns 0x4cf97b
test esi, esi
je 0x4cfac1
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push eax
push ecx
call fcn.004b358b
add esp, 8
jmp 0x4cfae2
cmp dword [esp + 0x44], 0
je 0x4cfae6
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push edx
push eax
push ecx
call fcn.004b390b
add esp, 0xc
test eax, eax
je 0x4cfb0b
mov dword [esp + 0x64], 1
jmp 0x4cfb0b
push 0x1c3
push 0x55a8c6
push 0x41
push 0xbb
push 0x10
call fcn.00491a1b
add esp, 0x14
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4cfb1c
push eax
call fcn.004b447b
add esp, 4
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4cfb2d
push eax
call fcn.004b344b
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4cfb3e
push eax
call fcn.00492b3b
add esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4cfb4f
push eax
call fcn.00492b3b
add esp, 4
mov edi, dword [esp + 0x20]
test edi, edi
je 0x4cfb7b
mov eax, dword [edi]
mov esi, edi
test eax, eax
je 0x4cfb72
push eax
call fcn.00492b3b
mov eax, dword [esi + 4]
add esi, 4
add esp, 4
test eax, eax
jne 0x4cfb5f
push edi
call fcn.00492b3b
add esp, 4
mov edi, dword [esp + 0x4c]
test edi, edi
je 0x4cfba7
mov eax, dword [edi]
mov esi, edi
test eax, eax
je 0x4cfb9e
push eax
call fcn.004b347b
mov eax, dword [esi + 4]
add esi, 4
add esp, 4
test eax, eax
jne 0x4cfb8b
push edi
call fcn.00492b3b
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4cfbb8
push eax
call fcn.00492b3b
add esp, 4
mov eax, dword [esp + 0x64]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x5c
ret