Function at 0x4a4abd
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x270
mov dword [esp + 4], ecx
mov eax, dword [0x596ff8]
xor eax, ebp
mov dword [esp + 0x268], eax
call fcn.004c355c
test al, al
je 0x4a4b14
lea esi, [esp + 0x1a0]
push str._IsThreadInLoaderLock__
push 0x165
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
push esi
call fcn.00423ce0
add esp, 0x10
mov ecx, esi
call fcn.00423d50
mov ecx, esi
call fcn.00423d60
xor eax, eax
lea ecx, [esp + 0x258]
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov dword [ecx + 8], eax
push ecx
mov esi, dword [esp + 8]
push dword [esi]
call fcn.004c3580
add esp, 8
mov edi, dword [esi]
mov eax, dword [edi + 0x3c]
mov esi, dword [edi + 0x40]
cmp eax, esi
je 0x4a4ba2
lea edi, [esp + 0x1a0]
movzx ecx, byte [eax]
lea ebx, [eax + 1]
test cl, 1
je 0x4a4b5a
mov edx, dword [eax + 8]
mov ecx, dword [eax + 4]
jmp 0x4a4b5e
shr ecx, 1
mov edx, ebx
push ecx
push edx
push edi
call fcn.004384d0
add esp, 0xc
lea eax, [esp + 0x258]
push eax
push edi
call fcn.004c3580
add esp, 8
test byte [esp + 0x1a0], 1
je 0x4a4b93
push dword [esp + 0x1a8]
call fcn.005128f8
add esp, 4
add ebx, 0xb
mov eax, ebx
cmp ebx, esi
jne 0x4a4b47
mov eax, dword [esp + 4]
mov edi, dword [eax]
movzx eax, byte [edi + 0xc]
test al, 1
jne 0x4a4bae
shr eax, 1
jmp 0x4a4bb1
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4a4c1a
add edi, 0xc
lea esi, [esp + 0x40]
mov ecx, esi
push str.database
call fcn.004025b0
lea ebx, [esp + 0x1a0]
mov ecx, ebx
mov edx, esi
push edi
call fcn.004a5fee
add esp, 4
lea eax, [esp + 0x258]
push eax
push ebx
call fcn.004c3580
add esp, 8
test byte [ebx], 1
je 0x4a4c01
push dword [esp + 0x1a8]
call fcn.005128f8
add esp, 4
test byte [esp + 0x40], 1
je 0x4a4c14
push dword [esp + 0x48]
call fcn.005128f8
add esp, 4
mov eax, dword [esp + 4]
mov edi, dword [eax]
movzx eax, byte [edi + 0x18]
test al, 1
jne 0x4a4c26
shr eax, 1
jmp 0x4a4c29
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x4a4c92
add edi, 0x18
lea esi, [esp + 0x40]
mov ecx, esi
push str.metrics_dir
call fcn.004025b0
lea ebx, [esp + 0x1a0]
mov ecx, ebx
mov edx, esi
push edi
call fcn.004a5fee
add esp, 4
lea eax, [esp + 0x258]
push eax
push ebx
call fcn.004c3580
add esp, 8
test byte [ebx], 1
je 0x4a4c79
push dword [esp + 0x1a8]
call fcn.005128f8
add esp, 4
test byte [esp + 0x40], 1
je 0x4a4c8c
push dword [esp + 0x48]
call fcn.005128f8
add esp, 4
mov eax, dword [esp + 4]
mov edi, dword [eax]
movzx eax, byte [edi + 0x24]
test al, 1
jne 0x4a4ca0
mov ecx, eax
shr ecx, 1
jmp 0x4a4ca3
mov ecx, dword [edi + 0x28]
test ecx, ecx
je 0x4a4d4d
lea ecx, [edi + 0x24]
inc ecx
mov edx, eax
shr dl, 1
test al, 1
cmovne ecx, dword [edi + 0x2c]
movzx eax, dl
cmovne eax, dword [edi + 0x28]
lea ebx, [esp + 0x40]
push eax
push ecx
push ebx
call fcn.004384d0
add esp, 0xc
lea esi, [esp + 0x120]
mov ecx, esi
push 0x53fbfd
call fcn.004025b0
lea edi, [esp + 0x1a0]
mov ecx, edi
mov edx, esi
push ebx
call fcn.004a5fee
add esp, 4
lea eax, [esp + 0x258]
push eax
push edi
call fcn.004c3580
add esp, 8
test byte [edi], 1
je 0x4a4d1b
push dword [esp + 0x1a8]
call fcn.005128f8
add esp, 4
test byte [esp + 0x120], 1
je 0x4a4d34
push dword [esp + 0x128]
call fcn.005128f8
add esp, 4
test byte [esp + 0x40], 1
je 0x4a4d47
push dword [esp + 0x48]
call fcn.005128f8
add esp, 4
mov eax, dword [esp + 4]
mov edi, dword [eax]
mov esi, dword [edi + 0x30]
lea ecx, [edi + 0x34]
cmp esi, ecx
je 0x4a4ed2
mov eax, ecx
mov dword [esp + 8], ecx
lea eax, [esi + 0x10]
push 0x3d
push eax
lea eax, [esp + 0x178]
push eax
call fcn.00405c54
add esp, 0xc
movzx eax, byte [esi + 0x1c]
test al, 1
je 0x4a4d87
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x24]
jmp 0x4a4d8c
shr eax, 1
lea edx, [esi + 0x1d]
lea ecx, [esp + 0x170]
push eax
push edx
call fcn.00420efc
mov ecx, dword [eax + 8]
mov dword [esp + 0x128], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x120], xmm0
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
movzx eax, byte [esp + 0x120]
test al, 1
je 0x4a4dd7
mov ecx, dword [esp + 0x128]
mov eax, dword [esp + 0x124]
jmp 0x4a4de0
shr eax, 1
lea ecx, [esp + 0x121]
push eax
push ecx
lea eax, [esp + 0x48]
push eax
call fcn.004384d0
add esp, 0xc
lea ebx, [esp + 0x1c]
mov ecx, ebx
push str.annotation
call fcn.004025b0
lea edi, [esp + 0x1a0]
mov ecx, edi
mov edx, ebx
lea eax, [esp + 0x40]
push eax
call fcn.004a5fee
add esp, 4
lea eax, [esp + 0x258]
push eax
push edi
call fcn.004c3580
add esp, 8
test byte [esp + 0x1a0], 1
je 0x4a4e41
push dword [esp + 0x1a8]
call fcn.005128f8
add esp, 4
test byte [esp + 0x1c], 1
je 0x4a4e54
push dword [esp + 0x24]
call fcn.005128f8
add esp, 4
test byte [esp + 0x40], 1
je 0x4a4e67
push dword [esp + 0x48]
call fcn.005128f8
add esp, 4
test byte [esp + 0x120], 1
je 0x4a4e80
push dword [esp + 0x128]
call fcn.005128f8
add esp, 4
test byte [esp + 0x170], 1
je 0x4a4e99
push dword [esp + 0x178]
call fcn.005128f8
add esp, 4
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x4a4eaa
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4a4ea0
jmp 0x4a4ec0
mov eax, dword [esi + 8]
cmp dword [eax], esi
je 0x4a4ec0
add esi, 8
mov ecx, dword [esi]
lea esi, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x4a4eb4
mov esi, eax
cmp eax, dword [esp + 8]
jne 0x4a4d61
mov eax, dword [esp + 4]
mov edi, dword [eax]
mov ebx, dword [edi + 0x48]
mov eax, dword [edi + 0x4c]
mov dword [esp + 8], eax
cmp ebx, eax
je 0x4a4f4a
lea edi, [esp + 0x40]
mov ecx, edi
push 0x54e4eb
call fcn.004025b0
lea esi, [esp + 0x1a0]
mov ecx, esi
mov edx, edi
push ebx
call fcn.004a5fee
add esp, 4
lea eax, [esp + 0x258]
push eax
push esi
call fcn.004c3580
add esp, 8
test byte [esp + 0x1a0], 1
je 0x4a4f2e
push dword [esp + 0x1a8]
call fcn.005128f8
add esp, 4
test byte [esp + 0x40], 1
je 0x4a4f41
push dword [esp + 0x48]
call fcn.005128f8
add esp, 4
add ebx, 0xc
cmp dword [esp + 8], ebx
jne 0x4a4ee0
xor eax, eax
dec eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x24c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 1
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [esp + 0x24c], 0x551f3c
mov dword [esp + 0x250], eax
mov byte [esp + 0x254], 0
test eax, eax
je 0x4a501e
pcmpeqd xmm0, xmm0
lea esi, [esp + 0x170]
movdqa xmmword [esi + 0x20], xmm0
movdqa xmmword [esi + 0x10], xmm0
movdqa xmmword [esi], xmm0
mov ecx, dword [esp + 4]
mov edx, dword [ecx]
xor edi, edi
mov ecx, esi
push edi
push 0x59a524
push edi
push 0x59a518
push edi
push 0x59a508
push eax
push dword [edx + 0x64]
push dword [0x597170]
push dword [0x59716c]
push dword [0x597168]
call fcn.0044d9f4
lea ebx, [esp + 0x120]
mov ecx, esi
push ebx
call fcn.0044dcea
lea esi, [esp + 0x1c]
mov ecx, esi
push str.__initial_client_data
call fcn.004025b0
movzx eax, byte [ebx]
test al, 1
je 0x4a507e
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
jmp 0x4a5087
xor edi, edi
push 2
call fcn.0042ae10
add esp, 4
mov ebx, 0
test al, al
je 0x4a5656
call fcn.0042b8e0
lea esi, [esp + 0x1a0]
mov ecx, esi
push eax
push 2
push 0x18c
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.0042ba80
lea eax, [esp + 0x1a8]
push 0xb
push 0x551ddc
push eax
call fcn.00401c91
add esp, 0xc
mov ecx, esi
call fcn.0042bb30
xor edi, edi
xor ebx, ebx
jmp 0x4a5656
shr eax, 1
lea edx, [esp + 0x121]
mov ecx, esi
push eax
push edx
call fcn.00420efc
mov ecx, dword [eax + 8]
mov dword [esp + 0x48], ecx
movq xmm0, qword [eax]
movq qword [esp + 0x40], xmm0
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
movzx eax, byte [esp + 0x40]
test al, 1
je 0x4a50bc
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
jmp 0x4a50c2
shr eax, 1
lea ecx, [esp + 0x41]
lea esi, [esp + 0x1a0]
push eax
push ecx
push esi
call fcn.004384d0
add esp, 0xc
lea eax, [esp + 0x258]
push eax
push esi
call fcn.004c3580
add esp, 8
test byte [esi], 1
je 0x4a50f9
push dword [esp + 0x1a8]
call fcn.005128f8
add esp, 4
test byte [esp + 0x40], 1
je 0x4a510c
push dword [esp + 0x48]
call fcn.005128f8
add esp, 4
test byte [esp + 0x1c], 1
je 0x4a511f
push dword [esp + 0x24]
call fcn.005128f8
add esp, 4
test byte [esp + 0x120], 1
je 0x4a5138
push dword [esp + 0x128]
call fcn.005128f8
add esp, 4
pxor xmm0, xmm0
movdqa xmmword [esp + 0x140], xmm0
xor esi, esi
mov dword [esp + 0x164], esi
mov dword [esp + 0x160], esi
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x130], xmm0
movdqa xmmword [esp + 0x120], xmm0
mov dword [esp + 0x14c], 0x100
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff6
call edi
mov dword [esp + 0x158], eax
push 0xfffffffffffffff5
call edi
mov dword [esp + 0x15c], eax
push 0xfffffffffffffff4
call edi
mov dword [esp + 0x160], eax
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], esi
mov dword [esp + 0x11c], esi
mov dword [esp + 0x110], 0xffffffff
mov dword [esp + 0x108], 0x551f40
mov dword [esp + 0x10c], esi
mov byte [esp + 0x110], 0
mov eax, dword [0x59a548]
mov ecx, dword [0x599af4]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4a5bda
mov eax, dword [0x59a550]
mov ecx, dword [0x599af4]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x4a5c1f
mov ecx, dword [0x59a544]
test ecx, ecx
je 0x4a52a6
cmp dword [0x59a54c], 0
je 0x4a52a6
mov dword [esp + 0x120], 0x48
lea esi, [esp + 0x40]
mov dword [esi], 0xffffffff
xor eax, eax
push esi
push eax
push 1
push eax
call ecx
test eax, eax
je 0x4a52ef
push 2
call fcn.0042ae10
add esp, 4
test al, al
je 0x4a561c
lea esi, [esp + 0x1a0]
mov ecx, esi
push 2
push 0x1bd
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.0042aea0
lea eax, [esp + 0x1a8]
push 0x44
push str.InitializeProcThreadAttributeList__size__succeeded__expected_failure
push eax
call fcn.00401c91
add esp, 0xc
mov ecx, esi
call fcn.0042b2a0
jmp 0x4a561c
mov dword [esp + 0x120], 0x44
mov dword [esp + 8], 0
mov dword [esp], 0
mov eax, dword [esp + 4]
mov eax, dword [eax]
movzx edx, byte [eax]
test dl, 1
jne 0x4a52dc
cmp dl, 0x18
jb 0x4a52e6
mov esi, ebx
shr edx, 1
jmp 0x4a537c
cmp dword [eax + 4], 0xc
jae 0x4a5377
mov esi, ebx
xor ebx, ebx
jmp 0x4a53d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4a55d0
push dword [esp + 0x40]
call fcn.00512923
add esp, 4
mov dword [esp + 0x164], eax
push esi
mov esi, eax
push 0
push 1
push eax
call dword [0x59a544]
test eax, eax
je 0x4a56ac
lea edi, [esp + 0x108]
mov ecx, edi
call fcn.004a63b2
mov eax, dword [esp + 0x164]
mov dword [edi + 4], eax
lea edi, [esp + 0x114]
mov ecx, edi
push 8
call fcn.004a6148
mov ebx, dword [edi + 4]
cmp ebx, dword [edi + 8]
mov dword [esp + 8], esi
je 0x4a56f1
mov eax, dword [0x597168]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x118], ebx
mov esi, ebx
jmp 0x4a57ad
mov esi, ebx
mov edx, dword [eax + 4]
add edx, 0xfffffff4
lea ebx, [eax + 0xc]
lea edi, [esp + 0x1a0]
mov ecx, edi
push ebx
push 0xffffffffffffffff
push edx
push eax
call fcn.004215e6
test byte [edi], 1
je 0x4a53a3
mov eax, dword [esp + 0x1a8]
jmp 0x4a53aa
lea eax, [esp + 0x1a2]
push str.rundll32.exe
push eax
call fcn.00527fa2
add esp, 8
test eax, eax
sete bl
test byte [esp + 0x1a0], 1
je 0x4a53d6
push dword [esp + 0x1a8]
call fcn.005128f8
add esp, 4
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xf0], xmm0
test byte [esp + 0x258], 1
je 0x4a53f6
mov eax, dword [esp + 0x260]
jmp 0x4a53fd
lea eax, [esp + 0x25a]
xor ecx, ecx
mov edx, 0
test bl, bl
jne 0x4a541b
mov edx, dword [esp + 4]
mov edx, dword [edx]
test byte [edx], 1
jne 0x4a5418
add edx, 2
jmp 0x4a541b
mov edx, dword [edx + 8]
lea edi, [esp + 0xf0]
push edi
push esi
push ecx
push ecx
push dword [esp + 0x10]
push 1
push ecx
push ecx
push eax
push edx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4a5573
push dword [esp + 0xf4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, eax
push 1
call fcn.0042ae10
add esp, 4
mov ebx, eax
test edi, edi
jne 0x4a5496
test bl, bl
je 0x4a5496
call fcn.0042b8e0
lea ecx, [esp + 0x1a0]
push eax
push 1
push 0x20d
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.0042ba80
lea eax, [esp + 0x1a8]
push 0x12
push str.CloseHandle_thread
push eax
call fcn.00401c91
add esp, 0xc
test edi, edi
sete al
and bl, al
cmp bl, 1
jne 0x4a54ae
lea ecx, [esp + 0x1a0]
call fcn.0042bb30
push dword [esp + 0xf0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, eax
push 1
call fcn.0042ae10
add esp, 4
mov ebx, eax
test edi, edi
jne 0x4a5500
test bl, bl
je 0x4a5500
call fcn.0042b8e0
lea ecx, [esp + 0x40]
push eax
push 1
push 0x210
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.0042ba80
lea eax, [esp + 0x48]
push 0x13
push str.CloseHandle_process
push eax
call fcn.00401c91
add esp, 0xc
test edi, edi
sete al
and bl, al
cmp bl, 1
jne 0x4a5515
lea ecx, [esp + 0x40]
call fcn.0042bb30
mov esi, dword [esp + 4]
mov ecx, dword [esi]
add ecx, 0x60
mov dword [esp + 0x1c], 0xffffffff
lea edi, [esp + 0x1c]
push edi
call fcn.004a5e40
pxor xmm0, xmm0
movdqu xmmword [esp + 0x30], xmm0
movdqu xmmword [esp + 0x20], xmm0
mov dword [esp + 0x1c], 2
xor eax, eax
lea ecx, [esp + 0x10]
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov dword [ecx + 8], eax
mov eax, dword [esi]
add eax, 0x54
push ecx
push edi
push eax
call fcn.004c2e04
add esp, 0xc
mov edi, eax
mov ebx, eax
mov esi, dword [esp + 8]
jmp 0x4a5622
xor edi, edi
push 2
call fcn.0042ae10
add esp, 4
mov ebx, 0
test al, al
mov esi, dword [esp + 8]
je 0x4a5622
call fcn.0042b8e0
lea edi, [esp + 0x1a0]
mov ecx, edi
push eax
push 2
push 0x208
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.0042ba80
lea eax, [esp + 0x1a8]
push 0xd
push str.CreateProcess
push eax
call fcn.00401c91
add esp, 0xc
mov ecx, edi
call fcn.0042bb30
jmp 0x4a561e
push 2
call fcn.0042ae10
add esp, 4
test al, al
je 0x4a561c
call fcn.0042b8e0
lea esi, [esp + 0x1a0]
mov ecx, esi
push eax
push 2
push 0x1c1
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.0042ba80
lea eax, [esp + 0x1a8]
push 0x28
push str.InitializeProcThreadAttributeList__size_
push eax
call fcn.00401c91
add esp, 0xc
mov ecx, esi
call fcn.0042bb30
xor esi, esi
xor edi, edi
xor ebx, ebx
lea ecx, [esp + 0x108]
call fcn.004a62e4
test esi, esi
je 0x4a563b
push esi
call fcn.0051292c
add esp, 4
mov eax, dword [esp + 0x114]
test eax, eax
je 0x4a5656
mov dword [esp + 0x118], eax
push eax
call fcn.005128f8
add esp, 4
lea ecx, [esp + 0x24c]
call fcn.004a4552
test byte [esp + 0x258], 1
je 0x4a567b
push dword [esp + 0x260]
call fcn.005128f8
add esp, 4
xor eax, eax
inc eax
mov ecx, edi
cmp cl, 1
adc eax, 0
mov dword [0x59a540], eax
mov ecx, dword [esp + 4]
call fcn.004a5f76
mov ecx, dword [esp + 0x268]
xor ecx, ebp
call fcn.00512931
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 2
call fcn.0042ae10
add esp, 4
test al, al
je 0x4a561e
call fcn.0042b8e0
lea edi, [esp + 0x1a0]
mov ecx, edi
push eax
push 2
push 0x1cc
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.0042ba80
lea eax, [esp + 0x1a8]
push 0x21
push 0x551ead
jmp 0x4a55be
mov edx, dword [esp + 0x114]
sub ebx, edx
mov edi, ebx
sar edi, 2
lea eax, [edi + 1]
cmp eax, 0x40000000
jae 0x4a5c71
mov ecx, ebx
sar ecx, 1
cmp ecx, eax
cmovb ecx, eax
cmp edi, 0x1fffffff
mov esi, 0x3fffffff
cmovb esi, ecx
test esi, esi
mov dword [esp], edi
je 0x4a5753
mov dword [esp + 0xc], edx
cmp esi, 0x40000000
jae 0x4a5c7d
lea eax, [esi*4]
push eax
call fcn.00512878
add esp, 4
mov edi, eax
mov edx, dword [esp + 0xc]
jmp 0x4a5755
xor edi, edi
lea eax, [edi + esi*4]
mov dword [esp + 0xc], eax
mov eax, dword [0x597168]
mov ecx, dword [esp]
lea esi, [edi + ecx*4]
add esi, 4
mov dword [esi - 4], eax
test ebx, ebx
jle 0x4a5780
push ebx
push edx
push edi
mov ebx, edx
call fcn.005162a0
mov edx, ebx
add esp, 0xc
mov dword [esp + 0x114], edi
mov dword [esp + 0x118], esi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11c], eax
test edx, edx
je 0x4a57ad
push edx
call fcn.005128f8
add esp, 4
mov esi, dword [esp + 0x118]
cmp esi, dword [esp + 0x11c]
je 0x4a57ce
mov eax, dword [0x59716c]
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x118], esi
mov edi, esi
jmp 0x4a5885
mov edx, dword [esp + 0x114]
sub esi, edx
mov edi, esi
sar edi, 2
lea eax, [edi + 1]
cmp eax, 0x40000000
jae 0x4a5c71
mov ecx, esi
sar ecx, 1
cmp ecx, eax
cmovb ecx, eax
cmp edi, 0x1fffffff
mov ebx, 0x3fffffff
cmovb ebx, ecx
test ebx, ebx
je 0x4a5829
mov dword [esp], edx
cmp ebx, 0x40000000
jae 0x4a5c7d
lea eax, [ebx*4]
push eax
call fcn.00512878
add esp, 4
mov edx, dword [esp]
jmp 0x4a582b
xor eax, eax
lea ebx, [eax + ebx*4]
mov ecx, dword [0x59716c]
lea edi, [eax + edi*4]
add edi, 4
mov dword [edi - 4], ecx
test esi, esi
jle 0x4a585c
push esi
push edx
push eax
mov esi, edx
mov dword [esp + 0xc], ebx
mov ebx, eax
call fcn.005162a0
mov eax, ebx
mov ebx, dword [esp + 0xc]
mov edx, esi
add esp, 0xc
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], ebx
test edx, edx
je 0x4a5885
push edx
call fcn.005128f8
add esp, 4
mov edi, dword [esp + 0x118]
cmp edi, dword [esp + 0x11c]
mov esi, dword [esp + 8]
je 0x4a58aa
mov eax, dword [0x597170]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x118], edi
mov ebx, edi
jmp 0x4a5963
mov edx, dword [esp + 0x114]
sub edi, edx
mov esi, edi
sar esi, 2
lea eax, [esi + 1]
cmp eax, 0x40000000
jae 0x4a5c71
mov ecx, edi
sar ecx, 1
cmp ecx, eax
cmovb ecx, eax
cmp esi, 0x1fffffff
mov ebx, 0x3fffffff
cmovb ebx, ecx
test ebx, ebx
je 0x4a5905
mov dword [esp], edx
cmp ebx, 0x40000000
jae 0x4a5c7d
lea eax, [ebx*4]
push eax
call fcn.00512878
add esp, 4
mov edx, dword [esp]
jmp 0x4a5907
xor eax, eax
lea ecx, [eax + ebx*4]
mov dword [esp], ecx
mov ecx, dword [0x597170]
lea ebx, [eax + esi*4]
add ebx, 4
mov dword [ebx - 4], ecx
test edi, edi
jle 0x4a5933
push edi
push edx
push eax
mov esi, edx
mov edi, eax
call fcn.005162a0
mov eax, edi
mov edx, esi
add esp, 0xc
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ebx
mov eax, dword [esp]
mov dword [esp + 0x11c], eax
test edx, edx
mov esi, dword [esp + 8]
je 0x4a5963
push edx
call fcn.005128f8
add esp, 4
mov ebx, dword [esp + 0x118]
mov eax, dword [esp + 4]
mov eax, dword [eax]
cmp ebx, dword [esp + 0x11c]
je 0x4a5988
mov eax, dword [eax + 0x64]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x118], ebx
mov edi, ebx
jmp 0x4a5a4a
mov dword [esp], eax
mov edx, dword [esp + 0x114]
sub ebx, edx
mov edi, ebx
sar edi, 2
lea eax, [edi + 1]
cmp eax, 0x40000000
jae 0x4a5c71
mov ecx, ebx
sar ecx, 1
cmp ecx, eax
cmovb ecx, eax
cmp edi, 0x1fffffff
mov esi, 0x3fffffff
cmovb esi, ecx
test esi, esi
je 0x4a59ea
mov dword [esp + 0xc], edx
cmp esi, 0x40000000
jae 0x4a5c7d
lea eax, [esi*4]
push eax
call fcn.00512878
add esp, 4
mov ecx, eax
mov edx, dword [esp + 0xc]
jmp 0x4a59ec
xor ecx, ecx
lea esi, [ecx + esi*4]
mov eax, dword [esp]
mov eax, dword [eax + 0x64]
lea edi, [ecx + edi*4]
add edi, 4
mov dword [edi - 4], eax
test ebx, ebx
jle 0x4a5a1d
push ebx
push edx
push ecx
mov ebx, edx
mov dword [esp + 0xc], esi
mov esi, ecx
call fcn.005162a0
mov ecx, esi
mov esi, dword [esp + 0xc]
mov edx, ebx
add esp, 0xc
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], edi
mov dword [esp + 0x11c], esi
test edx, edx
mov esi, dword [esp + 8]
je 0x4a5a4a
push edx
call fcn.005128f8
add esp, 4
mov edi, dword [esp + 0x118]
cmp edi, dword [esp + 0x11c]
lea ebx, [esp + 0x120]
je 0x4a5a72
mov eax, dword [esp + 0x250]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x118], edi
jmp 0x4a5b34
mov edx, dword [esp + 0x114]
sub edi, edx
mov ebx, edi
sar ebx, 2
lea eax, [ebx + 1]
cmp eax, 0x40000000
jae 0x4a5c71
mov ecx, edi
sar ecx, 1
cmp ecx, eax
cmovb ecx, eax
cmp ebx, 0x1fffffff
mov esi, 0x3fffffff
cmovb esi, ecx
test esi, esi
mov dword [esp], ebx
je 0x4a5ad4
mov dword [esp + 0xc], edx
cmp esi, 0x40000000
jae 0x4a5c7d
lea eax, [esi*4]
push eax
call fcn.00512878
add esp, 4
mov ebx, eax
mov edx, dword [esp + 0xc]
jmp 0x4a5ad6
xor ebx, ebx
lea eax, [ebx + esi*4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x250]
mov ecx, dword [esp]
lea esi, [ebx + ecx*4]
add esi, 4
mov dword [esi - 4], eax
test edi, edi
jle 0x4a5b03
push edi
push edx
push ebx
mov edi, edx
call fcn.005162a0
mov edx, edi
add esp, 0xc
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], esi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x11c], eax
test edx, edx
mov esi, dword [esp + 8]
lea ebx, [esp + 0x120]
je 0x4a5b34
push edx
call fcn.005128f8
add esp, 4
mov edx, dword [esp + 0x158]
lea edi, [esp + 0x114]
mov ecx, edi
call fcn.004a61d4
mov edx, dword [esp + 0x15c]
mov ecx, edi
call fcn.004a61d4
mov edx, dword [esp + 0x160]
mov ecx, edi
call fcn.004a61d4
mov eax, dword [edi]
mov ecx, dword [edi + 4]
sub ecx, eax
xor edx, edx
push edx
push edx
push ecx
push eax
push 0x20002
push edx
push dword [esp + 0x17c]
call dword [0x59a54c]
test eax, eax
je 0x4a5b95
mov dword [esp], 0x80000
jmp 0x4a52c0
push 2
call fcn.0042ae10
add esp, 4
test al, al
je 0x4a561e
call fcn.0042b8e0
lea edi, [esp + 0x1a0]
mov ecx, edi
push eax
push 2
push 0x1e6
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.0042ba80
lea eax, [esp + 0x1a8]
push 0x19
push 0x551ecf
jmp 0x4a55be
push 0x59a548
call fcn.00512977
add esp, 4
cmp dword [0x59a548], 0xffffffff
jne 0x4a51fd
push 0
push str.::InitializeProcThreadAttributeList
push 0x5444b2
call fcn.004c36c0
add esp, 0xc
mov dword [0x59a544], eax
push 0x59a548
call fcn.005129ed
add esp, 4
jmp 0x4a51fd
push 0x59a550
call fcn.00512977
add esp, 4
cmp dword [0x59a550], 0xffffffff
jne 0x4a521e
cmp dword [0x59a544], 0
je 0x4a5c58
push 0
push str.::UpdateProcThreadAttribute
push 0x5444b2
call fcn.004c36c0
add esp, 0xc
jmp 0x4a5c5a
xor eax, eax
mov dword [0x59a54c], eax
push 0x59a550
call fcn.005129ed
add esp, 4
jmp 0x4a521e
lea ecx, [esp + 0x114]
call fcn.00422b1c
call fcn.00525b7d