Function at 0x180004870
Capabilities:
Create thread

Disassembly:
sub rsp, 0x98
cmp dword [0x180027b68], 0
je 0x1800048a5
cmp dword [0x180027b64], 0
je 0x180004893
mov dword [rsp + 0x34], 1
jmp 0x18000489b
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
jmp 0x180004d16
lea rcx, [0x180027b90]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x180027b64], 0
je 0x1800048c5
jmp 0x180004cf6
call sym.fortetri.dll_char____ptr64___cdecl_minget_void_
mov qword [section..data], rax
call sym.fortetri.dll_char____ptr64___cdecl_minget2_void_
mov qword [0x180026008], rax
mov edx, 0x11
lea rcx, [0x18001b828]
call fcn.1800015c0
mov qword [rsp + 0x58], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x58]
mov rcx, 0xffffffff80000001
call fcn.180007c60
mov qword [0x180027b80], rax
cmp qword [0x180027b80], 0
jne 0x180004930
mov edx, 0xf
lea rcx, [0x18001b840]
call fcn.1800015c0
mov qword [0x180027b80], rax
mov rcx, qword [rsp + 0x58]
call fcn.1800097a4
mov edx, 0xc
lea rcx, [0x18001b850]
call fcn.1800015c0
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
call fcn.180001850
movzx eax, al
mov dword [0x180027b60], eax
mov rcx, qword [rsp + 0x48]
call fcn.1800097a4
cmp dword [0x180027b60], 0
je 0x18000497d
mov byte [0x180026018], 0x69
cmp dword [0x180027b60], 0
jne 0x1800049c9
mov edx, 9
lea rcx, [0x18001b860]
call fcn.1800015c0
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
call fcn.180001850
movzx eax, al
mov dword [0x180027b60], eax
mov rcx, qword [rsp + 0x70]
call fcn.1800097a4
cmp dword [0x180027b60], 0
je 0x1800049c9
mov byte [0x180026018], 0x6f
cmp dword [0x180027b60], 0
jne 0x180004a15
mov edx, 0xa
lea rcx, [0x18001b870]
call fcn.1800015c0
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x68]
call fcn.180001850
movzx eax, al
mov dword [0x180027b60], eax
mov rcx, qword [rsp + 0x68]
call fcn.1800097a4
cmp dword [0x180027b60], 0
je 0x180004a15
mov byte [0x180026018], 0x73
cmp dword [0x180027b60], 0
jne 0x180004a61
mov edx, 0xb
lea rcx, [0x18001b880]
call fcn.1800015c0
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.180001850
movzx eax, al
mov dword [0x180027b60], eax
mov rcx, qword [rsp + 0x50]
call fcn.1800097a4
cmp dword [0x180027b60], 0
je 0x180004a61
mov byte [0x180026018], 0x66
cmp dword [0x180027b60], 0
jne 0x180004aad
mov edx, 0xa
lea rcx, [0x18001b890]
call fcn.1800015c0
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call fcn.180001850
movzx eax, al
mov dword [0x180027b60], eax
mov rcx, qword [rsp + 0x60]
call fcn.1800097a4
cmp dword [0x180027b60], 0
je 0x180004aad
mov byte [0x180026018], 0x63
cmp dword [0x180027b60], 0
jne 0x180004ada
cmp dword [0x180027b68], 0
jne 0x180004ad0
mov edx, 1
lea rcx, [0x180027b68]
call fcn.1800063a0
jmp 0x180004d07
call fcn.180004790
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x180004af6
jmp 0x180004d07
mov edx, 0xd
lea rcx, [0x18001b8a0]
call fcn.1800015c0
mov rdx, rax
mov rcx, qword [rsp + 0x38]
call fcn.1800047e0
mov qword [0x180027b48], rax
mov edx, 0xf
lea rcx, [0x18001b8b0]
call fcn.1800015c0
mov rdx, rax
mov rcx, qword [rsp + 0x38]
call fcn.1800047e0
mov qword [0x180027b50], rax
mov edx, 0x11
lea rcx, [0x18001b8c0]
call fcn.1800015c0
mov rdx, rax
mov rcx, qword [rsp + 0x38]
call fcn.1800047e0
mov qword [0x180027b58], rax
mov edx, 0x1b
lea rcx, [0x18001b8d8]
call fcn.1800015c0
mov qword [rsp + 0x40], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
call fcn.180004820
mov qword [0x180027b70], rax
cmp qword [0x180027b70], 0
jne 0x180004baf
mov rcx, qword [rsp + 0x40]
call fcn.1800097a4
jmp 0x180004d07
cmp dword [rsp + 0x30], 0xb7
jne 0x180004c07
mov rcx, qword [0x180027b70]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x180027b70], 0
mov edx, 1
lea rcx, [0x180027b68]
call fcn.1800063a0
mov edx, 1
lea rcx, [0x180027b64]
call fcn.1800063a0
mov rcx, qword [rsp + 0x40]
call fcn.1800097a4
jmp 0x180004cf6
mov rcx, qword [rsp + 0x40]
call fcn.1800097a4
mov edx, 0x1a
lea rcx, [0x18001b8f8]
call fcn.1800015c0
mov qword [0x180027b78], rax
lea rdx, [0x180027b6c]
mov rcx, qword [0x180027b78]
call fcn.180006bc0
mov eax, dword [0x180027b6c]
inc eax
mov dword [0x180027b6c], eax
mov edx, dword [0x180027b6c]
mov rcx, qword [0x180027b78]
call fcn.180006a40
call fcn.1800045d0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x180004660]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
jne 0x180004caa
mov rcx, qword [0x180027b70]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
test eax, eax
jne 0x180004ca6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
jmp 0x180004d07
mov qword [rsp + 0x78], 0
mov edx, 0x40
lea rcx, [0x18001b920]
call fcn.1800015c0
mov qword [rsp + 0x80], rax
mov r8, qword [0x180027b88]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
call fcn.1800077f0
mov edx, 1
lea rcx, [0x180027b64]
call fcn.1800063a0
lea rcx, [0x180027b90]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov al, 1
jmp 0x180004d16
lea rcx, [0x180027b90]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor al, al
add rsp, 0x98
ret