Function at 0x18005110c
Capabilities:
Create thread

Disassembly:
push rbx
push rdi
sub rsp, 0x78
call fcn.18000a8d8
call fcn.18000a92c
call fcn.18000d9a8
mov edi, 1
mov ecx, edi
call fcn.18000dc18
mov ecx, edi
call fcn.18000dbd8
call fcn.18000da94
mov ecx, edi
call fcn.18002d85c
call fcn.1800073b4
call fcn.180038480
call fcn.18000f9b4
xor ebx, ebx
mov dword [0x18009b464], ebx
call fcn.180051004
mov qword [0x18009b458], rax
cmp rax, rbx
jne 0x180051175
lea rcx, str.Fail_To_Make_Window_r_n
jmp 0x1800517cc
call fcn.180030120
cmp eax, ebx
jne 0x18005118a
lea rcx, str.Fail_To_Create_All_Socket_r_n
jmp 0x1800517c6
cmp dword [0x18009ac64], ebx
je 0x1800511e8
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [0x18009b640], rax
cmp rax, rbx
je 0x1800511e8
lea rax, [rsp + 0xa0]
lea r8, [0x180026100]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0xa0], ebx
call qword [sym.imp.KERNEL32.dll_CreateThread]
cmp rax, rbx
je 0x1800511e8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x180099d00], ebx
je 0x18005122a
cmp dword [0x18009b62c], ebx
jne 0x18005122a
lea rax, [rsp + 0x34]
lea r8, [0x180041548]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
call fcn.180054eac
mov dword [0x18009b660], eax
mov ecx, 0xc8
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor r8d, r8d
mov edx, edi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [0x18009b468], rax
cmp rax, rbx
je 0x18005179a
lea rax, [rsp + 0xa8]
lea r8, [0x1800318e4]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0xa8], ebx
call qword [sym.imp.KERNEL32.dll_CreateThread]
cmp rax, rbx
jne 0x1800512c4
call fcn.180011684
mov rcx, qword [0x18009b468]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.180012d30
mov r11d, dword [0x18009b660]
cmp r11d, ebx
jbe 0x1800512b8
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x18009b660], ebx
lea rcx, str.Fail_To_Create_Monitor_Thread_r_n
jmp 0x1800517c6
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.18000922c
cmp eax, ebx
je 0x180051416
mov dword [0x18009b664], edi
call fcn.180025304
cmp eax, ebx
jne 0x18005131f
call fcn.180011684
call fcn.180012d30
mov r11d, dword [0x18009b660]
cmp r11d, ebx
jbe 0x18005130e
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x18009b660], ebx
call fcn.180009320
lea rcx, str.Fail_To_Set_Global_Timer_r_n
jmp 0x1800517c6
call fcn.18003f4d0
cmp eax, ebx
jne 0x18005135e
call fcn.180011684
call fcn.180012d30
mov r11d, dword [0x18009b660]
cmp r11d, ebx
jbe 0x18005134d
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x18009b660], ebx
call fcn.180009320
lea rcx, str.Fail_To_Set_Check_Account_Timer_r_n
jmp 0x1800517c6
call qword [0x1800849e0]
mov qword [0x18009b670], rax
cmp rax, rbx
jne 0x1800513ba
mov rcx, qword [0x18009b678]
cmp rcx, rbx
je 0x180051384
xor edx, edx
call qword [0x18009ae38]
call fcn.180011684
call fcn.180012d30
mov r11d, dword [0x18009b660]
cmp r11d, ebx
jbe 0x1800513a9
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x18009b660], ebx
call fcn.180009320
lea rcx, str.Fail_To_Create_Timer_Queue_r_n
jmp 0x1800517c6
call qword [0x1800849e0]
mov qword [0x18009b698], rax
cmp rax, rbx
jne 0x180051416
mov rcx, qword [0x18009b678]
cmp rcx, rbx
je 0x1800513e0
xor edx, edx
call qword [0x18009ae38]
call fcn.180011684
call fcn.180012d30
mov r11d, dword [0x18009b660]
cmp r11d, ebx
jbe 0x180051405
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x18009b660], ebx
call fcn.180009320
lea rcx, str.Fail_To_Create_Time_Out_Timer_Queue_r_n
jmp 0x1800517c6
call qword [sym.imp.KERNEL32.dll_GetTickCount]
lea rcx, [0x18009af78]
mov dword [0x18009b578], eax
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x18009ad38]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x18009ad78]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x180099cc0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x18009acf0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x180099c68]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x18009aea0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x18009af48]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x18009ae48]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x18009ae10]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x18009af18]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x18009ade8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x1800849f8]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x18009ae70]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
call fcn.18003c7b8
mov edx, edi
or rcx, 0xffffffffffffffff
mov dword [0x18009b618], edi
call fcn.1800196f8
mov ecx, edi
call fcn.180036e5c
cmp dword [0x18009b424], ebx
je 0x18005153f
lea rax, [rsp + 0x30]
lea r8, [0x18004b184]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], ebx
mov dword [rsp + 0x30], ebx
call qword [sym.imp.KERNEL32.dll_CreateThread]
cmp rax, rbx
je 0x180051533
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x18005153f
lea rcx, str.Fail_To_Create_IRC_Thread_r_n
call fcn.180025e28
cmp dword [0x18009b664], ebx
jne 0x18005155f
mov rcx, qword [0x18009b458]
xor r9d, r9d
xor edx, edx
mov r8d, 0x3e8
call qword [sym.imp.USER32.dll_SetTimer]
xor edx, edx
lea rcx, [0x18009af00]
lea r8d, [rdx + 0x10]
call fcn.180052810
lea rcx, [0x18009af00]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
jmp 0x1800515a0
cmp eax, 0x12
je 0x1800515b7
cmp eax, 0xffffffff
je 0x1800515b7
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x38]
call qword [sym.imp.USER32.dll_DispatchMessageA]
lea rcx, [rsp + 0x38]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_GetMessageA]
cmp eax, ebx
jne 0x180051580
xor edx, edx
or rcx, 0xffffffffffffffff
mov dword [0x18009b464], edi
call fcn.18002efa8
mov dword [rsp + 0x90], ebx
mov eax, dword [0x18009b6b4]
xchg dword [rsp + 0x90], eax
mov ecx, dword [rsp + 0x90]
cmp ecx, ebx
je 0x1800515fa
xor ecx, ecx
call fcn.18000d6b4
cmp eax, ebx
je 0x1800515fa
mov eax, ebx
xchg dword [0x18009b6b4], eax
mov dword [rsp + 0x98], ebx
mov eax, dword [0x18009b628]
xchg dword [rsp + 0x98], eax
cmp dword [0x18009b664], ebx
jne 0x180051625
mov rcx, qword [0x18009b458]
xor edx, edx
call qword [sym.imp.USER32.dll_KillTimer]
mov rcx, qword [0x18009b468]
cmp rcx, rbx
je 0x180051642
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp qword [0x18009b640], rbx
je 0x180051678
mov eax, ebx
xchg dword [0x18009b628], eax
mov rcx, qword [0x18009b640]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x18009b640]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call fcn.18003e0cc
cmp dword [0x18009b664], ebx
je 0x18005168a
call fcn.180009320
lea rcx, [0x18009ae70]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x1800849f8]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x18009ade8]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x18009af18]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x18009ae10]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x18009ae48]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x18009af48]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x18009aea0]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x180099c68]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x18009acf0]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x180099cc0]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x18009ad78]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x18009ad38]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea rcx, [0x18009af78]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov dword [0x18009b618], ebx
call fcn.1800072b0
call fcn.180011684
mov rcx, qword [0x18009b630]
cmp rcx, rbx
je 0x180051761
call fcn.180052e48
mov rcx, qword [0x18009b638]
cmp rcx, rbx
je 0x180051772
call fcn.180052e48
call fcn.18000ed20
call fcn.18000ece8
call fcn.18000ecc0
call fcn.18000f9ec
call fcn.18000fa14
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, edi
jmp 0x1800517d3
call fcn.180011684
call fcn.180012d30
mov r11d, dword [0x18009b660]
cmp r11d, ebx
jbe 0x1800517bf
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x18009b660], ebx
lea rcx, str.Fail_To_Create_Event_r_n
mov dword [0x18009b464], edi
call fcn.180025e28
xor eax, eax
add rsp, 0x78
pop rdi
pop rbx
ret