Function at 0x478820
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xe8
mov edi, ecx
mov eax, dword [0x5ff014]
xor eax, ebp
mov dword [ebp - 0x10], eax
xor eax, eax
dec eax
lea esi, [ebp - 0xdc]
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push str..pipecrashpad__lu_
push esi
call fcn.004e3e90
add esp, 0xc
mov esi, 0xfffffffc
lea ebx, [ebp - 0x34]
push ebx
call fcn.004954c0
add esp, 4
movzx eax, byte [ebp - 0xd1]
test al, al
cmovs eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xdc]
lea ecx, [ebp - 0xdc]
cmovns edx, ecx
mov ecx, ebx
push eax
push edx
xor ebx, ebx
push ebx
call fcn.00442550
mov ecx, dword [eax + 8]
mov dword [ebp - 0x20], ecx
movsd xmm0, qword [eax]
movsd qword [ebp - 0x28], xmm0
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
movzx eax, byte [ebp - 0x1d]
lea ecx, [ebp - 0x28]
test al, al
jns 0x4788c2
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
push eax
push ecx
lea eax, [ebp - 0x1c]
push eax
call fcn.004e4830
add esp, 0xc
cmp byte [edi + 0xb], 0
js 0x478bb7
mov eax, dword [ebp - 0x14]
mov dword [edi + 8], eax
movsd xmm0, qword [ebp - 0x1c]
movsd qword [edi], xmm0
mov byte [ebp - 0x11], 0
mov word [ebp - 0x1c], 0
cmp byte [ebp - 0x1d], 0
jns 0x478904
push dword [ebp - 0x28]
call fcn.00503da5
add esp, 4
cmp byte [ebp - 0x29], 0
js 0x478bc6
push 1
push edi
call fcn.00493470
add esp, 8
cmp eax, 0xffffffff
jne 0x47892b
lea ecx, [esi + 1]
test esi, esi
mov esi, ecx
jne 0x478863
mov dword [ebp - 0xf4], eax
cmp eax, 0xffffffff
je 0x478bd6
mov dword [ebp - 0xf0], edi
cmp byte [ebp - 0xd1], 0
jns 0x478957
push dword [ebp - 0xdc]
call fcn.00503da5
add esp, 4
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], 0xc
mov dword [ebp - 0x14], 1
mov edi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push esi
push esi
push esi
lea ebx, [ebp - 0x1c]
push ebx
call edi
mov dword [0x602028], eax
push esi
push esi
push esi
push ebx
call edi
mov dword [0x60202c], eax
push esi
push esi
push esi
push ebx
call edi
mov dword [0x602030], eax
push 0x60717c
call fcn.00495730
add esp, 4
push 4
call fcn.00503d75
add esp, 4
mov esi, eax
mov ecx, eax
call fcn.004e8440
mov dword [0x607194], esi
push fcn.00561cd0
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
push 0x561e00
push 0x16
call fcn.0051e7a3
add esp, 8
push 0x6c
call fcn.00503d75
add esp, 4
mov ebx, eax
mov esi, esp
mov ecx, eax
push dword [ebp + 8]
call fcn.004dd0c0
lea ecx, [ebx + 0xc]
push dword [ebp + 0xc]
call fcn.004dd0c0
lea ecx, [ebx + 0x18]
push dword [ebp + 0x10]
call fcn.004dd0c0
lea ecx, [ebx + 0x24]
mov edx, dword [ebp + 0x14]
cmp byte [edx + 0xb], 0
mov dword [ebp - 0xec], esi
jns 0x478c0f
push dword [edx + 4]
push dword [edx]
call fcn.004da250
lea edi, [ebx + 0x34]
xor eax, eax
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x30], edi
mov eax, dword [ebp + 0x18]
mov esi, dword [eax]
add eax, 4
mov dword [ebp - 0xe4], eax
cmp esi, eax
je 0x478a94
lea eax, [ebx + 0x30]
mov dword [ebp - 0xe8], eax
lea eax, [esi + 0x10]
mov ecx, dword [ebp - 0xe8]
push eax
push eax
push edi
lea eax, [ebp - 0xdc]
push eax
call fcn.00479fa0
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x478a82
mov eax, dword [esi + 8]
cmp dword [eax], esi
je 0x478a8a
add esi, 8
mov ecx, dword [esi]
lea esi, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x478a74
jmp 0x478a8a
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x478a82
mov esi, eax
cmp eax, dword [ebp - 0xe4]
jne 0x478a4b
xor eax, eax
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov eax, dword [ebp + 0x1c]
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe4], eax
sub eax, edi
je 0x478b25
mov ecx, eax
sar ecx, 2
imul edx, ecx, 0xaaaaaaab
mov ecx, edx
mov dword [ebp - 0xe8], edx
cmp edx, 0x15555556
jae 0x478d33
push eax
call fcn.00503d75
add esp, 4
mov esi, eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0xe8]
lea eax, [eax + eax*2]
lea eax, [esi + eax*4]
mov dword [ebx + 0x44], eax
cmp edi, dword [ebp - 0xe4]
je 0x478b22
cmp byte [edi + 0xb], 0
jns 0x478b12
mov ecx, esi
push dword [edi + 4]
push dword [edi]
call fcn.004da250
add edi, 0xc
add esi, 0xc
jmp 0x478af0
mov eax, dword [edi + 8]
mov dword [esi + 8], eax
movsd xmm0, qword [edi]
movsd qword [esi], xmm0
jmp 0x478b0a
mov dword [ebx + 0x40], esi
xor eax, eax
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], eax
mov eax, dword [ebp + 0x28]
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov eax, esi
sub eax, edi
jne 0x478c22
mov ecx, ebx
add ecx, 0x54
mov edi, dword [ebp - 0xf0]
cmp byte [edi + 0xb], 0
jns 0x478c83
push dword [edi + 4]
push dword [edi]
call fcn.004db200
mov ecx, dword [ebp - 0xec]
mov dword [ebx + 0x60], 0x5d9728
mov eax, dword [ebp - 0xf4]
mov dword [ebx + 0x64], eax
mov byte [ebx + 0x68], 0
mov esp, ecx
cmp byte [ebp + 0x24], 0
jne 0x478c96
mov dword [ebp - 0xe0], ebx
mov eax, dword [ebp - 0xe0]
push eax
call fcn.00478d90
add esp, 4
mov ebx, eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00504596
mov eax, ebx
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret 0x24
push dword [edi]
call fcn.00503da5
add esp, 4
jmp 0x4788da
push dword [ebp - 0x34]
call fcn.00503da5
add esp, 4
jmp 0x47890e
push 0x130
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
lea esi, [ebp - 0x1c]
push esi
call fcn.0056d270
add esp, 0xc
mov ecx, esi
call fcn.0056d1b0
push 0xf
push str.CreateNamedPipe
push eax
call fcn.004d4870
add esp, 0xc
mov ecx, esi
call fcn.0056d1c0
jmp 0x47893a
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
jmp 0x478a22
mov ecx, eax
sar ecx, 2
imul edx, ecx, 0xaaaaaaab
mov ecx, edx
mov dword [ebp - 0xe4], edx
cmp edx, 0x15555556
jae 0x478d3d
push eax
call fcn.00503d75
add esp, 4
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x48], eax
mov ecx, dword [ebp - 0xe4]
lea edx, [ecx + ecx*2]
mov ecx, eax
lea eax, [eax + edx*4]
mov dword [ebx + 0x50], eax
cmp edi, esi
je 0x478d2b
mov dword [ebp - 0xe4], ecx
push edi
call fcn.004dd0c0
add edi, 0xc
mov ecx, dword [ebp - 0xe4]
add ecx, 0xc
jmp 0x478c61
mov eax, dword [edi + 8]
mov dword [ecx + 8], eax
movsd xmm0, qword [edi]
movsd qword [ecx], xmm0
jmp 0x478b61
lea esi, [edi + 0xc]
xor edi, edi
push edi
push edi
push ebx
push 0x561950
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0xdc], eax
mov ecx, esi
lea eax, [ebp - 0xdc]
push eax
call fcn.00478d50
mov bl, 1
mov eax, dword [ebp - 0xf0]
cmp dword [eax + 0x10], edi
jne 0x478b9e
push 2
call fcn.004deac0
add esp, 4
test al, al
je 0x478d1a
call fcn.00551fb0
lea esi, [ebp - 0xdc]
mov ecx, esi
push eax
push 2
push 0x297
push str..._.._third_party_crashpad_crashpad_client_crashpad_client_win.cc
call fcn.005520e0
lea eax, [ebp - 0xd4]
push 0xc
push 0x5e927f
push eax
call fcn.004d4870
add esp, 0xc
mov ecx, esi
call fcn.00552140
mov dword [0x607198], 2
xor ebx, ebx
jmp 0x478b9e
mov dword [ebx + 0x4c], ecx
jmp 0x478b42
add ebx, 0x3c
mov ecx, ebx
call fcn.00534620
add ebx, 0x48
jmp 0x478d36