Function at 0x4c66c0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x4c70e6
sub esp, 0x94
call fcn.004c6160
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp]
mov ebp, dword [esp + 4]
test eax, eax
jne 0x4c6715
mov dword [esp + 0x38], ebp
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x98]
xor ecx, ecx
xor edx, edx
xor esi, esi
xor edi, edi
jmp 0x4c6754
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
add esp, 0x94
ret
inc ecx
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x78]
cmp ecx, ebp
jge 0x4c6782
mov ebx, dword [ebx + ecx*4]
mov ebp, dword [ebx + 4]
test ebp, ebp
jne 0x4c6765
mov ebp, dword [ebx + 0x48]
test eax, eax
je 0x4c676d
cmp dword [eax], ebp
jne 0x4c674b
mov dword [esp + 0x48], ecx
mov dword [esp + 0x7c], ebx
mov ebp, dword [ebx + 0x10]
jmp 0x4c67d0
mov ebx, dword [ebx + 0x14]
jmp 0x4c6a3f
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
add esp, 0x94
ret
mov esi, dword [esp + 0x5c]
mov esi, dword [esi + 8]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x48]
mov edi, ebp
mov ebp, esi
mov esi, ebx
mov ebx, dword [esp + 0x7c]
test ebp, ebp
je 0x4c677a
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x64], edi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00492af0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
test eax, eax
jne 0x4c6994
test ecx, ecx
je 0x4c6977
lea eax, [0x581994]
cmp ebx, eax
jne 0x4c68e5
movzx eax, byte [edx + 4]
mov byte [esp + 0x27], al
movzx ecx, byte [edx + 5]
mov byte [esp + 0x25], cl
movzx ebx, byte [edx + 6]
mov byte [esp + 0x23], bl
movzx edx, byte [edx + 7]
mov byte [esp + 0x21], dl
mov ebp, dword [0x8dc0f0]
mov esi, dword [0x8dc0f4]
lea edi, [0x522ce0]
mov dword [esp], edi
mov dword [esp + 4], 0x10
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
call fcn.004496d0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x90], eax
movzx ecx, byte [esp + 0x27]
mov byte [eax + 0xc], cl
movzx ecx, byte [esp + 0x25]
mov byte [eax + 0xd], cl
movzx ecx, byte [esp + 0x23]
mov byte [eax + 0xe], cl
movzx ecx, byte [esp + 0x21]
mov byte [eax + 0xf], cl
mov ecx, dword [esp + 0x5c]
movzx edx, byte [ecx + 0x2c]
cmp edx, 0x20
jbe 0x4c68b4
xor edx, edx
xor ebx, ebx
jmp 0x4c6fbe
mov dword [esp + 0x44], edx
lea eax, [0x522ce0]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.00449820
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
xor edx, edx
jmp 0x4c6f78
lea ecx, [0x5819a8]
cmp ebx, ecx
jne 0x4c6966
mov dword [esp + 0x58], ebp
lea eax, [0x522ce0]
mov dword [esp], eax
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call fcn.00449820
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x5c]
movzx edx, byte [ecx + 0x2c]
cmp edx, 0x80
jbe 0x4c6935
xor edx, edx
xor ebx, ebx
jmp 0x4c6e24
mov dword [esp + 0x44], edx
lea eax, [0x522ce0]
mov dword [esp], eax
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call fcn.00449820
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
xor edx, edx
jmp 0x4c6dde
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x64]
jmp 0x4c67b4
lea eax, [0x581994]
lea ecx, [0x5819a8]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x64]
jmp 0x4c67b4
mov dword [esp + 0x74], esi
mov dword [esp + 0x8c], edi
lea eax, [0x52aae0]
mov dword [esp], eax
call fcn.0040b9c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 8
lea ecx, [0x54294e]
mov dword [eax], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 8], ecx
mov ecx, dword [0x92b5b0]
test ecx, ecx
jne 0x4c69dd
mov ecx, dword [esp + 0x74]
mov dword [eax + 0xc], ecx
jmp 0x4c69ed
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x74]
call fcn.00461c70
mov eax, ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x58191c]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x94
ret
mov ebp, dword [esp + 0x60]
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x98]
mov esi, edx
mov edx, ecx
mov ecx, dword [esp + 0x48]
test ebx, ebx
je 0x4c674b
mov dword [esp + 0x40], esi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x88], edi
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call fcn.00492af0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
test eax, eax
jne 0x4c6d46
test ecx, ecx
je 0x4c6d2c
lea eax, [0x581994]
cmp ebx, eax
jne 0x4c6be5
movzx eax, byte [edx + 4]
mov byte [esp + 0x26], al
movzx ecx, byte [edx + 5]
mov byte [esp + 0x24], cl
movzx ebx, byte [edx + 6]
mov byte [esp + 0x22], bl
movzx edx, byte [edx + 7]
mov byte [esp + 0x20], dl
mov ebp, dword [0x8dc0f0]
mov esi, dword [0x8dc0f4]
lea edi, [0x522ce0]
mov dword [esp], edi
mov dword [esp + 4], 0x10
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
call fcn.004496d0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x90], eax
movzx ecx, byte [esp + 0x26]
mov byte [eax + 0xc], cl
movzx ecx, byte [esp + 0x24]
mov byte [eax + 0xd], cl
movzx ecx, byte [esp + 0x22]
mov byte [eax + 0xe], cl
movzx ecx, byte [esp + 0x20]
mov byte [eax + 0xf], cl
lea ecx, [0x52a7e0]
mov dword [esp], ecx
call fcn.0040b9c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
mov dword [eax + 8], 0x10
mov ecx, dword [0x92b5b0]
test ecx, ecx
jne 0x4c6b49
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
jmp 0x4c6b59
mov edi, eax
mov eax, dword [esp + 0x90]
call fcn.00461c70
mov eax, edi
mov ecx, dword [esp + 0x3c]
inc ecx
mov edx, dword [esp + 0x40]
cmp edx, ecx
jb 0x4c6b6f
mov edi, dword [esp + 0x88]
jmp 0x4c6bb4
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5278c0]
mov dword [esp + 0x10], eax
call fcn.004498e0
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov edx, esi
lea ebx, [edi + ecx*8 - 8]
lea ebp, [0x581b48]
mov dword [ebx], ebp
lea ebx, [edi + ecx*8 - 4]
mov esi, dword [0x92b5b0]
test esi, esi
jne 0x4c6bd5
mov dword [ebx], eax
jmp 0x4c6a29
mov esi, edi
mov edi, ebx
call fcn.00461c70
mov edi, esi
jmp 0x4c6a29
lea ecx, [0x5819a8]
cmp ebx, ecx
jne 0x4c6d12
mov dword [esp + 0x54], ebp
lea eax, [0x522ce0]
mov dword [esp], eax
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call fcn.00449820
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
lea ecx, [0x52a7e0]
mov dword [esp], ecx
call fcn.0040b9c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
mov dword [eax + 8], 0x10
mov ecx, dword [0x92b5b0]
test ecx, ecx
jne 0x4c6c55
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
jmp 0x4c6c65
mov edi, eax
mov eax, dword [esp + 0x90]
call fcn.00461c70
mov eax, edi
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x54]
test byte [ecx], al
mov edx, dword [eax]
add ecx, 8
cmp edx, ecx
je 0x4c6c90
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x10
call fcn.00462540
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x3c]
inc ecx
mov edx, dword [esp + 0x40]
cmp edx, ecx
jb 0x4c6ca6
mov edi, dword [esp + 0x88]
jmp 0x4c6ce1
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5278c0]
mov dword [esp + 0x10], eax
call fcn.004498e0
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov edx, esi
lea ebx, [edi + ecx*8 - 8]
lea ebp, [0x581b48]
mov dword [ebx], ebp
lea ebx, [edi + ecx*8 - 4]
mov esi, dword [0x92b5b0]
test esi, esi
jne 0x4c6d02
mov dword [ebx], eax
jmp 0x4c6a29
mov esi, edi
mov edi, ebx
call fcn.00461c70
mov edi, esi
jmp 0x4c6a29
lea ebp, [0x581b48]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x88]
jmp 0x4c6a29
lea ebp, [0x581b48]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x88]
jmp 0x4c6a29
mov dword [esp + 0x70], esi
mov dword [esp + 0x8c], edi
lea eax, [0x52aae0]
mov dword [esp], eax
call fcn.0040b9c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 8
lea ecx, [0x54294e]
mov dword [eax], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 8], ecx
mov ecx, dword [0x92b5b0]
test ecx, ecx
jne 0x4c6d8f
mov ecx, dword [esp + 0x70]
mov dword [eax + 0xc], ecx
jmp 0x4c6d9f
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x70]
call fcn.00461c70
mov eax, ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x58191c]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
add esp, 0x94
ret
inc edx
mov ecx, ebx
cmp edx, 0x10
jge 0x4c6e1d
cmp ecx, 8
jb 0x4c6dfa
cmp edx, 0x10
jae 0x4c6f69
mov byte [eax + edx], 0xff
lea ebx, [ecx - 8]
jmp 0x4c6ddb
cmp edx, 0x10
jae 0x4c6f5d
mov ebp, 0xffffffff
xchg ebp, eax
shr al, cl
xchg ebp, eax
xchg ebp, ebx
not ebx
xchg ebp, ebx
xchg ebp, ebx
mov byte [eax + edx], bl
xchg ebp, ebx
xor ebx, ebx
jmp 0x4c6ddb
mov edx, 0x10
mov ebx, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x4c], ebx
lea eax, [0x52a840]
mov dword [esp], eax
call fcn.0040b9c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
mov dword [eax + 8], 0x10
mov ecx, dword [0x92b5b0]
test ecx, ecx
jne 0x4c6e61
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
jmp 0x4c6e71
mov edi, eax
mov eax, dword [esp + 0x90]
call fcn.00461c70
mov eax, edi
mov ecx, dword [esp + 0x28]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov ecx, dword [0x92b5b0]
test ecx, ecx
jne 0x4c6e8e
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], ecx
jmp 0x4c6e9e
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x4c]
call fcn.00461c70
mov eax, ecx
mov ecx, dword [esp + 0x58]
test byte [ecx], al
mov edx, dword [eax]
mov ebx, dword [eax + 4]
cmp ebx, 0x10
jle 0x4c6eb3
mov ebx, 0x10
mov dword [esp + 0x6c], eax
add ecx, 8
cmp edx, ecx
je 0x4c6ed2
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00462540
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x30]
inc ecx
mov edx, dword [esp + 0x34]
cmp edx, ecx
jb 0x4c6ee5
mov edi, dword [esp + 0x64]
jmp 0x4c6f1d
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5278c0]
mov dword [esp + 0x10], eax
call fcn.004498e0
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
mov edx, esi
lea ebx, [edi + ecx*8 - 8]
lea ebp, [0x581b60]
mov dword [ebx], ebp
lea ebx, [edi + ecx*8 - 4]
mov esi, dword [0x92b5b0]
test esi, esi
jne 0x4c6f3b
mov dword [ebx], eax
jmp 0x4c6f46
mov esi, edi
mov edi, ebx
call fcn.00461c70
mov edi, esi
lea eax, [0x581994]
mov ebx, edx
mov ebp, edi
mov edx, ecx
lea ecx, [0x5819a8]
jmp 0x4c67b4
mov eax, edx
mov ecx, 0x10
call fcn.00461cf0
mov eax, edx
mov ecx, 0x10
call fcn.00461cf0
inc edx
mov ecx, ebx
cmp edx, 4
jge 0x4c6fb7
cmp ecx, 8
jb 0x4c6f94
cmp edx, 4
jae 0x4c70d9
mov byte [eax + edx], 0xff
lea ebx, [ecx - 8]
jmp 0x4c6f75
cmp edx, 4
jae 0x4c70cd
mov ebp, 0xffffffff
xchg ebp, eax
shr al, cl
xchg ebp, eax
xchg ebp, ebx
not ebx
xchg ebp, ebx
xchg ebp, ebx
mov byte [eax + edx], bl
xchg ebp, ebx
xor ebx, ebx
jmp 0x4c6f75
mov edx, 4
mov ebx, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x50], ebx
lea eax, [0x52a840]
mov dword [esp], eax
call fcn.0040b9c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x10
mov dword [eax + 8], 0x10
mov ecx, dword [0x92b5b0]
test ecx, ecx
jne 0x4c6ffb
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
jmp 0x4c700b
mov edi, eax
mov eax, dword [esp + 0x90]
call fcn.00461c70
mov eax, edi
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov ecx, dword [0x92b5b0]
test ecx, ecx
jne 0x4c7028
mov ecx, dword [esp + 0x50]
mov dword [eax + 0xc], ecx
jmp 0x4c7038
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x50]
call fcn.00461c70
mov eax, ecx
mov ecx, dword [esp + 0x30]
inc ecx
mov edx, dword [esp + 0x34]
cmp edx, ecx
jb 0x4c704b
mov edi, dword [esp + 0x64]
jmp 0x4c708d
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5278c0]
mov dword [esp + 0x10], eax
call fcn.004498e0
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov edx, esi
lea ebx, [edi + ecx*8 - 8]
lea ebp, [0x581b60]
mov dword [ebx], ebp
lea ebx, [edi + ecx*8 - 4]
mov esi, dword [0x92b5b0]
test esi, esi
jne 0x4c70ab
mov dword [ebx], eax
jmp 0x4c70b6
mov esi, edi
mov edi, ebx
call fcn.00461c70
mov edi, esi
lea eax, [0x581994]
mov ebx, edx
mov ebp, edi
mov edx, ecx
lea ecx, [0x5819a8]
jmp 0x4c67b4
mov eax, edx
mov ecx, 4
call fcn.00461cf0
mov eax, edx
mov ecx, 4
call fcn.00461cf0
nop
call fcn.00460860
jmp fcn.004c66c0