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

Disassembly:
sub esp, 0x30
push ebx
mov ebx, dword [esp + 0x38]
push esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x30], 0
mov eax, dword [ebx]
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], eax
test esi, esi
jne 0x4c1b31
pop esi
xor eax, eax
pop ebx
add esp, 0x30
ret
cmp dword [ebx + 0x210], eax
jne 0x4c1b29
cmp dword [esi + 0x44], eax
jne 0x4c1b29
push edi
mov edi, dword [esp + 0x44]
push edi
push ebx
call fcn.0049fe20
add esp, 8
test eax, eax
jne 0x4c1c2b
test byte [edi + 0x2a], 0x10
jne 0x4c1c2b
cmp dword [esp + 0x4c], 0xa
jne 0x4c1b81
cmp word [edi + 0x20], ax
jl 0x4c1b79
movzx eax, byte [edi + 0x2b]
mov dword [esp + 0x4c], eax
cmp eax, 0xa
jne 0x4c1b81
mov dword [esp + 0x4c], 2
mov ecx, dword [esi + 0x20]
cmp dword [ecx], 1
jne 0x4c1c2b
cmp dword [ecx + 0x1c], 0
jne 0x4c1c2b
cmp dword [esi + 0x24], 0
jne 0x4c1c2b
cmp dword [esi + 0x30], 0
jne 0x4c1c2b
cmp dword [esi + 0x28], 0
jne 0x4c1c2b
cmp dword [esi + 0x3c], 0
jne 0x4c1c2b
cmp dword [esi + 0x34], 0
jne 0x4c1c2b
test byte [esi + 6], 1
jne 0x4c1c2b
mov eax, dword [esi]
cmp dword [eax], 1
jne 0x4c1c2b
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax], 0x74
jne 0x4c1c2b
lea eax, [ecx + 8]
push eax
push 0
push ebx
call fcn.00491b20
mov ebx, eax
add esp, 0xc
mov dword [esp + 0xc], ebx
test ebx, ebx
je 0x4c1c2b
cmp ebx, edi
je 0x4c1c2b
mov dl, byte [ebx + 0x2a]
movzx eax, byte [edi + 0x2a]
movzx ecx, dl
shr ecx, 5
shr eax, 5
not ecx
not eax
xor ecx, eax
test cl, 1
jne 0x4c1c2b
test dl, 0x10
jne 0x4c1c2b
cmp dword [ebx + 0xc], 0
jne 0x4c1c2b
movzx ecx, word [edi + 0x22]
cmp cx, word [ebx + 0x22]
jne 0x4c1c2b
mov ax, word [edi + 0x20]
cmp ax, word [ebx + 0x20]
je 0x4c1c34
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x30
ret
movsx eax, cx
push ebp
xor ebp, ebp
mov dword [esp + 0x4c], eax
test eax, eax
jle 0x4c1ce8
mov eax, dword [edi + 4]
mov edi, dword [ebx + 4]
add edi, 0x10
lea ebx, [eax + 8]
mov al, byte [ebx + 0xd]
cmp al, byte [edi + 5]
jne 0x4c21be
push dword [edi]
push dword [ebx + 8]
call fcn.004c1a10
add esp, 8
test eax, eax
je 0x4c21be
cmp byte [ebx + 0xc], 0
je 0x4c1c83
cmp byte [edi + 4], 0
je 0x4c21be
test ebp, ebp
jle 0x4c1cd3
mov esi, dword [edi - 8]
xor ecx, ecx
mov edx, dword [ebx]
test esi, esi
sete cl
xor eax, eax
test edx, edx
sete al
cmp eax, ecx
jne 0x4c21be
test edx, edx
je 0x4c1cd3
mov al, byte [edx]
cmp al, byte [esi]
jne 0x4c1cc6
test al, al
je 0x4c1cc2
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x4c1cc6
add edx, 2
add esi, 2
test al, al
jne 0x4c1ca6
xor eax, eax
jmp 0x4c1ccb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4c21be
inc ebp
add ebx, 0x18
add edi, 0x18
cmp ebp, dword [esp + 0x4c]
jl 0x4c1c52
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x48]
mov edi, dword [ebp + 8]
test edi, edi
je 0x4c1d34
cmp byte [edi + 0x32], 0
je 0x4c1d01
mov dword [esp + 0x1c], 1
mov esi, dword [ebx + 8]
test esi, esi
je 0x4c21be
lea esp, [esp]
push esi
push edi
call fcn.004c1a40
add esp, 8
test eax, eax
jne 0x4c1d2d
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4c1d10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x30
ret
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x4c1cf3
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4c1d51
push 0xffffffffffffffff
push eax
push dword [ebx + 0x18]
call fcn.004847e0
add esp, 0xc
test eax, eax
jne 0x4c21be
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x18]
test eax, 0x80000
je 0x4c1d69
cmp dword [ebp + 0x10], 0
jne 0x4c21be
test al, al
js 0x4c21be
push dword [ebx + 0x40]
push ecx
call fcn.0049b750
mov esi, dword [esp + 0x4c]
mov ebx, eax
push esi
mov dword [esp + 0x30], ebx
call fcn.0048e680
mov edi, eax
push ebx
push esi
mov dword [esp + 0x50], edi
call fcn.0047d9b0
mov ecx, esi
push ebp
push dword [esp + 0x6c]
mov ebx, dword [ecx + 0x44]
push ecx
mov dword [esp + 0x40], ebx
lea esi, [ebx + 1]
lea eax, [esi + 1]
mov dword [esp + 0x38], esi
mov dword [ecx + 0x44], eax
call fcn.00443c40
mov edx, dword [esp + 0x64]
push edx
mov dword [esp + 0x54], eax
call fcn.0048dd40
push edx
mov dword [esp + 0x3c], eax
call fcn.0048dd40
push 0x37
push ebp
push dword [esp + 0x84]
mov dword [esp + 0x80], eax
push esi
push edx
call fcn.00492ab0
mov eax, dword [esp + 0x64]
add esp, 0x3c
test dword [eax + 0x18], 0x8000000
jne 0x4c1e44
cmp word [ebp + 0x20], 0
jge 0x4c1e05
cmp dword [ebp + 8], 0
jne 0x4c1e1a
cmp dword [esp + 0x1c], 0
jne 0x4c1e1a
mov eax, dword [esp + 0x50]
cmp eax, 2
je 0x4c1e44
cmp eax, 1
je 0x4c1e44
push 0
push esi
push 0x6d
push edi
call fcn.004a3dc0
push 0
push 0
push 0xe
push edi
mov esi, eax
call fcn.004a3dc0
push esi
push edi
mov dword [esp + 0x60], eax
call fcn.004aac70
add esp, 0x28
lea esi, [ebx + 1]
mov eax, dword [esp + 0x10]
test byte [eax + 0x2a], 0x20
jne 0x4c1fbb
push 0x36
push eax
push dword [esp + 0x2c]
push ebx
push dword [esp + 0x54]
call fcn.00492ab0
push 0
push ebx
push 0x6d
push edi
call fcn.004a3dc0
add esp, 0x24
mov dword [esp + 0x34], eax
cmp word [ebp + 0x20], 0
push dword [esp + 0x4c]
jl 0x4c1ed2
push ebx
push 0x68
push edi
call fcn.004a3dc0
push dword [esp + 0x5c]
mov dword [esp + 0x30], eax
push 0
push esi
push 0x49
push edi
call fcn.004a3e30
push ebp
push dword [esp + 0x78]
mov esi, eax
push dword [esp + 0x70]
call fcn.0049a860
push esi
push edi
call fcn.004aac70
push dword [esp + 0x84]
push dword [esp + 0x6c]
push dword [esp + 0x84]
call fcn.00443cc0
add esp, 0x44
lea esi, [ebx + 1]
jmp 0x4c1eed
cmp dword [ebp + 8], 0
jne 0x4c1edd
push esi
push 0x4b
jmp 0x4c1ee0
push ebx
push 0x68
push edi
call fcn.004a3dc0
mov dword [esp + 0x2c], eax
add esp, 0x10
push dword [esp + 0x14]
push ebx
push 0x67
push edi
call fcn.004a3dc0
push dword [esp + 0x5c]
push dword [esp + 0x28]
push esi
push 0x54
push edi
call fcn.004a3e30
push 0xb
push edi
call fcn.004a4340
mov edx, dword [edi + 4]
add esp, 0x2c
mov eax, dword [ebp]
mov ecx, dword [edi]
mov dword [esp + 0x2c], eax
test edx, edx
je 0x4c1f87
cmp byte [ecx + 0x41], 0
jne 0x4c1f87
mov eax, dword [edi + 0x20]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea ebp, [edx + eax*4]
movsx eax, byte [ebp + 1]
push eax
push ecx
call fcn.00452320
mov eax, dword [esp + 0x38]
add esp, 0xc
mov dword [ebp + 0x10], 0
test eax, eax
jne 0x4c1f63
mov dword [ebp + 0x10], eax
mov byte [ebp + 1], al
mov ebp, dword [esp + 0x48]
jmp 0x4c1f93
push eax
call fcn.0049f710
cdq
push edx
push eax
push dword [esp + 0x38]
push dword [edi]
call fcn.0047f640
mov dword [ebp + 0x10], eax
add esp, 0x14
mov byte [ebp + 1], 0xff
mov ebp, dword [esp + 0x48]
jmp 0x4c1f93
push eax
push 0
push ecx
call fcn.00452320
add esp, 0xc
push dword [esp + 0x1c]
push ebx
push 8
push edi
call fcn.004a3dc0
push 0
push ebx
push 0x3d
push edi
call fcn.004a3dc0
push 0
push esi
push 0x3d
push edi
call fcn.004a3dc0
add esp, 0x30
jmp 0x4c1fe9
push dword [ebp]
mov ebx, dword [esp + 0x48]
push 1
push dword [ebp + 0x1c]
push dword [esp + 0x60]
push ebx
call fcn.0049f8b0
mov eax, dword [esp + 0x24]
push dword [eax]
push 0
push dword [eax + 0x1c]
push dword [esp + 0x44]
push ebx
call fcn.0049f8b0
add esp, 0x28
mov ebp, dword [ebp + 8]
test ebp, ebp
je 0x4c2168
mov esi, dword [esp + 0x10]
xor bl, bl
mov byte [esp + 0x1c], bl
mov esi, dword [esi + 8]
test esi, esi
je 0x4c201a
push esi
push ebp
call fcn.004c1a40
add esp, 8
test eax, eax
jne 0x4c201a
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4c2005
push dword [esp + 0x24]
push dword [esi + 0x28]
push dword [esp + 0x28]
push 0x36
push edi
call fcn.004a3e30
push esi
push dword [esp + 0x5c]
call fcn.004ad1b0
push dword [esp + 0x70]
push dword [ebp + 0x28]
push dword [esp + 0x3c]
push 0x37
push edi
call fcn.004a3e30
push ebp
push dword [esp + 0x78]
call fcn.004ad1b0
push 1
push edi
call fcn.004a4340
add esp, 0x40
push 0
push dword [esp + 0x24]
push 0x6d
push edi
call fcn.004a3dc0
push dword [esp + 0x24]
mov dword [esp + 0x44], eax
push dword [esp + 0x34]
push 0x66
push edi
call fcn.004a3dc0
mov eax, dword [esp + 0x48]
add esp, 0x20
test dword [eax + 0x18], 0x8000000
je 0x4c20ed
movzx eax, word [esi + 0x30]
xor ebx, ebx
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x4c20c7
mov esi, dword [esi + 0x20]
mov edi, eax
push dword [esi]
push str.BINARY
call fcn.0043ae40
add esp, 8
test eax, eax
jne 0x4c20bf
inc ebx
add esi, 4
cmp ebx, edi
jl 0x4c20a4
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
cmp ebx, eax
jne 0x4c20e7
push 0xffffffffffffffff
push 0
push esi
push 0x6a
mov bl, 0x10
push edi
mov byte [esp + 0x30], bl
call fcn.004a3e30
add esp, 0x14
jmp 0x4c20f1
mov bl, byte [esp + 0x1c]
jmp 0x4c20f1
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
test byte [eax + 0x2a], 0x20
je 0x4c210b
mov eax, dword [ebp + 0x34]
and al, 3
cmp al, 2
jne 0x4c210b
or bl, 1
mov byte [esp + 0x1c], bl
push 1
push dword [esp + 0x18]
push esi
push 0x6f
push edi
call fcn.004a3e30
push dword [esp + 0x30]
push edi
call fcn.004a4340
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x3c]
inc eax
push eax
push ebx
push 8
push edi
call fcn.004a3dc0
push dword [esp + 0x5c]
push edi
call fcn.004aac70
push 0
push ebx
push 0x3d
push edi
call fcn.004a3dc0
add esp, 0x44
push 0
push esi
push 0x3d
push edi
call fcn.004a3dc0
mov ebp, dword [ebp + 0x14]
add esp, 0x10
test ebp, ebp
jne 0x4c1ff4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4c217a
push eax
push edi
call fcn.004aac70
add esp, 8
push dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
push ebx
call fcn.00499c70
push dword [esp + 0x1c]
push ebx
call fcn.00499c70
mov ebx, dword [esp + 0x48]
add esp, 0x10
test ebx, ebx
je 0x4c21c8
push 0
push 0
push 0x16
push edi
call fcn.004a3dc0
push ebx
push edi
call fcn.004aac70
push 0
push esi
push 0x3d
push edi
call fcn.004a3dc0
add esp, 0x28
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x30
ret
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x30
ret