Function at 0x5107c8
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x6c
mov esi, ecx
mov eax, dword [0x6401e4]
xor eax, ebp
mov dword [ebp - 0x10], eax
call fcn.004855d0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x10]
mov dword [eax], 0x5d4070
mov dword [eax + 4], 0
mov byte [eax + 8], 0
add eax, 0xc
cmp eax, ecx
jne 0x5107ee
lea eax, [esi + 0x28]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x64], esi
lea eax, [esi + 0x24]
mov dword [ebp - 0x68], eax
mov al, 1
xor edi, edi
mov esi, dword [ebp - 0x64]
mov ebx, dword [esi + 0x1c]
cmp ebx, 0xffffffff
mov dword [ebp - 0x78], eax
je 0x510830
mov dword [esi + 0x1c], 0xffffffff
jmp 0x51084b
movzx eax, al
and eax, 1
push eax
push esi
call fcn.00507574
add esp, 8
mov ebx, eax
cmp eax, 0xffffffff
je 0x510903
push 0x28
call fcn.00596296
add esp, 4
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov dword [eax + 4], 0x5d4070
mov dword [eax + 8], ebx
mov byte [eax + 0xc], 0
mov ecx, dword [ebp + 8]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x68]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x70]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x74]
mov dword [eax + 0x20], ecx
lea ecx, [edi + edi*2]
lea ebx, [ecx*4 - 0x28]
add ebx, ebp
xor esi, esi
push esi
push esi
push eax
push 0x510b00
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x54], eax
mov ecx, ebx
lea eax, [ebp - 0x54]
push eax
call fcn.004c4576
cmp dword [ebx + 4], esi
je 0x5108cd
xor esi, esi
xor edi, edi
inc edi
test byte [ebp - 0x78], 1
mov eax, 0
jne 0x510819
jmp 0x51093f
push 0x149
push str..._.._third_party_crashpad_crashpad_util_win_exception_handler_server.cc
lea esi, [ebp - 0x54]
push esi
call fcn.00504ae0
add esp, 0xc
mov ecx, esi
call fcn.00504ab0
push 0xc
push 0x5d3e77
push eax
call fcn.00401baa
add esp, 0xc
mov ecx, esi
call fcn.00504ac0
jmp 0x5108b7
push 0x13a
push str..._.._third_party_crashpad_crashpad_util_win_exception_handler_server.cc
lea ebx, [ebp - 0x54]
push ebx
call fcn.00504ae0
add esp, 0xc
mov ecx, ebx
call fcn.00504ab0
push 0xf
push str.CreateNamedPipe
push eax
call fcn.00401baa
add esp, 0xc
mov ecx, ebx
call fcn.00504ac0
xor ebx, ebx
dec ebx
jmp 0x51084b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax]
mov edi, dword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x2c], esi
push 0xffffffffffffffff
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x64]
push dword [eax + 0x10]
call edi
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x5109bf
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x68]
call fcn.00497730
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x30]
push eax
call fcn.004ed428
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x5109a0
mov ecx, ebx
call fcn.00510bca
push ebx
call fcn.00596316
add esp, 4
mov eax, dword [ebp - 0x64]
cmp byte [eax + 0x34], 0
jne 0x5109b2
mov eax, dword [ebp - 0x64]
cmp dword [eax + 0x30], 0
je 0x5109ca
xor ebx, ebx
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x5109c4
mov ebx, 5
test ebx, ebx
je 0x51094c
jmp 0x5109d1
mov ebx, 5
jmp 0x5109b4
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
xor eax, eax
inc eax
mov dword [ebp - 0x54], eax
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x50], edi
mov esi, dword [ebp - 0x70]
mov dword [ebp - 0x4c], esi
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x54]
push eax
mov ebx, dword [ebp - 0x64]
push ebx
call fcn.00507300
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
xor eax, eax
inc eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x50], edi
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x54]
push eax
push ebx
call fcn.00507300
add esp, 0xc
mov esi, 4
mov edi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0xffffffffffffffff
push dword [ebp + esi - 0x28]
call edi
add esi, 0xc
cmp esi, 0x1c
jne 0x510a3d
mov ecx, dword [ebp - 0x68]
call fcn.00497730
mov eax, dword [ebp - 0x64]
mov edi, dword [eax + 0x28]
lea esi, [eax + 0x2c]
cmp esi, edi
je 0x510aa6
mov ebx, dword [edi + 0x10]
test ebx, ebx
je 0x510a79
mov ecx, ebx
call fcn.00510bca
push ebx
call fcn.00596316
add esp, 4
mov ecx, dword [edi + 4]
test ecx, ecx
je 0x510a8a
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x510a80
jmp 0x510aa0
mov eax, dword [edi + 8]
cmp dword [eax], edi
je 0x510aa0
add edi, 8
mov ecx, dword [edi]
lea edi, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x510a94
mov edi, eax
cmp esi, eax
jne 0x510a62
mov ecx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x64]
push dword [edi + 0x2c]
call fcn.0041ecb0
xor eax, eax
mov dword [edi + 0x30], eax
mov dword [edi + 0x28], esi
mov dword [edi + 0x2c], eax
push dword [ebp - 0x68]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov esi, 0xc
lea ecx, [esi + ebp]
add ecx, 0xffffffd8
call fcn.004c4176
add esi, 0xfffffff4
cmp esi, 0xfffffff4
jne 0x510acd
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00596351
add esp, 0x6c
pop esi
pop edi
pop ebx
pop ebp
ret 4