Function at 0x14000a1e0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x20], r9
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov rax, qword [0x140017040]
xor rax, rsp
mov qword [rbp + 0x128], rax
xor r14d, r14d
mov edi, r14d
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
lea rcx, [rbp + 0x90]
call fcn.14000b450
nop
mov rcx, qword [0x140029c30]
mov rax, qword [rcx + 0xc20]
mov rbx, qword [rax]
cmp rbx, rax
je 0x14000a306
nop word [rax + rax]
inc edi
mov rdx, qword [rbx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x14000a290
mov rdx, qword [rdx]
test rdx, rdx
je 0x14000a2b5
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x14000a2b5
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x14000a2ec
mov rcx, qword [0x140029c30]
mov r9, qword [rbx + 0x10]
lea rax, [r9 + 0x20]
cmp qword [rax + 0x18], 0xf
jbe 0x14000a2c7
mov rax, qword [rax]
cmp qword [r9 + 0x18], 0xf
jbe 0x14000a2d1
mov r9, qword [r9]
add rcx, 0x1868
mov qword [rsp + 0x20], rax
mov r8d, edi
lea rdx, [0x140011bd0]
call fcn.1400031a0
mov rax, qword [rbx]
mov rbx, rax
mov rcx, qword [0x140029c30]
cmp rax, qword [rcx + 0xc20]
jne 0x14000a280
lea r12, [0x140019d10]
mov rax, qword [rbp + 0x98]
test rax, rax
je 0x14000a338
lea rdx, str.p2p.start
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x14000a407
mov rcx, qword [0x140029c30]
cmp byte [rcx + 0x2454], 0
je 0x14000a362
add rcx, 0x1868
lea rdx, [0x1400128a8]
call fcn.1400031a0
xor bl, bl
mov rcx, qword [rbp + 0x98]
jmp 0x14000a985
movsd xmm0, qword [str.cServerDaemon]
movsd qword [rbp + 0x110], xmm0
mov eax, dword [0x140012780]
mov dword [rbp + 0x118], eax
movzx eax, word [0x140012784]
mov word [rbp + 0x11c], ax
add rcx, 0xc40
lea r9, str.ServerDaemonThread
lea r8, [rbp + 0x110]
mov edx, 3
call fcn.14000d280
mov dword [rbp + 0x44], eax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
lea r9, [rsp + 0x40]
lea r8, [0x140008b30]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
movsxd rcx, dword [rbp + 0x44]
imul rdx, rcx, 0xe8
mov qword [rdx + r12 + 0xd8], rax
test rax, rax
je 0x14000a407
mov rcx, qword [0x140029c30]
add rcx, 0x1868
lea rdx, [0x1400127a0]
call fcn.1400031a0
lea r15, [0x140017d30]
lea rsi, [0x140019d10]
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x14000a436
lea rdx, str.p2p.status
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x14000a4d4
mov rcx, qword [0x140029c30]
cmp byte [rcx + 0x2454], 1
je 0x14000a45b
add rcx, 0x1868
lea rdx, [0x1400128f0]
call fcn.1400031a0
jmp 0x14000a4d4
mov r8d, r14d
mov rax, r15
cmp dword [rax + 0x18], 0
je 0x14000a470
cmp qword [rax], 0
je 0x14000a470
inc r8d
cmp dword [rax + 0x38], 0
je 0x14000a480
cmp qword [rax + 0x20], 0
je 0x14000a480
inc r8d
cmp dword [rax + 0x58], 0
je 0x14000a490
cmp qword [rax + 0x40], 0
je 0x14000a490
inc r8d
cmp dword [rax + 0x78], 0
je 0x14000a4a0
cmp qword [rax + 0x60], 0
je 0x14000a4a0
inc r8d
cmp dword [rax + 0x98], 0
je 0x14000a4b6
cmp qword [rax + 0x80], 0
je 0x14000a4b6
inc r8d
add rax, 0xa0
cmp rax, rsi
jl 0x14000a461
add rcx, 0x1868
lea rdx, [0x140012940]
call fcn.1400031a0
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x14000a87a
lea rdx, str.p2p.stop
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
mov rcx, qword [rbp + 0x98]
test eax, eax
je 0x14000a87a
test rcx, rcx
je 0x14000a51a
lea rdx, str.p2p.clients
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x14000a747
mov rcx, qword [0x140029c30]
add rcx, 0x880
lea r8, str._Listing_P2P_Clients_
lea rdx, str.cServer:Read
call fcn.140005500
mov edi, 1
lea rbx, [0x140017d58]
nop word [rax + rax]
cmp dword [rbx + 0x10], 0
je 0x14000a735
mov r9d, r14d
mov rax, r15
cmp dword [rax + 0x18], 0
je 0x14000a56f
cmp qword [rax], 0
je 0x14000a56f
inc r9d
cmp dword [rax + 0x38], 0
je 0x14000a57f
cmp qword [rax + 0x20], 0
je 0x14000a57f
inc r9d
cmp dword [rax + 0x58], 0
je 0x14000a58f
cmp qword [rax + 0x40], 0
je 0x14000a58f
inc r9d
cmp dword [rax + 0x78], 0
je 0x14000a59f
cmp qword [rax + 0x60], 0
je 0x14000a59f
inc r9d
cmp dword [rax + 0x98], 0
je 0x14000a5b5
cmp qword [rax + 0x80], 0
je 0x14000a5b5
inc r9d
add rax, 0xa0
cmp rax, rsi
jl 0x14000a560
mov rcx, qword [0x140029c30]
add rcx, 0x880
mov rax, qword [rbx]
mov qword [rsp + 0x38], rax
mov eax, dword [rbx + 8]
mov dword [rsp + 0x30], eax
mov rax, qword [rbx - 8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
lea r8, str.Number_Total__i__Number__i__Name__s__Port__i__Host__s__r_n
lea rdx, str.cServer:Member
call fcn.140005500
mov r8d, r14d
mov rax, r15
cmp dword [rax + 0x18], 0
je 0x14000a612
cmp qword [rax], 0
je 0x14000a612
inc r8d
cmp dword [rax + 0x38], 0
je 0x14000a622
cmp qword [rax + 0x20], 0
je 0x14000a622
inc r8d
cmp dword [rax + 0x58], 0
je 0x14000a632
cmp qword [rax + 0x40], 0
je 0x14000a632
inc r8d
cmp dword [rax + 0x78], 0
je 0x14000a642
cmp qword [rax + 0x60], 0
je 0x14000a642
inc r8d
cmp dword [rax + 0x98], 0
je 0x14000a658
cmp qword [rax + 0x80], 0
je 0x14000a658
inc r8d
add rax, 0xa0
cmp rax, rsi
jl 0x14000a603
mov rcx, qword [0x140029c30]
add rcx, 0x2228
mov rax, qword [rbx]
mov qword [rsp + 0x30], rax
mov eax, dword [rbx + 8]
mov dword [rsp + 0x28], eax
mov rax, qword [rbx - 8]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea rdx, str._cServer:Member__Number_Total__i__Number__i__Name___s__Port___i__Host___s__r_n
call fcn.140008740
mov r8d, r14d
mov rax, r15
nop
cmp dword [rax + 0x18], 0
je 0x14000a6af
cmp qword [rax], 0
je 0x14000a6af
inc r8d
cmp dword [rax + 0x38], 0
je 0x14000a6bf
cmp qword [rax + 0x20], 0
je 0x14000a6bf
inc r8d
cmp dword [rax + 0x58], 0
je 0x14000a6cf
cmp qword [rax + 0x40], 0
je 0x14000a6cf
inc r8d
cmp dword [rax + 0x78], 0
je 0x14000a6df
cmp qword [rax + 0x60], 0
je 0x14000a6df
inc r8d
cmp dword [rax + 0x98], 0
je 0x14000a6f5
cmp qword [rax + 0x80], 0
je 0x14000a6f5
inc r8d
add rax, 0xa0
cmp rax, rsi
jl 0x14000a6a0
mov rcx, qword [0x140029c30]
add rcx, 0x1868
mov rax, qword [rbx]
mov qword [rsp + 0x30], rax
mov eax, dword [rbx + 8]
mov dword [rsp + 0x28], eax
mov rax, qword [rbx - 8]
mov qword [rsp + 0x20], rax
mov r9d, edi
lea rdx, [0x140012a70]
call fcn.1400031a0
inc edi
add rbx, 0x20
cmp edi, 0xff
jl 0x14000a550
mov rcx, qword [rbp + 0x98]
test rcx, rcx
je 0x14000a768
lea rdx, str.p2p.reset
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
test eax, eax
jne 0x14000a86c
movups xmm0, xmmword [str.RESETcServerDaemon]
movups xmmword [rbp + 0x110], xmm0
movzx eax, word [0x140012b18]
mov word [rbp + 0x120], ax
movzx eax, byte [0x140012b1a]
mov byte [rbp + 0x122], al
mov rcx, qword [0x140029c30]
add rcx, 0xc40
lea r9, str.RESETcServerDaemon
lea r8, [rbp + 0x110]
mov edx, 4
call fcn.14000d280
mov dword [rbp + 0x44], eax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
lea r9, [rsp + 0x40]
lea r8, [0x14000a0c0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
movsxd rcx, dword [rbp + 0x44]
imul r8, rcx, 0xe8
mov qword [r8 + r12 + 0xd8], rax
test rax, rax
je 0x14000a86c
mov rcx, qword [0x140029c30]
add rcx, 0x1868
lea rdx, [0x1400127a0]
call fcn.1400031a0
mov rax, qword [0x140029c30]
mov byte [rax + 0x2454], 1
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
movsxd rdx, dword [rbp + 0x44]
imul rcx, rdx, 0xe8
mov qword [rcx + r12 + 0xd8], r14
mov qword [rcx + r12 + 0xc8], r14
mov dword [rcx + r12 + 0xd0], r14d
mov byte [rcx + r12], 0
call fcn.14000d470
mov rcx, qword [0x140029c30]
add rcx, 0x2228
call fcn.140007620
mov bl, 1
mov rcx, qword [rbp + 0x98]
jmp 0x14000a985
mov rdx, qword [0x140029c30]
cmp byte [rdx + 0x2454], 0
je 0x14000a983
movups xmm0, xmmword [str.EndP2PServerDaemon]
movups xmmword [rbp + 0x110], xmm0
movzx eax, word [0x1400129a0]
mov word [rbp + 0x120], ax
movzx eax, byte [0x1400129a2]
mov byte [rbp + 0x122], al
lea rcx, [rdx + 0xc40]
lea r9, str.ENDP2P
lea r8, [rbp + 0x110]
mov edx, 8
call fcn.14000d280
mov dword [rbp + 0x44], eax
lea rax, [rbp + 0x80]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r14d
lea r9, [rsp + 0x40]
lea r8, [0x140009fc0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
movsxd rcx, dword [rbp + 0x44]
imul rdx, rcx, 0xe8
mov qword [rdx + r12 + 0xd8], rax
test rax, rax
je 0x14000a940
mov rcx, qword [0x140029c30]
add rcx, 0x1868
lea rdx, [0x1400129b0]
call fcn.1400031a0
mov rax, qword [0x140029c30]
mov byte [rax + 0x2454], 0
mov ecx, 0x1388
call qword [sym.imp.KERNEL32.dll_Sleep]
movsxd rdx, dword [rbp + 0x44]
imul rcx, rdx, 0xe8
mov qword [rcx + r12 + 0xd8], r14
mov qword [rcx + r12 + 0xc8], r14
mov dword [rcx + r12 + 0xd0], r14d
mov byte [rcx + r12], 0
call fcn.14000d470
mov bl, 1
mov rcx, qword [rbp + 0x98]
jmp 0x14000a985
xor bl, bl
lea rax, vtable.cString.0
mov qword [rbp + 0x90], rax
test rcx, rcx
je 0x14000a9a4
call fcn.14000f76c
mov qword [rbp + 0x98], r14
mov rcx, qword [rbp + 0xa0]
test rcx, rcx
je 0x14000a9bc
call fcn.14000f76c
mov qword [rbp + 0xa0], r14
mov dword [rbp + 0xa8], r14d
lea rcx, [rbp + 0xb0]
call fcn.140001560
movzx eax, bl
mov rcx, qword [rbp + 0x128]
xor rcx, rsp
call fcn.14000f4d0
add rsp, 0x230
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret