Function at 0x43bc1c
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0x4f6980
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
xor ebx, ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esi], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x78], eax
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x64], ebx
mov dword [esi + 0x68], ebx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x80], ebx
mov dword [esi + 0x84], eax
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x90], ebx
mov dword [esi + 0x94], ebx
mov byte [esi + 0x98], bl
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ebx
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xc4], ebx
mov byte [esi + 0xc8], bl
mov byte [esi + 0xc9], bl
cmp dword [ebp + 0x20], ebx
je 0x43bd07
push 0x348
call fcn.0044353b
pop ecx
cmp eax, ebx
je 0x43bcdd
push dword [ebp + 0x24]
mov ecx, eax
push dword [esi + 0x78]
push dword [ebp + 0x20]
call fcn.0043c1a6
mov edi, eax
jmp 0x43bcdf
xor edi, edi
mov ecx, edi
mov dword [ebp + 0x20], edi
call fcn.0043c145
test al, al
je 0x43bcf9
push edi
lea ecx, [esi + 0xc]
mov dword [ebp + 0x20], ebx
call fcn.0043b1da
mov ecx, dword [ebp + 0x20]
cmp ecx, ebx
je 0x43bd07
push 1
call fcn.0043ae2e
cmp dword [esi + 0xc], ebx
jne 0x43bdb3
lea eax, [esi + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov edi, dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
push ebx
push 1
push ebx
push ebx
call edi
push ebx
push 1
push ebx
push ebx
mov dword [esi + 0xb4], eax
call edi
mov dword [esi + 0xb8], eax
cmp eax, ebx
je 0x43bd66
cmp dword [esi + 0xb4], ebx
je 0x43bd66
lea eax, [ebp + 0x10]
push eax
push ebx
push esi
push 0x43b26f
push 0x10000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 0x94], eax
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push str.dbghelp.dll
call edi
mov dword [esi + 0x70], eax
cmp eax, ebx
je 0x43bd89
push str.MiniDumpWriteDump
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x74], eax
push str.rpcrt4.dll
call edi
mov dword [esi + 0x7c], eax
cmp eax, ebx
je 0x43bda9
push str.UuidCreate
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x80], eax
push dword [ebp + 8]
mov ecx, esi
call fcn.0043b6ac
cmp dword [ebp - 4], 1
mov edi, 0x4f6960
jne 0x43bdc5
push edi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
cmp dword [ebp + 0x18], ebx
je 0x43be56
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x4f6978]
cmp ecx, ebx
jne 0x43bdfe
push 0x18
call fcn.0044353b
pop ecx
cmp eax, ebx
je 0x43bdf6
mov ecx, eax
call fcn.0043ba16
mov ecx, eax
jmp 0x43bdf8
xor ecx, ecx
mov dword [0x4f6978], ecx
lea eax, [ebp + 0xc]
push eax
mov dword [ebp + 0xc], esi
call fcn.0043bbc9
test byte [ebp + 0x18], 1
je 0x43be21
push 0x43bad1
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov dword [esi + 0x88], eax
test byte [ebp + 0x18], 2
je 0x43be38
push 0x43b741
call fcn.004434c3
pop ecx
mov dword [esi + 0x8c], eax
test byte [ebp + 0x18], 4
je 0x43be4f
push 0x43b8c8
call fcn.00443365
pop ecx
mov dword [esi + 0x90], eax
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop edi
pop esi
pop ebx
leave
ret 0x20