Function at 0x180006a30
Capabilities:
Create thread

Disassembly:
push rbp
push rdi
push r12
sub rsp, 0x30
cmp dword [rcx + 0x230], 0
mov ebp, r8d
mov r12, rdx
mov rdi, rcx
je 0x180006a86
lea rcx, [0x180049db0]
lea rdx, [0x18004adf0]
mov r8d, 0x410
call fcn.18001c3c0
lea rcx, [0x18004a1c0]
lea rdx, [0x18004b200]
mov r8d, 0x410
call fcn.18001c3c0
mov r11d, dword [0x1800474b8]
jmp 0x180006acc
cmp dword [0x18004b610], 0
jne case.default.0x180006b04
lea rcx, [0x180049db0]
lea rdx, [0x18004a5d0]
mov r8d, 0x410
call fcn.18001c3c0
lea rcx, [0x18004a1c0]
lea rdx, [0x18004a9e0]
mov r8d, 0x410
call fcn.18001c3c0
mov r11d, dword [0x18004669c]
movzx eax, byte [r12]
mov dword [0x180046698], r11d
cmp eax, 0x65
ja case.default.0x180006b04
lea rdx, [0x180000000]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rsi
movzx eax, byte [rdx + rax + 0x7070]
mov ecx, dword [rdx + rax*4 + 0x703c]
add rcx, rdx
jmp rcx
mov eax, 1
xchg dword [rdi + 0x234], eax
call fcn.1800070e0
mov rcx, rdi
call fcn.180007200
jmp case.0x180006b04.3
mov ecx, 0x20470
call fcn.18001c750
xor edx, edx
mov r8d, 0x20470
mov rcx, rax
mov rsi, rax
call fcn.18001df20
lea rdx, [r12 + 1]
mov r8d, 0x20470
mov rcx, rsi
call fcn.18001c3c0
mov rbx, qword [0x18004c3e8]
mov r9, qword [0x18004c3f0]
cmp rbx, r9
je 0x180006ba2
nop word [rax + rax]
mov rax, qword [rbx]
lea r8, [rsi + 4]
mov rcx, qword [rax]
add rcx, 4
sub r8, rcx
movzx edx, word [rcx]
movzx eax, word [rcx + r8]
sub edx, eax
jne 0x180006b95
add rcx, 2
test eax, eax
jne 0x180006b81
test edx, edx
je 0x180006bf8
add rbx, 8
cmp rbx, r9
jne 0x180006b70
mov ecx, 0x20471
call fcn.18001c9c0
mov r8d, 0x20470
mov rdx, rsi
mov rbx, rax
mov byte [rax], 5
mov eax, 1
lea rcx, [rbx + 1]
mov dword [rsi + 0x400], eax
call fcn.18001c3c0
mov rcx, qword [rdi + 8]
mov r8d, 0x20471
mov r9, qword [rcx]
mov rdx, rbx
call qword [r9 + reloc.WS2_32.dll_recv]
mov rcx, rsi
call fcn.18001c3a0
mov rcx, rbx
call fcn.18001c3a0
jmp case.0x180006b04.3
mov rax, qword [rbx]
lea r8, [rsi + 0x202]
mov edx, 0xff
mov rcx, qword [rax]
add rcx, 0x202
call fcn.18001caa8
mov r9, qword [rbx]
xor edi, edi
lea r8, [0x180006390]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
call fcn.18001d040
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rsi, rsi
je case.0x180006b04.3
mov rcx, rsi
call fcn.18001c3a0
jmp case.0x180006b04.3
mov ecx, 0x20470
call fcn.18001c750
xor edx, edx
mov r8d, 0x20470
mov rcx, rax
mov rbp, rax
call fcn.18001df20
lea rdx, [r12 + 1]
mov r8d, 0x20470
mov rcx, rbp
call fcn.18001c3c0
movsxd rsi, dword [r12 + 0x20471]
mov rcx, rsi
call fcn.18001c9c0
lea rdx, [r12 + 0x20475]
mov r8, rsi
mov rcx, rax
mov rdi, rax
call fcn.18001c3c0
mov ecx, reloc.WS2_32.dll_recv
call fcn.18001c750
mov r12, rax
mov qword [rsp + 0x68], rax
mov qword [rax], rbp
mov qword [rax + 8], rdi
mov rcx, qword [rax]
mov dword [rcx + 0x404], esi
mov rcx, qword [0x18004c3f0]
mov r8, qword [0x18004c3e8]
lea rax, [rsp + 0x68]
cmp rax, rcx
jae 0x180006d9a
lea rax, [rsp + 0x68]
cmp r8, rax
ja 0x180006d9a
mov rdx, qword [0x18004c3f8]
lea rbx, [rsp + 0x68]
xor edi, edi
sub rbx, r8
sar rbx, 3
cmp rcx, rdx
jne 0x180006d85
mov rax, rcx
movabs r9, 0x1ffffffffffffffe
sub rax, r8
sar rax, 3
cmp rax, r9
jbe 0x180006d35
lea rcx, str.vector_T__too_long
call fcn.18002de80
int3
sub rdx, r8
inc rax
sar rdx, 3
cmp rax, rdx
jbe 0x180006d85
mov r8, rdx
movabs rcx, 0x1fffffffffffffff
shr r8, 1
sub rcx, r8
cmp rcx, rdx
jae 0x180006d61
mov rdx, rdi
jmp 0x180006d64
add rdx, r8
cmp rdx, rax
lea rcx, [0x18004c3e8]
cmovb rdx, rax
call fcn.1800081b0
mov rcx, qword [0x18004c3f0]
mov r8, qword [0x18004c3e8]
test rcx, rcx
je 0x180006e26
mov rax, qword [r8 + rbx*8]
mov qword [rcx], rax
jmp 0x180006e1f
mov rdx, qword [0x18004c3f8]
xor edi, edi
cmp rcx, rdx
jne 0x180006e17
mov rax, rcx
movabs r9, 0x1ffffffffffffffe
sub rax, r8
sar rax, 3
cmp rax, r9
jbe 0x180006dce
lea rcx, str.vector_T__too_long
call fcn.18002de80
int3
sub rdx, r8
inc rax
sar rdx, 3
cmp rax, rdx
jbe 0x180006e17
mov r8, rdx
movabs rcx, 0x1fffffffffffffff
shr r8, 1
sub rcx, r8
cmp rcx, rdx
jae 0x180006dfa
mov rdx, rdi
jmp 0x180006dfd
add rdx, r8
cmp rdx, rax
lea rcx, [0x18004c3e8]
cmovb rdx, rax
call fcn.1800081b0
mov rcx, qword [0x18004c3f0]
test rcx, rcx
je 0x180006e26
mov qword [rcx], r12
mov rcx, qword [0x18004c3f0]
add rcx, 8
mov qword [rsp + 0x28], rdi
mov r9, r12
mov qword [0x18004c3f0], rcx
lea r8, [0x180006390]
jmp 0x180006f1e
call fcn.1800070e0
mov rbx, qword [0x180049548]
mov ecx, 0x200
call fcn.18001c750
xor edx, edx
mov r8d, 0x200
mov rcx, rax
mov rdi, rax
call fcn.18001df20
lea r9, [0x18003a340]
jmp 0x180006f96
mov ecx, 0x20470
call fcn.18001c750
xor edx, edx
mov r8d, 0x20470
mov rcx, rax
mov rsi, rax
call fcn.18001df20
lea r11d, [rbp - 1]
mov ecx, r11d
mov ebx, r11d
call fcn.18001c9c0
lea rdx, [r12 + 1]
mov r8d, ebx
mov rcx, rax
mov rdi, rax
call fcn.18001c3c0
mov ecx, reloc.WS2_32.dll_recv
call fcn.18001c750
lea ecx, [rbp - 1]
lea r8, [0x180006390]
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov dword [rsi + 0x404], ecx
mov rcx, qword [rax]
xor edi, edi
mov r9, rax
mov dword [rcx], 2
mov qword [rsp + 0x28], rdi
jmp 0x180006f1e
mov r8d, ebp
mov rdx, r12
mov rcx, rdi
call fcn.1800073f0
jmp case.0x180006b04.3
lea rax, [rsp + 0x50]
xor edi, edi
lea r9, [r12 + 1]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x50], edi
lea r8, [0x180007e40]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], edi
call fcn.18001d040
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp case.0x180006b04.3
mov edx, dword [r12 + 1]
mov rcx, rdi
call fcn.180007a90
mov rbx, qword [0x180049548]
mov ecx, 0x200
test eax, eax
je 0x180006f77
call fcn.18001c750
xor edx, edx
mov r8d, 0x200
mov rcx, rax
mov rdi, rax
call fcn.18001df20
lea r9, [0x18003a350]
jmp 0x180006f96
call fcn.18001c750
xor edx, edx
mov r8d, 0x200
mov rcx, rax
mov rdi, rax
call fcn.18001df20
lea r9, [0x18003a360]
lea rax, [0x180039ae0]
lea rcx, [rdi + 2]
lea r8, str._s__s_n
mov edx, 0xff
mov byte [rdi], 1
mov qword [rsp + 0x20], rax
call fcn.18001c7f4
mov rcx, qword [rbx + 8]
mov r8d, 0x200
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, rdi
call fcn.18001c3a0
jmp case.0x180006b04.3
movzx ecx, byte [r12 + 1]
test ecx, ecx
je 0x180006ffb
dec ecx
jne case.0x180006b04.3
lea r8, [r12 + 2]
lea rdx, str.BEIZHU
mov rcx, rdi
call fcn.180007d60
jmp case.0x180006b04.3
lea r8, [r12 + 2]
lea rdx, str.FENZU
mov rcx, rdi
call fcn.180007d60
jmp case.0x180006b04.3
mov eax, 1
mov dword [0x18004b610], eax
jmp case.0x180006b04.3
xor edi, edi
mov dword [0x18004b610], edi
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rbp
ret