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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
mov eax, dword [0x655248]
xor eax, ebp
mov dword [esp + 0x98], eax
mov esi, dword [0x657be8]
test esi, esi
je 0x4a21c4
test byte [esi], 0x19
jne 0x4a21e4
mov dword [esp + 0x40], 0xffffffff
xor esi, esi
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp eax, 0x401
je 0x4a1bf0
cmp eax, 0x12
jne 0x4a1bfe
cmp byte [ecx + 0x14], 0
je 0x4a1fc2
mov eax, dword [ecx + 8]
mov byte [eax + 4], 1
xor ebx, ebx
test esi, esi
jne 0x4a2002
jmp 0x4a2033
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x10]
je 0x4a204d
mov dword [esp + 0x3c], esi
mov eax, dword [ecx + 8]
mov esi, ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [esp + 0x4c], ecx
call dword [eax + 0x10]
add esi, 0x2c
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x70], xmm0
mov dword [esp + 0x80], 0xffffffff
lea eax, [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 0x48], esi
mov ecx, esi
call fcn.00490d90
sub esp, 4
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.0048ee40
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x78]
nop word cs:[eax + eax]
test ecx, ecx
je 0x4a1c9e
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
sar eax, 2
mov edx, dword [esp + 0x80]
cmp eax, edx
cmovae eax, edx
cmp dword [esp + 0x7c], eax
jne 0x4a1cd0
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4a1d86
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 2
mov esi, dword [esp + 0x60]
cmp edx, esi
cmovae edx, esi
cmp dword [esp + 0x5c], edx
jne 0x4a1cd4
jmp 0x4a1d62
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x7c]
cmp ecx, eax
jne 0x4a1ce2
cmp edx, dword [esp + 0x5c]
je 0x4a1d5c
mov eax, dword [ecx]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx]
mov edx, dword [ebp + 8]
mov dword [esp], edx
call dword [eax]
sub esp, 4
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x4a1c80
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0x80]
lea edi, [eax + 1]
mov dword [esp + 0x7c], edi
mov esi, dword [ecx]
mov edx, dword [ecx + 4]
sub edx, esi
sar edx, 2
cmp edx, ebx
cmovae edx, ebx
cmp edi, edx
jae 0x4a1c80
cmp dword [esi + eax*4 + 4], 0
jne 0x4a1c80
add eax, 2
nop word cs:[eax + eax]
nop dword [eax]
mov dword [esp + 0x7c], eax
cmp edx, eax
je 0x4a1c80
mov esi, dword [ecx]
cmp dword [esi + eax*4], 0
lea eax, [eax + 1]
je 0x4a1d40
jmp 0x4a1c80
mov eax, ecx
test ecx, ecx
je 0x4a1d86
mov ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0xc]
je 0x4a205a
cmp dword [esp + 0x58], 0
je 0x4a1d86
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x50]
call fcn.004e2560
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4a1db2
mov ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0xc]
je 0x4a1f82
cmp dword [esp + 0x78], 0
je 0x4a1db2
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x70]
call fcn.004e2560
mov esi, dword [ebp + 8]
mov dword [esp], esi
call dword [0x64d984]
sub esp, 4
mov dword [esp], esi
call dword [0x64d940]
sub esp, 4
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x70], xmm0
mov dword [esp + 0x80], 0xffffffff
lea eax, [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
call fcn.00490d90
sub esp, 4
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x50]
call fcn.0048ee40
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x78]
nop dword [eax]
test eax, eax
je 0x4a1e4e
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
sar ecx, 2
mov edx, dword [esp + 0x80]
cmp ecx, edx
cmovae ecx, edx
cmp dword [esp + 0x7c], ecx
jne 0x4a1e80
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x4a1f36
mov edx, dword [ecx + 4]
sub edx, dword [ecx]
sar edx, 2
mov esi, dword [esp + 0x60]
cmp edx, esi
cmovae edx, esi
cmp dword [esp + 0x5c], edx
jne 0x4a1e84
jmp 0x4a1f12
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x7c]
cmp eax, ecx
jne 0x4a1e92
cmp edx, dword [esp + 0x5c]
je 0x4a1f0c
mov eax, dword [eax]
mov ecx, dword [eax + edx*4]
mov eax, dword [ecx]
mov edx, dword [ebp + 8]
mov dword [esp], edx
call dword [eax + 4]
sub esp, 4
mov eax, dword [esp + 0x78]
test eax, eax
je 0x4a1e30
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0x80]
lea ebx, [ecx + 1]
mov dword [esp + 0x7c], ebx
mov esi, dword [eax]
mov edx, dword [eax + 4]
sub edx, esi
sar edx, 2
cmp edx, edi
cmovae edx, edi
cmp ebx, edx
jae 0x4a1e30
cmp dword [esi + ecx*4 + 4], 0
jne 0x4a1e30
add ecx, 2
nop word cs:[eax + eax]
nop
mov dword [esp + 0x7c], ecx
cmp edx, ecx
je 0x4a1e30
mov esi, dword [eax]
cmp dword [esi + ecx*4], 0
lea ecx, [ecx + 1]
je 0x4a1ef0
jmp 0x4a1e30
mov ecx, eax
test eax, eax
je 0x4a1f36
mov eax, dword [ecx + 0x10]
cmp eax, dword [ecx + 0xc]
je 0x4a2085
cmp dword [esp + 0x58], 0
je 0x4a1f36
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x50]
call fcn.004e2560
mov eax, dword [esp + 0x78]
test eax, eax
mov esi, dword [esp + 0x3c]
je 0x4a1f62
mov ecx, dword [eax + 0x10]
cmp ecx, dword [eax + 0xc]
je 0x4a1fa5
cmp dword [esp + 0x78], 0
je 0x4a1f62
mov dword [esp + 0x78], 0
lea ecx, [esp + 0x70]
call fcn.004e2560
mov bl, 1
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x4a1ffe
mov eax, dword [ecx]
call dword [eax + 0x14]
test esi, esi
jne 0x4a2002
jmp 0x4a2033
mov ecx, dword [eax]
mov edx, dword [eax + 4]
cmp ecx, edx
je 0x4a1d9a
nop
cmp dword [ecx], 0
je 0x4a20b5
add ecx, 4
cmp edx, ecx
jne 0x4a1f90
jmp 0x4a1d9a
mov ecx, dword [eax]
mov edx, dword [eax + 4]
cmp ecx, edx
je 0x4a1f4a
nop
cmp dword [ecx], 0
je 0x4a20e8
add ecx, 4
cmp edx, ecx
jne 0x4a1fb0
jmp 0x4a1f4a
mov ecx, dword [0x657bf8]
test ecx, ecx
jne 0x4a1fed
movdqa xmm0, xmmword [0x5e2f00]
movdqu xmmword [esp + 4], xmm0
mov dword [esp], str.Chrome.MessageLoopProblem
call fcn.004f0d00
mov ecx, eax
mov dword [0x657bf8], eax
mov eax, dword [ecx]
mov dword [esp], 3
call dword [eax + 0x14]
sub esp, 4
mov bl, 1
test esi, esi
je 0x4a2033
cmp byte [esi], 0
je 0x4a2033
mov eax, dword [esp + 0x38]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x74], eax
movq xmm0, qword [esp + 0x70]
movq qword [esp + 8], xmm0
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004adb60
mov ecx, dword [esp + 0x98]
xor ecx, ebp
call fcn.005aae21
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
call fcn.004a1920
mov ebx, eax
test esi, esi
jne 0x4a2002
jmp 0x4a2033
mov ecx, dword [eax]
mov edx, dword [eax + 4]
cmp ecx, edx
je 0x4a1d6e
nop word [eax + eax]
cmp dword [ecx], 0
je 0x4a2118
add ecx, 4
cmp edx, ecx
jne 0x4a2070
jmp 0x4a1d6e
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
cmp eax, edx
je 0x4a1f1e
nop word cs:[eax + eax]
nop dword [eax]
cmp dword [eax], 0
je 0x4a2144
add eax, 4
cmp edx, eax
jne 0x4a20a0
jmp 0x4a1f1e
cmp edx, ecx
je 0x4a2177
lea esi, [edx - 4]
cmp esi, ecx
je 0x4a2177
lea esi, [ecx + 4]
jmp 0x4a20db
add esi, 4
cmp edx, esi
je 0x4a2174
mov ebx, dword [esi]
test ebx, ebx
je 0x4a20d0
mov dword [ecx], ebx
add ecx, 4
jmp 0x4a20d0
cmp edx, ecx
je 0x4a218e
lea esi, [edx - 4]
cmp esi, ecx
je 0x4a218a
lea esi, [ecx + 4]
jmp 0x4a210b
add esi, 4
cmp edx, esi
je 0x4a2187
mov edi, dword [esi]
test edi, edi
je 0x4a2100
mov dword [ecx], edi
add ecx, 4
jmp 0x4a2100
cmp edx, ecx
je 0x4a21a1
lea esi, [edx - 4]
cmp esi, ecx
je 0x4a21a1
lea esi, [ecx + 4]
jmp 0x4a2137
add esi, 4
cmp edx, esi
je 0x4a219e
mov ebx, dword [esi]
test ebx, ebx
je 0x4a2130
mov dword [ecx], ebx
add ecx, 4
jmp 0x4a2130
cmp edx, eax
je 0x4a21b4
lea esi, [edx - 4]
cmp esi, eax
je 0x4a21b4
lea esi, [eax + 4]
jmp 0x4a2167
add esi, 4
cmp edx, esi
je 0x4a21b1
mov edi, dword [esi]
test edi, edi
je 0x4a2160
mov dword [eax], edi
add eax, 4
jmp 0x4a2160
mov edx, dword [eax + 4]
cmp ecx, edx
je 0x4a1d9a
mov dword [eax + 4], ecx
jmp 0x4a1d9a
mov edx, dword [eax + 4]
mov esi, dword [esp + 0x3c]
cmp ecx, edx
je 0x4a1f4a
mov dword [eax + 4], ecx
jmp 0x4a1f4a
mov edx, dword [eax + 4]
cmp ecx, edx
je 0x4a1d6e
mov dword [eax + 4], ecx
jmp 0x4a1d6e
mov edx, dword [ecx + 4]
cmp eax, edx
je 0x4a1f1e
mov dword [ecx + 4], eax
jmp 0x4a1f1e
mov dword [esp], str.base_toplevel
mov esi, ecx
call fcn.004aa9a0
mov ecx, esi
mov esi, eax
mov dword [0x657be8], eax
test byte [esi], 0x19
je 0x4a1ba4
mov ebx, ecx
call fcn.00481e40
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x50], 0xffffffff
mov edi, esi
lea esi, [esp + 0x50]
mov dword [esp], esi
call fcn.004a7890
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x70], xmm0
movdqa xmmword [esp + 0x80], xmm0
mov word [esp + 0x70], 0x201
mov dword [esp + 0x74], str.message
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
lea eax, [esp + 0x70]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], esi
mov esi, edi
mov eax, dword [esp + 0x38]
mov dword [esp + 0x20], eax
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 4], edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.MessagePumpForUI::ProcessMessageHelper
mov dword [esp], 0x58
call fcn.004ada40
mov dword [esp + 0x38], eax
mov dword [esp + 0x44], edx
mov al, byte [esp + 0x70]
test al, al
je 0x4a22d4
xor edi, edi
jmp 0x4a22ad
add edi, 1
movzx ecx, al
cmp edi, ecx
jae 0x4a22d4
cmp byte [esp + edi + 0x71], 8
jne 0x4a22a3
mov ecx, dword [esp + edi*8 + 0x80]
test ecx, ecx
je 0x4a22a3
mov eax, dword [ecx]
mov dword [esp], 1
call dword [eax]
sub esp, 4
movzx eax, byte [esp + 0x70]
jmp 0x4a22a3
mov dword [esp + 0x40], str.MessagePumpForUI::ProcessMessageHelper
mov ecx, ebx
jmp 0x4a1bbe