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

Disassembly:
sub esp, 0x50
push ebx
push ebp
mov ebp, ecx
mov eax, dword [ebp + 0xa0]
xor ebx, ebx
cmp dword [eax + 0x94], ebx
jne 0x4a9643
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x54], ecx
cmp ecx, ebx
jne 0x4a964d
push 0xffffffffffffffff
push ebx
push 0x5459
call fcn.0050c4d3
pop ebp
xor eax, eax
pop ebx
add esp, 0x50
ret 4
xor eax, eax
cmp ecx, ebx
mov dword [esp + 0x44], eax
jle 0x4a9d54
push esi
push edi
lea ecx, [ecx]
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + 4]
mov esi, dword [ecx + eax*8 + 4]
mov edi, dword [esi - 0xc]
cmp edi, ebx
lea eax, [ecx + eax*8]
mov eax, dword [eax]
jle 0x4a9cd1
cmp eax, 0xe129
jne 0x4a9813
mov edx, dword [0x5c30f4]
mov ecx, dword [0x5ed800]
mov eax, dword [0x5c30f0]
mov dword [esp + 0x48], edx
mov edx, dword [0x5c30e4]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x48], eax
mov eax, dword [0x5c30e0]
mov dword [esp + 0x1c], edx
mov edi, dword [0x5ed804]
lea edx, [esp + 0x18]
push edx
push 1
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x1e]
push eax
push 4
push 0x5ed800
push 1
lea ecx, [esp + 0x2f]
push ecx
push 4
push 0x5c30f0
push 4
push 0x5c30f4
push 4
push 0x5ed804
push str._c_c_c_c_c_c_08x_08x
push esi
mov byte [esp + 0x52], bl
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x54], ebx
mov byte [esp + 0x53], 1
call fcn.00540b9b
add byte [esp + 0x53], 0xd0
add byte [esp + 0x52], 0xd0
mov eax, 0x30
sub dword [0x5ed804], eax
sub dword [0x5c30f4], eax
sub dword [0x5c30f0], eax
sub dword [0x5ed800], eax
mov eax, dword [esp + 0x54]
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff95f
mov dword [0x5c30e4], eax
mov eax, dword [esp + 0x60]
xor ecx, ecx
inc eax
add esp, 0x44
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff95f
mov edx, dword [0x5c30e4]
mov dword [0x5c30e0], eax
mov eax, dword [esp + 0x18]
push eax
lea ecx, [esi + 0x2c]
push ecx
inc eax
push eax
push edx
call fcn.0044c530
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
push eax
lea edx, [esi + ecx*2 + 0x2c]
push edx
inc eax
push eax
mov eax, dword [0x5c30e0]
push eax
call fcn.0044c530
movzx ecx, byte [esp + 0x36]
movzx edx, byte [esp + 0x37]
add esp, 0x24
push ecx
push edx
mov ecx, ebp
call fcn.004a7100
mov eax, dword [0x5c30e4]
push eax
call fcn.004ff96a
mov ecx, dword [0x5c30e0]
push ecx
call fcn.004ff96a
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x44]
mov dword [0x5c30f4], edx
mov edx, dword [esp + 0x20]
mov dword [0x5c30f0], eax
mov eax, dword [esp + 0x58]
add esp, 8
mov dword [0x5ed804], edi
mov dword [0x5ed800], ecx
mov dword [0x5c30e4], edx
mov dword [0x5c30e0], eax
jmp 0x4a9d3f
cmp eax, 0xe124
jne 0x4a9940
mov edx, dword [0x5c30f0]
mov eax, dword [0x5ed800]
mov ecx, dword [0x5c30f4]
mov edi, dword [0x5ed804]
mov dword [esp + 0x48], edx
lea edx, [esp + 0x1c]
push edx
push 4
push 0x5ed800
push 1
mov dword [esp + 0x54], eax
lea eax, [esp + 0x23]
push eax
push 4
push 0x5c30f0
push 4
push 0x5c30f4
push 4
push 0x5ed804
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x5c30e4]
push str._c_c_c_c_c_08x
push esi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x47], 1
mov dword [esp + 0x70], ecx
call fcn.00540b9b
add byte [esp + 0x47], 0xd0
mov eax, 0x30
sub dword [0x5ed804], eax
sub dword [0x5c30f4], eax
sub dword [0x5c30f0], eax
sub dword [0x5ed800], eax
mov eax, dword [esp + 0x50]
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff95f
mov ecx, dword [esp + 0x54]
push ecx
add esi, 0x1a
push esi
inc ecx
push ecx
push eax
mov dword [0x5c30e4], eax
call fcn.0044c530
movzx eax, byte [esp + 0x5b]
add esp, 0x48
push ebx
push eax
mov ecx, ebp
call fcn.004a2930
mov esi, eax
cmp esi, ebx
jne 0x4a9900
mov ecx, dword [0x5c30e4]
push ecx
call fcn.004322f0
add esp, 4
mov edx, dword [0x5c30e4]
push edx
call fcn.004ff96a
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov dword [0x5c30f4], eax
mov eax, dword [esp + 0x40]
add esp, 4
mov dword [0x5ed804], edi
mov dword [0x5c30f0], ecx
mov dword [0x5ed800], edx
mov dword [0x5c30e4], eax
jmp 0x4a9d3b
cmp eax, 0x8168
jne 0x4a99ac
push 0x5edec0
push 4
push 0x5edecc
push 4
push 0x5edec8
push 4
push 0x5b4dc0
push 4
push 0x5edec4
push 4
push 0x5b4dbc
push str._c_c_c_c_c_08x
push esi
call fcn.00540b9b
mov eax, 0x30
sub dword [0x5b4dbc], eax
sub dword [0x5edec4], eax
sub dword [0x5b4dc0], eax
sub dword [0x5edec8], eax
sub dword [0x5edecc], eax
add esp, 0x34
mov ecx, ebp
call fcn.004985c0
jmp 0x4a9d3f
cmp eax, 0x8040
jne 0x4a9bb6
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
push 1
lea ecx, [esp + 0x30]
push ecx
push 1
lea edx, [esp + 0x3c]
push edx
push 1
lea eax, [esp + 0x48]
push eax
push 1
lea ecx, [esp + 0x54]
push ecx
push 1
lea edx, [esp + 0x60]
push edx
push 1
lea eax, [esp + 0x6c]
push eax
push 1
lea ecx, [esp + 0x78]
push ecx
push str._c_c_c_c_c_c_c_08x_08x_08x
push esi
mov byte [esp + 0x6c], bl
mov byte [esp + 0x70], bl
mov byte [esp + 0x74], bl
mov byte [esp + 0x78], bl
mov byte [esp + 0x7c], bl
mov byte [esp + 0x80], bl
mov byte [esp + 0x84], bl
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
call fcn.00540b9b
mov eax, dword [esp + 0x60]
add byte [esp + 0x84], 0xd0
add byte [esp + 0x80], 0xd0
add byte [esp + 0x7c], 0xd0
add byte [esp + 0x78], 0xd0
add byte [esp + 0x74], 0xd0
add byte [esp + 0x70], 0xd0
add byte [esp + 0x6c], 0xd0
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff95f
mov edi, eax
mov eax, dword [esp + 0x68]
xor ecx, ecx
inc eax
add esp, 0x50
mov edx, 2
mul edx
seto cl
mov dword [esp + 0x50], edi
neg ecx
or ecx, eax
push ecx
call fcn.004ff95f
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff95f
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esi + 0x3e]
push ecx
inc eax
push eax
push edi
call fcn.0044c530
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push eax
add edi, 0x1f
lea edx, [esi + edi*2]
push edx
inc eax
push eax
mov eax, dword [esp + 0x68]
push eax
call fcn.0044c530
add edi, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x64]
push eax
lea ecx, [esi + edi*2]
push ecx
inc eax
push eax
push edx
call fcn.0044c530
add edi, dword [esp + 0x54]
lea eax, [esp + 0x78]
push eax
lea ecx, [esi + edi*2]
push str._08x
push ecx
call fcn.00540b9b
mov eax, dword [esp + 0x84]
xor ecx, ecx
inc eax
add esp, 0x44
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff95f
mov ecx, dword [esp + 0x44]
push ecx
lea edx, [esi + edi*2 + 0x10]
push edx
inc ecx
push ecx
push eax
mov dword [esp + 0x5c], eax
call fcn.0044c530
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x70]
push edx
mov edx, dword [esp + 0x68]
push eax
push ecx
push edx
push edi
push esi
call fcn.00434aa0
add esp, 0x40
push esi
call fcn.004ff96a
push edi
call fcn.004ff96a
mov eax, dword [esp + 0x44]
push eax
call fcn.004ff96a
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004ff96a
add esp, 0x10
jmp 0x4a9d3f
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff95f
push edi
push esi
lea ecx, [edi + 1]
push ecx
push eax
mov dword [esp + 0x50], eax
call fcn.0044c530
add esp, 0x14
cmp dword [0x5b4800], ebx
jne 0x4a9c4d
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp + 0x74]
push eax
push ecx
mov ecx, dword [ebp + 0xa0]
push edi
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x64]
push eax
call fcn.0046ec80
mov eax, dword [ebp + 0x74]
mov ecx, dword [esp + 0x54]
mov esi, dword [ebp + 0x70]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0xa0]
mov dword [eax + 0x1ac], esi
mov esi, dword [esp + 0x50]
mov dword [eax + 0x1b0], ecx
mov ecx, 1
mov dword [eax + 0x1a8], esi
mov dword [eax + 0x1b4], edx
mov dword [eax + 0x1b8], ecx
mov dword [eax + 0x100], ecx
mov ecx, dword [ebp + 0xa0]
cmp dword [ecx + 0x100], ebx
mov ecx, ebp
je 0x4a9c80
mov edx, dword [esp + 0x3c]
push ebx
push 1
push 1
push ebx
push edi
push edx
call fcn.0049b590
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004ff96a
add esp, 4
jmp 0x4a9d3f
call fcn.00499200
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebp + 0x70]
mov esi, eax
mov eax, dword [ebp + 0x8c]
push eax
mov eax, dword [ebp + 0x74]
push edi
push ecx
mov ecx, dword [ebp + 0xa0]
push edx
push eax
call fcn.0047d880
mov ecx, dword [ebp + 0xa0]
add esi, eax
push 1
push esi
call fcn.0046ee20
push ebx
push ebx
push 1
mov ecx, ebp
call fcn.00495900
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004ff96a
add esp, 4
jmp 0x4a9d3f
cmp eax, 9
je 0x4a9d89
cmp eax, 0xd
je 0x4a9d89
cmp eax, 0x3c
je 0x4a9d89
cmp eax, ebx
je 0x4a9d3f
cmp eax, 0x81fb
jne 0x4a9d02
push 0x20
mov ecx, ebp
call fcn.004a3ab0
jmp 0x4a9d3f
cmp eax, 0x31f9
jne 0x4a9d16
push 1
push 1
mov ecx, ebp
call fcn.004a8b20
jmp 0x4a9d39
cmp eax, 0x8034
jne 0x4a9d29
push 1
push ebx
mov ecx, ebp
call fcn.004a8b20
jmp 0x4a9d39
cmp eax, 0x8145
jne 0x4a9d61
push 1
mov ecx, ebp
call fcn.004a8cf0
mov esi, eax
cmp esi, ebx
je 0x4a9d52
mov eax, dword [esp + 0x4c]
inc eax
cmp eax, dword [esp + 0x5c]
mov dword [esp + 0x4c], eax
jl 0x4a9660
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x50
ret 4
push ebx
cmp eax, 0x8146
je 0x4a9d32
movzx edx, ax
mov eax, dword [0x5ed0c0]
mov ecx, dword [eax + 0x20]
or edx, 0x10000
push edx
push 0x111
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4a9d3f
push ebx
push ebx
push eax
mov ecx, ebp
call fcn.004a8080
jmp 0x4a9d3f