Function at 0x494cad
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x270
mov ebx, ecx
mov eax, dword [0x57ffac]
xor eax, ebp
mov dword [esp + 0x268], eax
call fcn.004b1904
test al, al
jne 0x495dee
xor eax, eax
lea ecx, [esp + 0x258]
mov dword [ecx + 4], eax
mov dword [ecx], eax
mov dword [ecx + 8], eax
mov dword [esp + 0x24], ecx
push ecx
push dword [ebx]
call fcn.004b1928
add esp, 8
mov edx, dword [ebx]
mov esi, dword [edx + 0x3c]
mov edi, dword [edx + 0x40]
cmp esi, edi
mov dword [esp + 0x14], ebx
je 0x494d61
lea ebx, [esp + 0x1ac]
movzx eax, byte [esi + 0xb]
mov ecx, esi
test al, al
jns 0x494d1f
mov ecx, dword [esi]
mov eax, dword [esi + 4]
push eax
push ecx
push ebx
call fcn.0042de10
add esp, 0xc
lea eax, [esp + 0x258]
push eax
push ebx
call fcn.004b1928
add esp, 8
cmp byte [esp + 0x1b7], 0
jns 0x494d54
push dword [esp + 0x1ac]
call fcn.004fe838
add esp, 4
add esi, 0xc
cmp edi, esi
jne 0x494d10
mov ebx, dword [esp + 0x14]
mov edx, dword [ebx]
movzx eax, byte [edx + 0x17]
test al, al
jns 0x494d6c
mov eax, dword [edx + 0x10]
test eax, eax
je 0x494dd4
add edx, 0xc
lea ecx, [esp + 0x58]
push str.database
mov esi, edx
call fcn.004024a6
lea edi, [esp + 0x1ac]
mov ecx, edi
lea edx, [esp + 0x58]
push esi
call fcn.00496166
add esp, 4
lea eax, [esp + 0x258]
push eax
push edi
call fcn.004b1928
add esp, 8
cmp byte [edi + 0xb], 0
jns 0x494dbf
push dword [esp + 0x1ac]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x63], 0
jns 0x494dd2
push dword [esp + 0x58]
call fcn.004fe838
add esp, 4
mov edx, dword [ebx]
movzx eax, byte [edx + 0x23]
test al, al
jns 0x494ddf
mov eax, dword [edx + 0x1c]
test eax, eax
je 0x494e47
add edx, 0x18
lea ecx, [esp + 0x58]
push str.metrics_dir
mov esi, edx
call fcn.004024a6
lea edi, [esp + 0x1ac]
mov ecx, edi
lea edx, [esp + 0x58]
push esi
call fcn.00496166
add esp, 4
lea eax, [esp + 0x258]
push eax
push edi
call fcn.004b1928
add esp, 8
cmp byte [edi + 0xb], 0
jns 0x494e32
push dword [esp + 0x1ac]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x63], 0
jns 0x494e45
push dword [esp + 0x58]
call fcn.004fe838
add esp, 4
mov edx, dword [ebx]
movzx eax, byte [edx + 0x2f]
test al, al
js 0x494e53
mov ecx, eax
jmp 0x494e56
mov ecx, dword [edx + 0x28]
test ecx, ecx
je 0x494efb
test al, al
jns 0x494e6a
mov eax, dword [edx + 0x28]
mov edx, dword [edx + 0x24]
jmp 0x494e6d
add edx, 0x24
lea ebx, [esp + 0x58]
push eax
push edx
push ebx
call fcn.0042de10
add esp, 0xc
lea esi, [esp + 0x130]
mov ecx, esi
push 0x52aa58
call fcn.004024a6
lea edi, [esp + 0x1ac]
mov ecx, edi
mov edx, esi
push ebx
call fcn.00496166
add esp, 4
lea eax, [esp + 0x258]
push eax
push edi
call fcn.004b1928
add esp, 8
cmp byte [edi + 0xb], 0
jns 0x494ec9
push dword [esp + 0x1ac]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x13b], 0
mov esi, dword [esp + 0x14]
jns 0x494ee6
push dword [esp + 0x130]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x63], 0
jns 0x494ef9
push dword [esp + 0x58]
call fcn.004fe838
add esp, 4
mov edx, dword [esi]
mov esi, dword [edx + 0x30]
lea eax, [edx + 0x34]
mov dword [esp + 0x18], eax
cmp eax, esi
je 0x495078
lea eax, [esi + 0x10]
push 0x3d
push eax
lea eax, [esp + 0x180]
push eax
call fcn.00403f20
add esp, 0xc
movzx eax, byte [esi + 0x27]
test al, al
jns 0x494f33
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x1c]
jmp 0x494f36
lea edx, [esi + 0x1c]
lea ecx, [esp + 0x178]
push eax
push edx
call fcn.0041c47a
mov ecx, dword [eax + 8]
mov dword [esp + 0x138], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x130], xmm0
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
movzx eax, byte [esp + 0x13b]
lea ecx, [esp + 0x130]
test al, al
jns 0x494f86
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x134]
push eax
push ecx
lea eax, [esp + 0x60]
push eax
call fcn.0042de10
add esp, 0xc
lea ebx, [esp + 0x34]
mov ecx, ebx
push str.annotation
call fcn.004024a6
lea edi, [esp + 0x1ac]
mov ecx, edi
mov edx, ebx
lea eax, [esp + 0x58]
push eax
call fcn.00496166
add esp, 4
lea eax, [esp + 0x258]
push eax
push edi
call fcn.004b1928
add esp, 8
cmp byte [esp + 0x1b7], 0
jns 0x494fe7
push dword [esp + 0x1ac]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x3f], 0
jns 0x494ffa
push dword [esp + 0x34]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x63], 0
jns 0x49500d
push dword [esp + 0x58]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x13b], 0
jns 0x495026
push dword [esp + 0x130]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x183], 0
jns 0x49503f
push dword [esp + 0x178]
call fcn.004fe838
add esp, 4
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x495050
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x495046
jmp 0x495066
mov eax, dword [esi + 8]
cmp dword [eax], esi
je 0x495066
add esi, 8
mov ecx, dword [esi]
lea esi, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x49505a
mov esi, eax
cmp dword [esp + 0x18], eax
jne 0x494f0d
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov ebx, dword [edx + 0x48]
mov eax, dword [edx + 0x4c]
mov dword [esp + 0x18], eax
cmp ebx, eax
je 0x4950f0
lea edi, [esp + 0x58]
mov ecx, edi
push 0x5350fb
call fcn.004024a6
lea esi, [esp + 0x1ac]
mov ecx, esi
mov edx, edi
push ebx
call fcn.00496166
add esp, 4
lea eax, [esp + 0x258]
push eax
push esi
call fcn.004b1928
add esp, 8
cmp byte [esp + 0x1b7], 0
jns 0x4950d4
push dword [esp + 0x1ac]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x63], 0
jns 0x4950e7
push dword [esp + 0x58]
call fcn.004fe838
add esp, 4
add ebx, 0xc
cmp dword [esp + 0x18], ebx
jne 0x495086
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 1
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x4951ba
mov edx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
xor edi, edi
lea esi, [esp + 0x178]
mov ecx, esi
push edi
push 0x5833ec
push edi
push 0x5833e0
push edi
push 0x5833d0
mov dword [esp + 0x30], edx
push edx
push dword [eax + 0x64]
push dword [0x580118]
push dword [0x580114]
push dword [0x580110]
call fcn.0043e148
lea ebx, [esp + 0x130]
mov ecx, esi
push ebx
call fcn.0043e422
lea esi, [esp + 0x34]
mov ecx, esi
push str.__initial_client_data
call fcn.004024a6
movzx eax, byte [ebx + 0xb]
test al, al
jns 0x495185
mov eax, dword [esp + 0x134]
mov ebx, dword [esp + 0x130]
mov ecx, esi
push eax
push ebx
call fcn.0041c47a
mov ecx, dword [eax + 8]
mov dword [esp + 0x60], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x58], xmm0
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edi
movzx eax, byte [esp + 0x63]
test al, al
jns 0x495213
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
jmp 0x495217
xor ebx, ebx
push 2
call fcn.00424cb0
add esp, 4
test al, al
je 0x49578c
call fcn.00425620
lea esi, [esp + 0x1ac]
mov ecx, esi
push eax
push 2
push 0x18d
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.00425750
lea eax, [esp + 0x1b4]
push 0xb
push 0x53c343
push eax
call fcn.00401b1f
add esp, 0xc
mov ecx, esi
call fcn.00425800
xor ebx, ebx
jmp 0x49578c
lea ecx, [esp + 0x58]
lea ebx, [esp + 0x1ac]
push eax
push ecx
push ebx
call fcn.0042de10
add esp, 0xc
lea eax, [esp + 0x258]
push eax
push ebx
call fcn.004b1928
add esp, 8
cmp byte [ebx + 0xb], 0
jns 0x49524f
push dword [esp + 0x1ac]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x63], 0
jns 0x495262
push dword [esp + 0x58]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x3f], 0
jns 0x495275
push dword [esp + 0x34]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x13b], 0
jns 0x49528e
push dword [esp + 0x130]
call fcn.004fe838
add esp, 4
xorps xmm0, xmm0
movaps xmmword [esp + 0x150], xmm0
xor esi, esi
mov dword [esp + 0x174], esi
mov dword [esp + 0x170], esi
movaps xmmword [esp + 0x160], xmm0
movaps xmmword [esp + 0x140], xmm0
movaps xmmword [esp + 0x130], xmm0
mov dword [esp + 0x15c], 0x100
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 0xfffffffffffffff6
call edi
mov dword [esp + 0x168], eax
push 0xfffffffffffffff5
call edi
mov dword [esp + 0x16c], eax
push 0xfffffffffffffff4
call edi
mov dword [esp + 0x170], eax
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], esi
mov dword [esp + 0x118], 0x53c4a4
mov dword [esp + 0x11c], esi
mov byte [esp + 0x120], 0
mov eax, dword [0x583410]
mov ecx, dword [0x581ddc]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x495d57
mov eax, dword [0x583418]
mov ecx, dword [0x581ddc]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 4]
jg 0x495d9c
mov ecx, dword [0x58340c]
test ecx, ecx
je 0x4953e6
cmp dword [0x583414], 0
je 0x4953e6
mov dword [esp + 0x130], 0x48
lea esi, [esp + 0x58]
xor eax, eax
push esi
push eax
push 1
push eax
call ecx
test eax, eax
je 0x495424
push 2
call fcn.00424cb0
add esp, 4
test al, al
je 0x49572f
lea esi, [esp + 0x1ac]
mov ecx, esi
push 2
push 0x1be
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.00424d40
lea eax, [esp + 0x1b4]
push 0x44
push str.InitializeProcThreadAttributeList__size__succeeded__expected_failure
push eax
call fcn.00401b1f
add esp, 0xc
mov ecx, esi
call fcn.004250e0
jmp 0x49572f
mov dword [esp + 0x130], 0x44
mov dword [esp + 0x20], 0
xor esi, esi
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
movzx edx, byte [eax + 0xb]
test dl, dl
js 0x495413
cmp dl, 0xc
jb 0x49541d
jmp 0x4954b1
cmp dword [eax + 4], 0xc
jae 0x4954ae
xor ebx, ebx
jmp 0x495500
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x4956e3
push dword [esp + 0x58]
call fcn.004fe863
add esp, 4
mov dword [esp + 0x174], eax
push esi
mov esi, eax
push 0
push 1
push eax
call dword [0x58340c]
test eax, eax
je 0x4957d4
mov dword [esp + 0x20], esi
lea esi, [esp + 0x118]
mov ecx, esi
call fcn.004964b4
mov eax, dword [esp + 0x174]
mov dword [esi + 4], eax
lea esi, [esp + 0x124]
mov ecx, esi
push 8
call fcn.004962aa
mov edi, dword [esi + 4]
mov eax, dword [esi + 8]
cmp edi, eax
je 0x49582d
mov eax, dword [0x580110]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x128], edi
mov esi, edi
jmp 0x4958f4
mov edx, dword [eax + 4]
add edx, 0xfffffff4
lea edi, [eax + 0xc]
mov ecx, ebx
push edi
push 0xffffffffffffffff
push edx
push eax
call fcn.0041cb56
cmp byte [esp + 0x1b7], 0
jns 0x4954d4
mov ebx, dword [esp + 0x1ac]
push str.rundll32.exe
push ebx
call fcn.005132cc
add esp, 8
test eax, eax
sete bl
cmp byte [esp + 0x1b7], 0
jns 0x495500
push dword [esp + 0x1ac]
call fcn.004fe838
add esp, 4
cmp byte [esp + 0x263], 0
jns 0x495515
mov eax, dword [esp + 0x258]
mov dword [esp + 0x24], eax
xor eax, eax
mov ecx, 0
test bl, bl
jne 0x49552e
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
cmp byte [ecx + 0xb], 0
jns 0x49552e
mov ecx, dword [ecx]
lea edx, [esp + 0x108]
lea edi, [esp + 0x130]
push edx
push edi
push eax
push eax
push esi
push 1
push eax
push eax
push dword [esp + 0x44]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4955c1
push dword [esp + 0x10c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, eax
push 1
call fcn.00424cb0
add esp, 4
mov ebx, eax
test esi, esi
jne 0x49561a
test bl, bl
je 0x49561a
lea esi, [esp + 0x1ac]
call fcn.00425620
mov ecx, esi
push eax
push 1
push 0x20e
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.00425750
lea eax, [esp + 0x1b4]
push 0x12
push str.CloseHandle_thread
push eax
call fcn.00401b1f
add esp, 0xc
mov ecx, esi
call fcn.00425800
test bl, bl
jmp 0x495624
xor ebx, ebx
push 2
call fcn.00424cb0
add esp, 4
test al, al
je 0x4956dd
call fcn.00425620
lea esi, [esp + 0x1ac]
mov ecx, esi
push eax
push 2
push 0x209
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.00425750
lea eax, [esp + 0x1b4]
push 0xd
push str.CreateProcess
push eax
call fcn.00401b1f
add esp, 0xc
mov ecx, esi
call fcn.00425800
xor ebx, ebx
jmp 0x4956dd
test esi, esi
sete al
and bl, al
cmp bl, 1
push dword [esp + 0x108]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, eax
push 1
call fcn.00424cb0
add esp, 4
mov ebx, eax
test esi, esi
jne 0x495683
test bl, bl
je 0x495683
lea esi, [esp + 0x58]
call fcn.00425620
mov ecx, esi
push eax
push 1
push 0x211
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.00425750
lea eax, [esp + 0x60]
push 0x13
push str.CloseHandle_process
push eax
call fcn.00401b1f
add esp, 0xc
mov ecx, esi
call fcn.00425800
test bl, bl
jmp 0x49568d
test esi, esi
sete al
and bl, al
cmp bl, 1
mov esi, dword [esp + 0x14]
mov ecx, dword [esi]
add ecx, 0x60
mov dword [esp + 0x34], 0xffffffff
lea edi, [esp + 0x34]
push edi
call fcn.00495f70
xorps xmm0, xmm0
movups xmmword [esp + 0x48], xmm0
movups xmmword [esp + 0x38], xmm0
mov dword [esp + 0x34], 2
xor eax, eax
lea ecx, [esp + 0x28]
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.004b1230
add esp, 0xc
mov ebx, eax
mov esi, dword [esp + 0x20]
jmp 0x495733
push 2
call fcn.00424cb0
add esp, 4
test al, al
je 0x49572f
call fcn.00425620
lea esi, [esp + 0x1ac]
mov ecx, esi
push eax
push 2
push 0x1c2
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.00425750
lea eax, [esp + 0x1b4]
push 0x28
push str.InitializeProcThreadAttributeList__size_
push eax
call fcn.00401b1f
add esp, 0xc
mov ecx, esi
call fcn.00425800
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x118], 0x53c4a4
cmp byte [esp + 0x120], 0
jne 0x495df1
lea ecx, [esp + 0x118]
call fcn.004964b4
test esi, esi
je 0x495765
push esi
call fcn.004fe86c
add esp, 4
mov eax, dword [esp + 0x124]
test eax, eax
je 0x495780
mov dword [esp + 0x128], eax
push eax
call fcn.004fe838
add esp, 4
push dword [esp + 0x18]
call fcn.004b112a
add esp, 4
cmp byte [esp + 0x263], 0
jns 0x4957a5
push dword [esp + 0x258]
call fcn.004fe838
add esp, 4
xor eax, eax
inc eax
cmp bl, 1
adc eax, 0
mov dword [0x583408], eax
mov ecx, dword [esp + 0x14]
call fcn.004960ee
mov ecx, dword [esp + 0x268]
xor ecx, ebp
call fcn.004fe871
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 2
call fcn.00424cb0
add esp, 4
test al, al
je 0x495731
call fcn.00425620
mov edi, esi
lea esi, [esp + 0x1ac]
mov ecx, esi
push eax
push 2
push 0x1cd
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.00425750
lea eax, [esp + 0x1b4]
push 0x21
push 0x53c414
push eax
call fcn.00401b1f
add esp, 0xc
mov ecx, esi
mov esi, edi
call fcn.00425800
jmp 0x495731
mov edx, dword [esp + 0x124]
sub edi, edx
mov ecx, edi
sar ecx, 2
mov esi, ecx
mov dword [esp + 0x10], ecx
inc ecx
cmp ecx, 0x40000000
jae 0x495df4
mov dword [esp + 8], edx
sub eax, edx
mov edx, eax
sar edx, 2
sar eax, 1
cmp eax, ecx
cmovb eax, ecx
cmp edx, 0x1fffffff
mov esi, 0x3fffffff
cmovb esi, eax
test esi, esi
je 0x495890
cmp esi, 0x40000000
jae 0x495e00
lea eax, [esi*4]
push eax
call fcn.004fe808
add esp, 4
jmp 0x495892
xor eax, eax
lea ecx, [eax + esi*4]
mov dword [esp + 0xc], ecx
mov edx, dword [0x580110]
mov ecx, dword [esp + 0x10]
lea esi, [eax + ecx*4]
add esi, 4
mov dword [esi - 4], edx
test edi, edi
mov ecx, dword [esp + 8]
jle 0x4958c7
push edi
push ecx
push eax
mov edi, eax
call fcn.00501dd0
mov eax, edi
mov ecx, dword [esp + 0x14]
add esp, 0xc
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x12c], eax
test ecx, ecx
je 0x4958f4
push ecx
call fcn.004fe838
add esp, 4
mov esi, dword [esp + 0x128]
mov edi, dword [esp + 0x12c]
cmp esi, edi
je 0x495915
mov eax, dword [0x580114]
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x128], esi
jmp 0x4959e9
mov edx, dword [esp + 0x124]
sub edi, edx
mov esi, edi
sar esi, 2
lea eax, [esi + 1]
cmp eax, 0x40000000
jae 0x495df4
mov ecx, edi
sar ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov eax, esi
mov dword [esp + 0x10], esi
cmp esi, 0x1fffffff
mov esi, 0x3fffffff
cmovb esi, ecx
test esi, esi
je 0x495978
mov dword [esp + 8], edx
cmp esi, 0x40000000
jae 0x495e00
lea eax, [esi*4]
push eax
call fcn.004fe808
add esp, 4
mov edx, dword [esp + 8]
jmp 0x49597a
xor eax, eax
mov dword [esp + 8], eax
lea eax, [eax + esi*4]
mov dword [esp + 0xc], eax
mov eax, dword [0x580114]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 8]
lea esi, [eax + ecx*4 + 4]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1c]
mov dword [esi - 4], ecx
test edi, edi
jle 0x4959bc
push edi
push edx
push eax
mov edi, edx
call fcn.00501dd0
mov eax, dword [esp + 0x14]
mov edx, edi
add esp, 0xc
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x12c], eax
test edx, edx
je 0x4959e9
push edx
call fcn.004fe838
add esp, 4
mov esi, dword [esp + 0x128]
mov edi, dword [esp + 0x12c]
cmp esi, edi
je 0x495a0a
mov eax, dword [0x580118]
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x128], esi
jmp 0x495ade
mov edx, dword [esp + 0x124]
sub edi, edx
mov esi, edi
sar esi, 2
lea eax, [esi + 1]
cmp eax, 0x40000000
jae 0x495df4
mov ecx, edi
sar ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov eax, esi
mov dword [esp + 0x10], esi
cmp esi, 0x1fffffff
mov esi, 0x3fffffff
cmovb esi, ecx
test esi, esi
je 0x495a6d
mov dword [esp + 8], edx
cmp esi, 0x40000000
jae 0x495e00
lea eax, [esi*4]
push eax
call fcn.004fe808
add esp, 4
mov edx, dword [esp + 8]
jmp 0x495a6f
xor eax, eax
mov dword [esp + 8], eax
lea eax, [eax + esi*4]
mov dword [esp + 0xc], eax
mov eax, dword [0x580118]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 8]
lea esi, [eax + ecx*4 + 4]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1c]
mov dword [esi - 4], ecx
test edi, edi
jle 0x495ab1
push edi
push edx
push eax
mov edi, edx
call fcn.00501dd0
mov eax, dword [esp + 0x14]
mov edx, edi
add esp, 0xc
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x12c], eax
test edx, edx
je 0x495ade
push edx
call fcn.004fe838
add esp, 4
mov esi, dword [esp + 0x128]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov edi, dword [esp + 0x12c]
cmp esi, edi
je 0x495b03
mov eax, dword [eax + 0x64]
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x128], esi
jmp 0x495bd7
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x124]
sub edi, edx
mov esi, edi
sar esi, 2
lea eax, [esi + 1]
cmp eax, 0x40000000
jae 0x495df4
mov ecx, edi
sar ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov eax, esi
mov dword [esp + 0xc], esi
cmp esi, 0x1fffffff
mov esi, 0x3fffffff
cmovb esi, ecx
test esi, esi
je 0x495b6a
mov dword [esp + 8], edx
cmp esi, 0x40000000
jae 0x495e00
lea eax, [esi*4]
push eax
call fcn.004fe808
add esp, 4
mov edx, dword [esp + 8]
jmp 0x495b6c
xor eax, eax
mov dword [esp + 8], eax
lea eax, [eax + esi*4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x64]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 8]
lea esi, [esi + ecx*4]
add esi, 4
mov ecx, dword [esp + 8]
mov dword [esi - 4], eax
test edi, edi
jle 0x495baa
push edi
push edx
push ecx
mov edi, edx
call fcn.00501dd0
mov ecx, dword [esp + 0x14]
mov edx, edi
add esp, 0xc
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x12c], eax
test edx, edx
je 0x495bd7
push edx
call fcn.004fe838
add esp, 4
mov esi, dword [esp + 0x128]
mov edi, dword [esp + 0x12c]
cmp esi, edi
je 0x495bf7
mov eax, dword [esp + 0x18]
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x128], esi
jmp 0x495cb3
mov edx, dword [esp + 0x124]
sub edi, edx
mov esi, edi
sar esi, 2
lea eax, [esi + 1]
cmp eax, 0x40000000
jae 0x495df4
mov ecx, edi
sar ecx, 1
cmp ecx, eax
cmovb ecx, eax
mov eax, esi
mov dword [esp + 0x10], esi
cmp esi, 0x1fffffff
mov esi, 0x3fffffff
cmovb esi, ecx
test esi, esi
mov dword [esp + 8], edx
je 0x495c5c
cmp esi, 0x40000000
jae 0x495e00
lea eax, [esi*4]
push eax
call fcn.004fe808
add esp, 4
mov ecx, eax
mov edx, dword [esp + 8]
jmp 0x495c5e
xor ecx, ecx
lea eax, [ecx + esi*4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
lea esi, [ecx + eax*4]
add esi, 4
mov eax, dword [esp + 0x18]
mov dword [esi - 4], eax
test edi, edi
jle 0x495c8d
push edi
push edx
push ecx
mov edi, ecx
call fcn.00501dd0
mov ecx, edi
mov edx, dword [esp + 0x14]
add esp, 0xc
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], esi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x12c], eax
test edx, edx
je 0x495cb3
push edx
call fcn.004fe838
add esp, 4
mov edx, dword [esp + 0x168]
lea esi, [esp + 0x124]
mov ecx, esi
call fcn.00496336
mov edx, dword [esp + 0x16c]
mov ecx, esi
call fcn.00496336
mov edx, dword [esp + 0x170]
mov ecx, esi
call fcn.00496336
mov eax, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, eax
xor edx, edx
push edx
push edx
push ecx
push eax
push 0x20002
push edx
push dword [esp + 0x18c]
call dword [0x583414]
test eax, eax
je 0x495d12
mov esi, 0x80000
jmp 0x4953fb
push 2
call fcn.00424cb0
add esp, 4
test al, al
je 0x495613
call fcn.00425620
lea esi, [esp + 0x1ac]
mov ecx, esi
push eax
push 2
push 0x1e7
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.00425750
lea eax, [esp + 0x1b4]
push 0x19
push 0x53c436
jmp 0x495603
push 0x583410
call fcn.004fe8b7
add esp, 4
cmp dword [0x583410], 0xffffffff
jne 0x495343
push 0
push str.::InitializeProcThreadAttributeList
push 0x52ee12
call fcn.004b1a54
add esp, 0xc
mov dword [0x58340c], eax
push 0x583410
call fcn.004fe92d
add esp, 4
jmp 0x495343
push 0x583418
call fcn.004fe8b7
add esp, 4
cmp dword [0x583418], 0xffffffff
jne 0x495364
cmp dword [0x58340c], 0
je 0x495dd5
push 0
push str.::UpdateProcThreadAttribute
push 0x52ee12
call fcn.004b1a54
add esp, 0xc
jmp 0x495dd7
xor eax, eax
mov dword [0x583414], eax
push 0x583418
call fcn.004fe92d
add esp, 4
jmp 0x495364
int3
int3
lea ecx, [esp + 0x124]
call fcn.0041df3c
call fcn.00510edd
int3