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

Disassembly:
sub esp, 0x50
push ebx
push edi
mov edi, ecx
mov eax, dword [edi + 0xa0]
xor ebx, ebx
mov dword [esp + 0x48], edi
cmp dword [eax + 0x94], ebx
jne 0x4a9807
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x54], ecx
cmp ecx, ebx
jne 0x4a9811
push 0xffffffffffffffff
push ebx
push 0x5459
call fcn.0050bdf5
pop edi
xor eax, eax
pop ebx
add esp, 0x50
ret 4
xor eax, eax
cmp ecx, ebx
mov dword [esp + 0x40], eax
jle 0x4a9a51
push ebp
push esi
mov edx, dword [esp + 0x64]
mov ecx, dword [edx + 4]
mov esi, dword [ecx + eax*8 + 4]
mov ebp, dword [esi - 0xc]
cmp ebp, ebx
lea eax, [ecx + eax*8]
mov eax, dword [eax]
jle 0x4a9e2c
cmp eax, 0xe129
jne 0x4a9975
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x18]
push eax
push 1
lea ecx, [esp + 0x1e]
push ecx
push 4
push 0x5ed790
push 1
lea edx, [esp + 0x2f]
push edx
push 4
push 0x5c3064
push 4
push 0x5c3068
push 4
push 0x5ed794
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.005412fb
push ebx
call fcn.0042f810
add byte [esp + 0x57], 0xd0
add byte [esp + 0x56], 0xd0
mov eax, 0x30
sub dword [0x5ed794], eax
sub dword [0x5c3068], eax
sub dword [0x5c3064], eax
sub dword [0x5ed790], eax
mov eax, dword [esp + 0x58]
xor ecx, ecx
inc eax
add esp, 0x44
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff272
mov dword [0x5c3058], 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.004ff272
mov dword [0x5c3054], eax
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax]
mov eax, dword [0x5c3058]
push ecx
lea edx, [esi + 0x2c]
push edx
push eax
call fcn.005402a0
mov edx, dword [esp + 0x28]
mov eax, dword [0x5c3058]
xor ecx, ecx
mov word [eax + edx*2], cx
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
lea edx, [ecx + ecx]
push edx
mov edx, dword [0x5c3054]
lea ecx, [esi + eax*2 + 0x2c]
push ecx
push edx
call fcn.005402a0
mov ecx, dword [esp + 0x3c]
add esp, 0x20
xor eax, eax
mov edx, dword [0x5c3054]
mov word [edx + ecx*2], ax
movzx eax, byte [esp + 0x12]
movzx ecx, byte [esp + 0x13]
push eax
push ecx
mov ecx, edi
call fcn.004a7290
jmp 0x4a9e9c
cmp eax, 0xe124
jne 0x4a9a5e
lea edx, [esp + 0x1c]
push edx
push 4
push 0x5ed790
push 1
lea eax, [esp + 0x23]
push eax
push 4
push 0x5c3064
push 4
push 0x5c3068
push 4
push 0x5ed794
push str._c_c_c_c_c_08x
push esi
mov dword [esp + 0x50], ebx
mov byte [esp + 0x47], 1
call fcn.005412fb
add byte [esp + 0x47], 0xd0
mov eax, 0x30
sub dword [0x5ed794], eax
sub dword [0x5c3068], eax
sub dword [0x5c3064], eax
sub dword [0x5ed790], eax
push 1
call fcn.0042f810
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.004ff272
mov ecx, dword [esp + 0x58]
lea edx, [ecx + ecx]
push edx
add esi, 0x1a
push esi
push eax
mov dword [0x5c3058], eax
call fcn.005402a0
mov ecx, dword [esp + 0x64]
mov edx, dword [0x5c3058]
xor eax, eax
mov word [edx + ecx*2], ax
movzx eax, byte [esp + 0x5b]
add esp, 0x48
push ebx
push eax
mov ecx, edi
call fcn.004a2820
cmp eax, ebx
jne 0x4a9e9c
mov edx, dword [0x5c3058]
push edx
call fcn.004322e0
add esp, 4
pop esi
pop ebp
pop edi
mov eax, 1
pop ebx
add esp, 0x50
ret 4
cmp eax, 0x8168
jne 0x4a9aca
push 0x5ede50
push 4
push 0x5ede5c
push 4
push 0x5ede58
push 4
push 0x5b4ca8
push 4
push 0x5ede54
push 4
push 0x5b4ca4
push str._c_c_c_c_c_08x
push esi
call fcn.005412fb
mov eax, 0x30
sub dword [0x5b4ca4], eax
sub dword [0x5ede54], eax
sub dword [0x5b4ca8], eax
sub dword [0x5ede58], eax
sub dword [0x5ede5c], eax
add esp, 0x34
mov ecx, edi
call fcn.00498700
jmp 0x4a9e9c
cmp eax, 0x8040
jne 0x4a9d07
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.005412fb
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.004ff272
mov ebp, eax
mov eax, dword [esp + 0x68]
xor ecx, ecx
inc eax
add esp, 0x50
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff272
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.004ff272
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax]
push ecx
lea edx, [esi + 0x3e]
push edx
push ebp
call fcn.005402a0
mov ecx, dword [esp + 0x28]
xor eax, eax
mov word [ebp + ecx*2], ax
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
lea eax, [edx + edx]
mov edx, dword [esp + 0x58]
add edi, 0x1f
push eax
lea ecx, [esi + edi*2]
push ecx
push edx
call fcn.005402a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x64]
xor eax, eax
mov word [edx + ecx*2], ax
mov eax, dword [esp + 0x3c]
add edi, dword [esp + 0x38]
lea ecx, [eax + eax]
mov eax, dword [esp + 0x5c]
push ecx
lea edx, [esi + edi*2]
push edx
push eax
call fcn.005402a0
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x68]
xor ecx, ecx
mov word [eax + edx*2], cx
add edi, dword [esp + 0x48]
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esi + edi*2]
push str._08x
push edx
call fcn.005412fb
mov eax, dword [esp + 0x78]
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff272
mov ecx, dword [esp + 0x7c]
lea edx, [ecx + ecx]
push edx
lea ecx, [esi + edi*2 + 0x10]
push ecx
push eax
mov dword [esp + 0x94], eax
call fcn.005402a0
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x94]
add esp, 0x48
xor edx, edx
mov word [esi + eax*2], dx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
mov edx, dword [esp + 0x58]
mov edi, dword [esp + 0x60]
push esi
push edx
push edi
push ebp
call fcn.00434a40
push ebp
call fcn.004ff267
push edi
call fcn.004ff267
mov eax, dword [esp + 0x70]
push eax
call fcn.004ff267
push esi
call fcn.004ff267
mov edi, dword [esp + 0x8c]
add esp, 0x3c
jmp 0x4a9e9c
xor ecx, ecx
lea eax, [ebp + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ff272
lea ecx, [ebp + ebp]
push ecx
push esi
push eax
mov dword [esp + 0x4c], eax
call fcn.005402a0
mov ecx, dword [esp + 0x4c]
xor eax, eax
add esp, 0x10
mov word [ecx + ebp*2], ax
cmp dword [0x5b46e8], ebx
jne 0x4a9da8
mov edx, dword [edi + 0x70]
mov eax, dword [edi + 0x74]
push edx
push eax
push ebp
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [edi + 0xa0]
lea edx, [esp + 0x64]
push edx
call fcn.00470200
mov eax, dword [edi + 0x74]
mov ecx, dword [esp + 0x54]
mov esi, dword [edi + 0x70]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 0xa0]
mov dword [eax + 0x194], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + 0x198], ecx
mov ecx, 1
mov dword [eax + 0x190], esi
mov dword [eax + 0x19c], edx
mov dword [eax + 0x1a0], ecx
mov dword [eax + 0x100], ecx
mov ecx, dword [edi + 0xa0]
cmp dword [ecx + 0x100], ebx
mov ecx, edi
je 0x4a9ddb
mov edx, dword [esp + 0x3c]
push ebx
push 1
push 1
push ebx
push ebp
push edx
call fcn.0049b680
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004ff267
add esp, 4
jmp 0x4a9e9c
call fcn.00499340
mov ecx, dword [esp + 0x3c]
mov edx, dword [edi + 0x70]
mov esi, eax
mov eax, dword [edi + 0x8c]
push eax
mov eax, dword [edi + 0x74]
push ebp
push ecx
mov ecx, dword [edi + 0xa0]
push edx
push eax
call fcn.0047e380
mov ecx, dword [edi + 0xa0]
add esi, eax
push 1
push esi
call fcn.004703a0
push ebx
push ebx
push 1
mov ecx, edi
call fcn.004958c0
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.004ff267
add esp, 4
jmp 0x4a9e9c
cmp eax, 9
je 0x4a9ee6
cmp eax, 0xd
je 0x4a9ee6
cmp eax, 0x3c
je 0x4a9ee6
cmp eax, ebx
je 0x4a9e9c
cmp eax, 0x81fb
jne 0x4a9e5d
push 0x20
mov ecx, edi
call fcn.004a3c50
jmp 0x4a9e9c
cmp eax, 0x31f9
jne 0x4a9e71
push 1
push 1
mov ecx, edi
call fcn.004a8ce0
jmp 0x4a9e94
cmp eax, 0x8034
jne 0x4a9e84
push 1
push ebx
mov ecx, edi
call fcn.004a8ce0
jmp 0x4a9e94
cmp eax, 0x8145
jne 0x4a9ebe
push 1
mov ecx, edi
call fcn.004a8eb0
cmp eax, ebx
je 0x4a9a4f
mov eax, dword [esp + 0x48]
inc eax
cmp eax, dword [esp + 0x5c]
mov dword [esp + 0x48], eax
jl 0x4a9821
pop esi
pop ebp
pop edi
mov eax, 1
pop ebx
add esp, 0x50
ret 4
push ebx
cmp eax, 0x8146
je 0x4a9e8d
movzx edx, ax
mov eax, dword [0x5ed04c]
mov ecx, dword [eax + 0x20]
or edx, 0x10000
push edx
push 0x111
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x4a9e9c
push ebx
push ebx
push eax
mov ecx, edi
call fcn.004a8250
jmp 0x4a9e9c