Function at 0x4a2e00
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov esi, ecx
mov eax, dword [0x5ff014]
xor eax, ebp
mov dword [ebp - 0x10], eax
call fcn.004e2250
mov edi, eax
mov dword [ebp - 0x50], edx
lea eax, [esi + 0x28]
mov dword [ebp - 0x54], eax
lea eax, [esi + 0x24]
mov dword [ebp - 0x4c], eax
mov ebx, dword [esi + 0x1c]
cmp ebx, 0xffffffff
jne 0x4a2e7e
push 1
push esi
call fcn.00493470
add esp, 8
mov ebx, eax
cmp eax, 0xffffffff
jne 0x4a2e85
lea ebx, [ebp - 0x3c]
push 0x13b
push str..._.._third_party_crashpad_crashpad_util_win_exception_handler_server.cc
push ebx
call fcn.0056d270
add esp, 0xc
mov ecx, ebx
call fcn.0056d1b0
push 0xf
push str.CreateNamedPipe
push eax
call fcn.004d4870
add esp, 0xc
mov ecx, ebx
call fcn.0056d1c0
xor ebx, ebx
dec ebx
jmp 0x4a2e85
mov dword [esi + 0x1c], 0xffffffff
push 0x28
call fcn.00503d75
add esp, 4
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov dword [eax + 4], 0x5d9738
mov dword [eax + 8], ebx
mov byte [eax + 0xc], 0
mov ecx, dword [ebp + 8]
mov dword [eax + 0x10], ecx
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x54]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0x24], ecx
mov dword [eax + 0x20], edi
xor ecx, ecx
push ecx
push ecx
push eax
push 0x4a31f0
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x60], eax
test eax, eax
je 0x4a3118
mov ebx, dword [esi + 0x1c]
cmp ebx, 0xffffffff
jne 0x4a2f2d
push 0
push esi
call fcn.00493470
add esp, 8
mov ebx, eax
cmp eax, 0xffffffff
jne 0x4a2f34
lea ebx, [ebp - 0x3c]
push 0x13b
push str..._.._third_party_crashpad_crashpad_util_win_exception_handler_server.cc
push ebx
call fcn.0056d270
add esp, 0xc
mov ecx, ebx
call fcn.0056d1b0
push 0xf
push str.CreateNamedPipe
push eax
call fcn.004d4870
add esp, 0xc
mov ecx, ebx
call fcn.0056d1c0
xor ebx, ebx
dec ebx
jmp 0x4a2f34
mov dword [esi + 0x1c], 0xffffffff
push 0x28
call fcn.00503d75
add esp, 4
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov dword [eax + 4], 0x5d9738
mov dword [eax + 8], ebx
mov byte [eax + 0xc], 0
mov ecx, dword [ebp + 8]
mov dword [eax + 0x10], ecx
mov ebx, dword [ebp - 0x4c]
mov dword [eax + 0x14], ebx
mov ecx, dword [ebp - 0x54]
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0x24], ecx
mov dword [ebp - 0x5c], edi
mov dword [eax + 0x20], edi
xor edi, edi
push edi
push edi
push eax
push 0x4a31f0
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x4a3151
mov ecx, dword [ebp + 8]
call fcn.0042a540
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x14], edi
push 0xffffffffffffffff
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [esi + 0x10]
call dword [sym.imp.KERNEL32.dll_GetQueuedCompletionStatus]
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4a3011
mov dword [ebp - 0x18], eax
push ebx
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x4a310b
mov ecx, dword [ebp - 0x54]
lea eax, [ebp - 0x18]
push eax
call fcn.004a3bc0
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4a2ff0
mov ecx, ebx
call fcn.004a32e0
push ebx
call fcn.00503da5
add esp, 4
cmp byte [esi + 0x34], 0
jne 0x4a2ffc
cmp dword [esi + 0x30], 0
je 0x4a3008
mov ebx, dword [ebp - 0x4c]
push ebx
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x4a2f94
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x50]
mov dword [ebp - 0x34], ebx
xor edi, edi
dec edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x3c]
push eax
push esi
call fcn.004931f0
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
xor eax, eax
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x40], edi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x3c]
push eax
push esi
call fcn.004931f0
add esp, 0xc
mov ebx, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
push dword [ebp - 0x60]
call ebx
push edi
push dword [ebp - 0x58]
call ebx
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x4a318d
mov ebx, dword [esi + 0x28]
lea edi, [esi + 0x2c]
cmp ebx, edi
jne 0x4a31b2
mov ecx, dword [ebp - 0x54]
push dword [esi + 0x2c]
call fcn.00486a20
xor eax, eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], eax
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x4a30e7
push eax
call fcn.004956c0
add esp, 4
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x4a30f7
push eax
call fcn.004956c0
add esp, 4
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00504596
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov ecx, dword [ebp - 0x4c]
call fcn.004e8450
jmp 0x4a2fcd
lea ebx, [ebp - 0x3c]
push 0x14a
push str..._.._third_party_crashpad_crashpad_util_win_exception_handler_server.cc
push ebx
call fcn.0056d270
add esp, 0xc
mov ecx, ebx
call fcn.0056d1b0
push 0xc
push 0x5e927f
push eax
call fcn.004d4870
add esp, 0xc
mov ecx, ebx
call fcn.0056d1c0
jmp 0x4a2eda
lea ebx, [ebp - 0x3c]
push 0x14a
push str..._.._third_party_crashpad_crashpad_util_win_exception_handler_server.cc
push ebx
call fcn.0056d270
add esp, 0xc
mov ecx, ebx
call fcn.0056d1b0
push 0xc
push 0x5e927f
push eax
call fcn.004d4870
add esp, 0xc
mov ecx, ebx
mov ebx, dword [ebp - 0x4c]
call fcn.0056d1c0
jmp 0x4a2f8c
mov ecx, dword [ebp - 0x4c]
call fcn.004e8450
jmp 0x4a30aa
mov eax, dword [ebx + 8]
cmp dword [eax], ebx
je 0x4a31dd
add ebx, 8
mov ecx, dword [ebx]
lea ebx, [ecx + 8]
mov eax, dword [ecx + 8]
cmp dword [eax], ecx
jne 0x4a31a4
jmp 0x4a31dd
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x4a31ce
mov eax, ecx
mov dword [ebp - 0x50], eax
call fcn.004a32e0
push dword [ebp - 0x50]
call fcn.00503da5
add esp, 4
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x4a319a
mov eax, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4a31d5
mov ebx, eax
cmp eax, edi
je 0x4a30b8
jmp 0x4a31b2