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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x12
push 0
push 0
dec ecx
jne 0x4c17c0
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x4c1e61
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0x6c]
call fcn.004c07bc
cmp byte [ebx + 0x60], 0
jne 0x4c1808
mov eax, dword [ebx + 0x6c]
call fcn.00421d2c
test eax, eax
jne 0x4c17ff
mov dl, 2
mov eax, ebx
call fcn.004c2c8c
jmp 0x4c1808
mov dl, 1
mov eax, ebx
call fcn.004c2c8c
mov eax, dword [ebx + 0x6c]
call fcn.00421d2c
mov esi, eax
sub esi, 1
jno 0x4c181c
call fcn.00404150
test esi, esi
jl 0x4c18ee
inc esi
xor edi, edi
mov edx, edi
mov eax, dword [ebx + 0x6c]
call fcn.004c08dc
mov edx, dword [eax + 0x10]
lea eax, [ebp - 8]
call fcn.00406048
cmp dword [ebp - 8], 0
je 0x4c18e6
cmp byte [ebx + 0x60], 1
jne 0x4c18aa
push 0
mov eax, 0x4c1e7c
mov dword [ebp - 0x28], eax
mov eax, 0x4c1e94
mov dword [ebp - 0x24], eax
mov eax, 0x4c1eac
mov dword [ebp - 0x20], eax
mov eax, 0x4c1ec8
mov dword [ebp - 0x1c], eax
mov eax, 0x4c1ee4
mov dword [ebp - 0x18], eax
mov eax, 0x4c1f14
mov dword [ebp - 0x14], eax
lea edx, [ebp - 0x28]
mov ecx, 5
mov eax, dword [ebp - 8]
call fcn.0048a800
inc eax
jne 0x4c18e6
mov edx, edi
mov eax, dword [ebx + 0x6c]
call fcn.004c08dc
add eax, 0x10
mov edx, 0x4c1ec8
call fcn.00405ff4
jmp 0x4c18e6
push 0
mov eax, 0x4c1f34
mov dword [ebp - 0x30], eax
mov eax, 0x4c1f48
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x30]
mov ecx, 1
mov eax, dword [ebp - 8]
call fcn.0048a800
inc eax
jne 0x4c18e6
mov edx, edi
mov eax, dword [ebx + 0x6c]
call fcn.004c08dc
add eax, 0x10
mov edx, 0x4c1f34
call fcn.00405ff4
inc edi
dec esi
jne 0x4c1827
mov eax, dword [ebx + 0x6c]
call fcn.00421d2c
test eax, eax
jle 0x4c1937
cmp dword [ebx + 0x48], 0
je 0x4c1937
push 0
mov eax, 0x4c1e7c
mov dword [ebp - 0x3c], eax
mov eax, 0x4c1e94
mov dword [ebp - 0x38], eax
mov eax, 0x4c1eac
mov dword [ebp - 0x34], eax
lea edx, [ebp - 0x3c]
mov ecx, 2
mov eax, dword [ebx + 0x48]
call fcn.0048a800
inc eax
jne 0x4c1937
lea eax, [ebx + 0x48]
xor edx, edx
call fcn.00405ff4
cmp byte [ebx + 0x60], 1
jne 0x4c19cc
mov eax, dword [ebx + 0x70]
call fcn.004c1238
lea edx, [ebp - 0xc]
mov eax, dword [0x4bda2c]
call fcn.004bdc20
or ecx, 0xffffffff
mov edx, dword [ebp - 0xc]
mov eax, dword [ebx + 0x70]
call fcn.004c1398
mov eax, dword [ebx + 0x44]
call fcn.004062b4
test eax, eax
jne 0x4c19bf
mov eax, dword [ebx + 0x6c]
cmp dword [eax + 0x2c], 1
jle 0x4c199d
cmp dword [eax + 0x20], 0
jle 0x4c198e
lea eax, [ebx + 0x44]
mov edx, 0x4c1f5c
call fcn.00405ff4
jmp 0x4c19bf
lea eax, [ebx + 0x44]
mov edx, 0x4c1f88
call fcn.00405ff4
jmp 0x4c19bf
cmp dword [eax + 0x20], 0
jle 0x4c19b2
lea eax, [ebx + 0x44]
mov edx, 0x4c1f5c
call fcn.00405ff4
jmp 0x4c19bf
lea eax, [ebx + 0x44]
mov edx, 0x4c1fc0
call fcn.00405ff4
mov eax, dword [ebx + 0x6c]
mov eax, dword [eax + 0x24]
mov edx, ebx
mov ecx, dword [eax]
call dword [ecx + 4]
lea ecx, [ebp - 4]
lea edx, [ebp - 0xe]
mov eax, ebx
call fcn.004c2cf4
mov edx, dword [ebx + 0x68]
mov eax, dword [ebx + 0xc0]
mov ecx, dword [eax]
call dword [ecx + 8]
cmp byte [ebx + 0x60], 1
jne 0x4c1a03
mov eax, dword [ebx + 0x6c]
call fcn.00421d2c
dec eax
jne 0x4c1a03
mov eax, ebx
call fcn.004c1704
test al, al
jne 0x4c1a07
xor eax, eax
jmp 0x4c1a09
mov al, 1
mov byte [ebx + 0xc6], al
mov esi, dword [ebx + 0xc0]
push 1
push 0
push 0
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 4]
movzx edx, word [ebp - 0xe]
mov eax, dword [ebx + 0x64]
call fcn.004b6f2c
mov ecx, dword [ebp - 0x40]
mov edx, 0x4c1fe4
mov eax, esi
call fcn.004b3c54
mov eax, dword [ebp - 4]
push eax
push 0
push 0
lea eax, [ebp - 0x44]
push eax
movzx ecx, word [ebp - 0xe]
xor edx, edx
mov eax, dword [ebx + 0x90]
call fcn.004b7704
mov ecx, dword [ebp - 0x44]
mov edx, 0x4c1ffc
mov eax, esi
call fcn.004b3c54
push 0
push 0
push 0
lea eax, [ebp - 0x48]
push eax
mov ecx, dword [ebp - 4]
movzx edx, word [ebp - 0xe]
mov eax, dword [ebx + 0x98]
call fcn.004b6f2c
mov ecx, dword [ebp - 0x48]
mov edx, 0x4c2018
mov eax, esi
call fcn.004b3c54
push 0
push 0
push 0
lea eax, [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 4]
movzx edx, word [ebp - 0xe]
mov eax, dword [ebx + 0x40]
call fcn.004b6f2c
mov ecx, dword [ebp - 0x4c]
mov edx, 0x4c202c
mov eax, esi
call fcn.004b3c54
cmp byte [ebx + 0xc5], 0
jne 0x4c1ad5
xor ecx, ecx
mov edx, 0x4c2040
mov eax, esi
call fcn.004b3c54
jmp 0x4c1afd
push 0
push 0
push 0
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp - 4]
movzx edx, word [ebp - 0xe]
mov eax, dword [ebx + 0x34]
call fcn.004b6f2c
mov ecx, dword [ebp - 0x50]
mov edx, 0x4c2040
mov eax, esi
call fcn.004b3c54
lea edx, [ebp - 0x54]
mov eax, dword [ebx + 0x78]
call fcn.00422644
mov ecx, dword [ebp - 0x54]
mov edx, 0x4c2054
mov eax, esi
call fcn.004b3c54
cmp byte [ebx + 0x60], 1
jne 0x4c1c32
cmp byte [ebx + 0xc6], 0
je 0x4c1b6a
mov ecx, 0x4c2078
mov edx, 0x4c208c
mov eax, esi
call fcn.004b3c54
xor ecx, ecx
mov edx, 0x4c20b4
mov eax, esi
call fcn.004b3c54
xor ecx, ecx
mov edx, 0x4c20dc
mov eax, esi
call fcn.004b3c54
xor ecx, ecx
mov edx, 0x4c211c
mov eax, esi
call fcn.004b3c54
jmp 0x4c1c50
mov ecx, dword [ebx + 0x44]
mov edx, 0x4c20b4
mov eax, esi
call fcn.004b3c54
cmp dword [ebx + 0x3c], 0
jbe 0x4c1bc9
lea ecx, [ebp - 0x5c]
mov edx, 0x4c20b4
mov eax, esi
call fcn.004b3a2c
push dword [ebp - 0x5c]
push 0x4c2150
push 0x4c2160
push 0x4c2174
push 0x4c2184
push dword [ebx + 0x3c]
push 0x4c21a4
lea eax, [ebp - 0x58]
mov edx, 7
call fcn.004064a8
mov ecx, dword [ebp - 0x58]
mov edx, 0x4c20b4
mov eax, esi
call fcn.004b3c54
mov eax, dword [ebx + 0x6c]
call fcn.00421d2c
test eax, eax
jle 0x4c1c10
lea ecx, [ebp - 0x64]
mov edx, 0x4c20b4
mov eax, esi
call fcn.004b3a2c
push dword [ebp - 0x64]
push 0x4c21b4
push dword [ebp - 0xc]
push 0x4c21a4
lea eax, [ebp - 0x60]
mov edx, 4
call fcn.004064a8
mov ecx, dword [ebp - 0x60]
mov edx, 0x4c20b4
mov eax, esi
call fcn.004b3c54
mov ecx, 0x4c2078
mov edx, 0x4c208c
mov eax, esi
call fcn.004b3c54
mov ecx, dword [ebx + 0x48]
mov edx, 0x4c20dc
mov eax, esi
call fcn.004b3c54
jmp 0x4c1c50
mov ecx, dword [ebx + 0x48]
mov edx, 0x4c20dc
mov eax, esi
call fcn.004b3c54
mov ecx, dword [ebx + 0x44]
mov edx, 0x4c20b4
mov eax, esi
call fcn.004b3c54
lea edx, [ebp - 0x68]
mov eax, dword [ebx + 0xa8]
call fcn.004b4624
mov ecx, dword [ebp - 0x68]
mov edx, 0x4c21dc
mov eax, esi
call fcn.004b3c54
push 0
push 0
push 0
lea eax, [ebp - 0x6c]
push eax
mov ecx, dword [ebp - 4]
movzx edx, word [ebp - 0xe]
mov eax, dword [ebx + 0xa4]
call fcn.004b6f2c
mov ecx, dword [ebp - 0x6c]
mov edx, 0x4c21f8
mov eax, esi
call fcn.004b3c54
mov eax, dword [ebp - 4]
push eax
push 0
push 0
lea eax, [ebp - 0x70]
push eax
movzx ecx, word [ebp - 0xe]
xor edx, edx
mov eax, dword [ebx + 0x88]
call fcn.004b7704
mov ecx, dword [ebp - 0x70]
mov edx, 0x4c2218
mov eax, esi
call fcn.004b3c54
push 0
push 0
push 0
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 4]
movzx edx, word [ebp - 0xe]
mov eax, dword [ebx + 0x94]
call fcn.004b64f0
mov ecx, dword [ebp - 0x74]
mov edx, 0x4c2240
mov eax, esi
call fcn.004b3c54
mov ecx, dword [ebx + 0x9c]
mov edx, 0x4c2284
mov eax, esi
call fcn.004b3c54
mov eax, ebx
call fcn.004c2c24
test al, al
je 0x4c1d33
call fcn.0040fc24
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x78]
xor eax, eax
call fcn.0048cc04
mov ecx, dword [ebp - 0x78]
mov edx, 0x4c22a8
mov eax, esi
call fcn.004b3c54
jmp 0x4c1d52
push dword [ebx + 0x54]
push dword [ebx + 0x50]
lea edx, [ebp - 0x7c]
xor eax, eax
call fcn.0048cc04
mov ecx, dword [ebp - 0x7c]
mov edx, 0x4c22a8
mov eax, esi
call fcn.004b3c54
cmp byte [ebx + 0x8c], 2
je 0x4c1d85
lea edx, [ebp - 0x80]
movzx eax, byte [ebx + 0x8c]
add eax, 1
jno 0x4c1d6f
call fcn.00404150
call fcn.0040cb24
mov ecx, dword [ebp - 0x80]
mov edx, 0x4c22c0
mov eax, esi
call fcn.004b3c54
jmp 0x4c1daa
mov edx, 0x4c22c0
mov eax, esi
call fcn.004b3bc4
test eax, eax
jl 0x4c1daa
mov edx, 0x4c22c0
mov eax, esi
call fcn.004b3bc4
mov edx, eax
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebx + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x4c1dc0
mov edx, dword [ebx + 0x5c]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + pe_nt_image_headers32]
lea edx, [ebp - 0x84]
mov eax, ebx
call fcn.004c2d98
cmp dword [ebp - 0x84], 0
jne 0x4c1e17
lea ecx, [ebp - 0x88]
mov edx, 0x4c22e4
mov eax, esi
call fcn.004b3a2c
cmp dword [ebp - 0x88], 0
je 0x4c1e36
lea ecx, [ebp - 0x8c]
mov edx, 0x4c22e4
mov eax, esi
call fcn.004b3a2c
mov ecx, dword [ebp - 0x8c]
mov edx, 0x4c2308
mov eax, esi
call fcn.004b3c54
jmp 0x4c1e36
lea edx, [ebp - 0x90]
mov eax, ebx
call fcn.004c2d98
mov ecx, dword [ebp - 0x90]
mov edx, 0x4c2308
mov eax, esi
call fcn.004b3c54
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4c1e68
lea eax, [ebp - 0x90]
mov edx, 0x15
call fcn.00405fec
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00405fec
ret