Function at 0x401000
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x118
mov esi, esp
mov eax, dword [0x57ffac]
xor eax, ebp
mov dword [esi + 0x110], eax
call fcn.00402378
call sub.chrome_elf.dll_SignalInitializeCrashReporting
call fcn.00433e20
xor eax, eax
push eax
push eax
call fcn.0041f370
add esp, 8
call fcn.0041f650
mov edi, eax
mov eax, 0x52a34c
lea ebx, [esi + 8]
mov dword [ebx], eax
push eax
call fcn.00516920
add esp, 4
mov dword [ebx + 4], eax
lea eax, [esi + 0xd4]
mov dword [esi], edi
mov ecx, edi
push ebx
push eax
mov edi, eax
call fcn.0041fb10
push str.crashpad_handler
call fcn.00516920
add esp, 4
mov ecx, edi
mov bl, byte [edi + 0xb]
test bl, bl
mov edx, dword [edi + 4]
movzx edi, bl
mov ecx, edi
cmovs ecx, edx
cmp eax, ecx
jne 0x4010b8
lea ecx, [esi + 0xd4]
push eax
push str.crashpad_handler
push 0xffffffffffffffff
push 0
call fcn.0041ca48
test eax, eax
je 0x40122a
mov bl, byte [esi + 0xdf]
mov edx, dword [esi + 0xd8]
movzx edi, bl
mov dword [esi + 4], edx
push str.fallback_handler
call fcn.00516920
add esp, 4
test bl, bl
cmovs edi, dword [esi + 4]
cmp eax, edi
jne 0x4010ef
lea ecx, [esi + 0xd4]
push eax
push str.fallback_handler
push 0xffffffffffffffff
push 0
call fcn.0041ca48
test eax, eax
je 0x40132b
lea eax, [esi + 0xc8]
push eax
call fcn.0042f6b0
add esp, 4
call sub.chrome_elf.dll_SignalChromeElf
lea ecx, [esi + 0xb0]
call fcn.0041e5e0
movzx ebx, byte [esi + 0xdf]
test bl, bl
jns 0x40111f
mov ebx, dword [esi + 0xd8]
test ebx, ebx
je 0x40114d
push 0x52a33a
call fcn.00516920
add esp, 4
cmp eax, ebx
jne 0x401152
lea ecx, [esi + 0xd4]
push ebx
push 0x52a33a
push 0xffffffffffffffff
push 0
call fcn.0041ca48
test eax, eax
jne 0x401152
call fcn.004352f0
mov eax, dword [esi]
cmp dword [eax + 0x1c], 1
ja 0x401341
mov eax, dword [esi]
mov edi, dword [eax + 0x14]
add eax, 0x18
cmp eax, edi
je 0x4011d3
mov ebx, eax
push str.profile_directory
call fcn.00516920
add esp, 4
movzx ecx, byte [edi + 0x1b]
test cl, cl
jns 0x401184
mov ecx, dword [edi + 0x14]
cmp eax, ecx
jne 0x401341
lea ecx, [edi + 0x10]
push eax
push str.profile_directory
push 0xffffffffffffffff
push 0
call fcn.0041ca48
test eax, eax
jne 0x401341
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x4011b7
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4011ad
jmp 0x4011cd
mov eax, dword [edi + 8]
cmp dword [eax], edi
je 0x4011cd
add edi, 8
mov ecx, dword [edi]
lea edi, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x4011c1
mov edi, eax
cmp ebx, eax
jne 0x40116c
lea edi, [esi + 8]
mov ecx, edi
call fcn.004225d0
push edi
call fcn.0043c840
add esp, 4
test al, al
je 0x401339
push edi
call fcn.00405a08
add esp, 4
push edi
call fcn.0043c694
add esp, 4
test eax, eax
je 0x401339
push eax
call fcn.0043c69d
add esp, 4
mov ebx, eax
lea ecx, [esi + 8]
call fcn.004226f0
test ebx, ebx
jne 0x401341
xor edi, edi
jmp 0x40168b
mov edi, dword [esi]
push edi
call fcn.0043cd24
add esp, 4
mov ecx, edi
push str.no_periodic_tasks
call fcn.0041faa0
xor ebx, ebx
test al, al
jne 0x401488
lea ecx, [esi + 8]
call fcn.0043e124
lea ebx, [esi + 0xb0]
mov ecx, edi
push 0x52a028
push ebx
call fcn.0041fb10
lea ecx, [esi + 8]
push ebx
call fcn.0043e178
cmp byte [ebx + 0xb], 0
jns 0x401287
push dword [esi + 0xb0]
mov ebx, eax
call fcn.004fe838
mov eax, ebx
add esp, 4
xor ebx, ebx
test al, al
je 0x401488
lea eax, [esi + 0x104]
mov dword [eax], 0xffffffff
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call ebx
mov dword [esi + 4], eax
mov edi, dword [esi + 0x30]
call ebx
push 2
push 0
push 0x400
lea ecx, [esi + 0x104]
push ecx
push dword [esi + 4]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x401484
lea ecx, [esi + 0xb0]
push dword [esi + 0x104]
call fcn.00433e90
push 0x58
call fcn.004fe808
add esp, 4
mov ebx, eax
mov ecx, eax
call fcn.0043c908
mov edi, esp
sub esp, 8
mov ecx, esp
lea eax, [esi + 0xb0]
push eax
call fcn.00433f00
mov ecx, ebx
call fcn.0043c9c8
mov esp, edi
test al, al
je 0x40131b
mov ecx, ebx
call fcn.0043cb04
lea ecx, [esi + 0xb0]
call fcn.00433fb0
jmp 0x401486
mov ecx, dword [esi]
call fcn.004016c6
mov edi, eax
jmp 0x401696
lea ecx, [esi + 8]
call fcn.004226f0
lea edi, [esi + 8]
mov ecx, edi
call fcn.004225d0
push edi
push 7
call fcn.00428fc0
add esp, 8
test al, al
je 0x401573
lea edi, [esi + 8]
mov ecx, edi
call fcn.004239c0
test al, al
je 0x401573
lea ebx, [esi + 0x104]
mov ecx, ebx
call fcn.00434bb0
mov ecx, ebx
push 0x2001f
push str.SoftwareMicrosoftWindows_NTCurrentVersionAppCompatFlagsLayers
push 0x80000001
call fcn.00434c90
test eax, eax
jne 0x401568
xor eax, eax
mov dword [esi + 0xfc], eax
mov dword [esi + 0xf8], eax
mov dword [esi + 0x100], eax
cmp byte [esi + 0x13], 0
jns 0x4013b8
mov edi, dword [esi + 8]
lea ebx, [esi + 0xf8]
lea ecx, [esi + 0x104]
push ebx
push edi
call fcn.00434df0
test eax, eax
jne 0x401551
movzx eax, byte [esi + 0x103]
test al, al
jns 0x4013ea
mov ebx, dword [esi + 0xf8]
mov eax, dword [esi + 0xfc]
xor ecx, ecx
inc ecx
lea edx, [esi + 0xec]
push ecx
push ecx
push ecx
push 0x52a0f6
push eax
push ebx
push edx
call fcn.0042bfd0
add esp, 0x1c
mov ebx, 0xffffffcc
lea edi, [esi + 0xe0]
mov eax, dword [ebx + 0x52a130]
mov dword [esi + 0xe0], eax
push edi
lea eax, [esi + 0xec]
push eax
call fcn.004018ba
add esp, 8
add ebx, 4
jne 0x401411
mov eax, dword [esi + 0xec]
mov ecx, dword [esi + 0xf0]
cmp eax, ecx
je 0x401503
sub ecx, eax
sar ecx, 2
imul ecx, ecx, 0xaaaaaaab
push 1
push 0x52a0f6
push eax
push ecx
push edi
call fcn.0042d240
add esp, 0x14
cmp byte [esi + 0xeb], 0
jns 0x401472
mov edi, dword [esi + 0xe0]
cmp byte [esi + 0x13], 0
jns 0x40150e
mov eax, dword [esi + 8]
jmp 0x401511
xor ebx, ebx
mov edi, dword [esi]
mov eax, str.user_data_dir
lea ecx, [esi + 0xb0]
mov dword [ecx], eax
push eax
call fcn.00516920
add esp, 4
lea edx, [esi + 0xb0]
mov dword [edx + 4], eax
mov ecx, edi
push edx
lea edi, [esi + 8]
push edi
call fcn.0041fc00
call fcn.0041f650
mov ecx, str.user_data_dir
push ecx
push 0x52a34c
push edi
push eax
call fcn.0043cfd8
add esp, 0x10
mov edi, eax
test ebx, ebx
je 0x4014de
test edi, edi
je 0x4014de
mov ecx, ebx
call fcn.0043cc98
lea ecx, [esi + 8]
call fcn.004226f0
test ebx, ebx
je 0x401696
mov ecx, ebx
call fcn.0043c9a8
push ebx
call fcn.004fe838
add esp, 4
jmp 0x401696
cmp byte [esi + 0x13], 0
jns 0x401537
mov eax, dword [esi + 8]
jmp 0x40153a
lea eax, [esi + 8]
lea ecx, [esi + 0x104]
push edi
push eax
call fcn.00434ec0
cmp byte [esi + 0xeb], 0
jns 0x401546
push dword [esi + 0xe0]
call fcn.004fe838
add esp, 4
jmp 0x401546
lea eax, [esi + 8]
lea ecx, [esi + 0x104]
push eax
call fcn.00434d50
lea ecx, [esi + 0xec]
call fcn.00401ace
cmp byte [esi + 0x103], 0
jns 0x401568
push dword [esi + 0xf8]
call fcn.004fe838
add esp, 4
lea ecx, [esi + 0x104]
call fcn.00434d10
mov edi, dword [ebp + 8]
lea ecx, [esi + 8]
call fcn.004226f0
push 0x28
push str..._.._chrome_app_chrome_exe_main_win.cc
call fcn.00424ce0
add esp, 8
test eax, eax
jle 0x4015c5
mov ebx, edi
lea edi, [esi + 8]
mov ecx, edi
push 0xffffffffffffffff
push 0xff
push str..._.._chrome_app_chrome_exe_main_win.cc
call fcn.00424d40
lea eax, [esi + 0x10]
push 0x17
push str.About_to_load_main_DLL.
push eax
call fcn.00401b1f
add esp, 0xc
mov ecx, edi
mov edi, ebx
call fcn.004250e0
call fcn.004022f9
mov ebx, eax
mov ecx, eax
push dword [esi + 0xcc]
push dword [esi + 0xc8]
push edi
call fcn.0040214a
mov dword [esi], eax
mov ecx, ebx
call fcn.004022c8
test ebx, ebx
je 0x4015f5
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
push 0x52a351
call fcn.00516920
add esp, 4
mov bl, byte [esi + 0xdf]
test bl, bl
mov edx, dword [esi + 0xd8]
movzx edi, bl
mov ecx, edi
cmovs ecx, edx
cmp eax, ecx
jne 0x401644
lea ecx, [esi + 0xd4]
push eax
push 0x52a351
push 0xffffffffffffffff
push 0
call fcn.0041ca48
test eax, eax
je 0x40167b
mov bl, byte [esi + 0xdf]
mov edx, dword [esi + 0xd8]
movzx edi, bl
mov dword [esi + 4], edx
push 0x52a346
call fcn.00516920
add esp, 4
test bl, bl
cmovs edi, dword [esi + 4]
cmp eax, edi
jne 0x401677
lea ecx, [esi + 0xd4]
push eax
push 0x52a346
push 0xffffffffffffffff
push 0
call fcn.0041ca48
test eax, eax
je 0x40167b
mov edi, dword [esi]
jmp 0x40168b
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, dword [esi]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea ecx, [esi + 0xb0]
call fcn.0041e610
cmp byte [esi + 0xdf], 0
jns 0x4016ad
push dword [esi + 0xd4]
call fcn.004fe838
add esp, 4
mov ecx, dword [esi + 0x110]
xor ecx, ebp
call fcn.004fe871
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10