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

Disassembly:
push ebx
sub esp, 0x18
call fcn.004a5040
mov ebx, dword [esp + 0x20]
sub ebx, 0x20
add dword [eax + 4], 1
mov eax, dword [esp + 0x24]
mov dword [ebx - 0x40], 1
mov dword [ebx - 0x30], eax
mov eax, dword [esp + 0x28]
mov dword [ebx - 0x2c], eax
mov eax, dword [fcn.004a43b0]
mov dword [ebx - 0x28], eax
mov eax, dword [0x4abf08]
mov dword [ebx], 0x432b2b00
mov dword [ebx + 4], 0x474e5543
mov dword [ebx + 8], 0x49e7f0
mov dword [ebx - 0x24], eax
mov dword [esp], ebx
call fcn.00491f20
mov dword [esp], ebx
call fcn.004a4a90
call fcn.004a43b0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
push edi
push esi
push ebx
sub esp, 0xac
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x54], 0x4a55c0
mov dword [esp + 0x58], 0x4a67d8
mov dword [esp + 0x18], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x60], 0x4a5b17
mov dword [esp + 0x64], esp
call fcn.00491d20
cmp dword [esp + 0xc0], 1
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x20], 3
je 0x4a5650
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.00491dc0
mov eax, dword [esp + 0x20]
add esp, 0xac
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x18], 1
add eax, 0xbcd4d500
adc edx, 0xb8b1aabc
cmp edx, 0
jbe 0x4a5750
cmp byte [esp + 0x18], 0
jne 0x4a5763
cmp dword [esp + 0xc4], 6
jne 0x4a5763
mov eax, dword [esp + 0xd0]
mov eax, dword [eax - 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xd0]
mov eax, dword [eax - 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd0]
mov eax, dword [eax - 0xc]
cmp eax, 1
mov dword [esp + 0x2c], eax
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
test byte [esp + 0xc4], 8
je 0x4a58d0
cmp eax, 1
je 0x4a5b23
mov edx, dword [esp + 0x24]
test edx, edx
js 0x4a5b28
mov eax, dword [esp + 0xd0]
mov dword [esp + 4], 0
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.00491e50
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.00491e50
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.00491eb0
mov dword [esp + 0x20], 7
jmp 0x4a5635
cmp eax, 1
seta byte [esp + 0x18]
cmp byte [esp + 0x18], 0
je 0x4a567c
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x40], 0xffffffff
mov dword [esp], eax
call fcn.00491ed0
test eax, eax
mov dword [esp + 0x30], eax
je 0x4a5950
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x88]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x40], 0xffffffff
call fcn.0049e640
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x9c]
call fcn.0049e790
mov dword [esp + 0x90], eax
lea eax, [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.00491e80
cmp dword [esp + 0x7c], 1
mov esi, eax
sbb esi, 0
test esi, esi
js 0x4a5950
je 0x4a595d
mov eax, dword [esp + 0x20]
xor ebp, ebp
xor ecx, ecx
nop
lea esi, [esi]
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or ebp, edx
test bl, bl
js 0x4a5800
xor edi, edi
xor ecx, ecx
nop
lea esi, [esi]
add eax, 1
movzx ebx, byte [eax - 1]
mov edx, ebx
and edx, 0x7f
shl edx, cl
add ecx, 7
or edi, edx
test bl, bl
js 0x4a5820
sub esi, 1
jne 0x4a57f7
lea eax, [ebp + 1]
test edi, edi
mov dword [esp + 0x2c], eax
jne 0x4a596f
cmp dword [esp + 0x2c], 0
je 0x4a5950
mov eax, 2
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
test byte [esp + 0xc4], 1
je 0x4a56bf
cmp eax, 2
je 0x4a5950
cmp byte [esp + 0x18], 0
mov dword [esp + 0x20], 6
jne 0x4a5635
mov eax, dword [esp + 0xd0]
mov esi, dword [esp + 0x24]
mov dword [eax - 0x18], esi
mov esi, dword [esp + 0x28]
mov dword [eax - 0x14], esi
mov esi, dword [esp + 0x30]
mov dword [eax - 0x10], esi
mov esi, dword [esp + 0xd0]
mov eax, dword [esp + 0x78]
mov dword [esi - 8], eax
mov eax, esi
mov esi, dword [esp + 0x2c]
mov dword [eax - 0xc], esi
jmp 0x4a5635
cmp byte [esp + 0x18], 0
jne 0x4a56cd
cmp eax, 1
je 0x4a5b08
mov eax, dword [esp + 0x24]
test eax, eax
jns 0x4a56e2
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x88]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x40], 0xffffffff
call fcn.0049e640
mov edx, dword [esp + 0xd4]
movzx eax, byte [esp + 0x9c]
call fcn.0049e790
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x90], eax
movzx eax, byte [esp + 0x9c]
call fcn.0049e790
mov esi, dword [esp + 0xd0]
mov dword [esi - 0xc], eax
jmp 0x4a56e2
mov dword [esp + 0x20], 8
jmp 0x4a5635
mov dword [esp + 0x2c], 0
mov eax, 1
jmp 0x4a585b
mov eax, dword [esp + 0x98]
lea eax, [eax + edi - 1]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
test edi, edi
je 0x4a5950
test eax, eax
je 0x4a5856
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x24], 0x4db52c
and eax, 8
mov dword [esp + 0x38], eax
jne 0x4a59d9
cmp byte [esp + 0x18], 0
mov dword [esp + 0x24], 0x4db540
jne 0x4a59d9
mov eax, dword [esp + 0xd0]
mov esi, dword [esp + 0xd0]
add eax, 0x20
test byte [esi], 1
je 0x4a59ce
mov eax, dword [esi - 0x30]
mov dword [esp + 0x78], eax
mov eax, dword [eax - 0x50]
mov dword [esp + 0x24], eax
mov byte [esp + 0x37], 0
jmp 0x4a5a21
jle 0x4a5a54
lea eax, [esp + 0x88]
mov dword [esp + 0x40], 0xffffffff
call fcn.0049e570
test eax, eax
je 0x4a5a9c
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x4a5af2
mov eax, dword [esp + 0x84]
test eax, eax
je 0x4a5ad5
add eax, dword [esp + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x80]
call fcn.0049e4f0
lea edx, [esp + 0x84]
mov dword [esp + 0x20], eax
call fcn.0049e4f0
mov edx, dword [esp + 0x80]
cmp edx, 0
jne 0x4a59e0
mov byte [esp + 0x37], 1
jmp 0x4a5a0a
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x4a5a6b
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x4a5a6b
cmp byte [esp + 0x18], 0
je 0x4a5ab1
not edx
xor esi, esi
add edx, dword [esp + 0x94]
xor ecx, ecx
add edx, 1
movzx ebx, byte [edx - 1]
mov eax, ebx
and eax, 0x7f
shl eax, cl
add ecx, 7
or esi, eax
test bl, bl
js 0x4a5a78
test esi, esi
sete al
test al, al
je 0x4a5a0a
mov eax, dword [esp + 0x80]
mov dword [esp + 0x24], eax
mov eax, 3
jmp 0x4a586b
mov dword [esp], edx
mov ecx, dword [esp + 0x78]
lea eax, [esp + 0x88]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x40], 0xffffffff
call fcn.0049e720
xor eax, 1
jmp 0x4a5a94
cmp byte [esp + 0x37], 0
je 0x4a5950
mov dword [esp + 0x24], 0
mov eax, 2
jmp 0x4a586b
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x78]
call fcn.0049e5e0
test al, al
jne 0x4a5a9c
jmp 0x4a5a0a
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
call fcn.004a4b00
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.004a4a90
call fcn.004a43b0
mov dword [esp + 0x40], 1
call fcn.004a34e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x4a746c]
test eax, eax
jne 0x4a5b50
ret
sub esp, 0x1c
mov dword [esp], 0x4abf20
call fcn.00492450
add esp, 0x1c
ret