Function at 0x140005da0
Capabilities:
Create thread

Disassembly:
push rbp
push rdi
push r12
sub rsp, 0x30
mov r12, rdx
mov rdi, rcx
mov ebp, r8d
lea rcx, [0x140028800]
lea rdx, [0x140029020]
mov r8d, 0x410
call sub.MSVCR100.dll_memcpy
lea rcx, [0x140028c10]
lea rdx, [0x140029430]
mov r8d, 0x410
call sub.MSVCR100.dll_memcpy
mov eax, dword [0x140024558]
mov r11d, dword [0x14002454c]
mov dword [0x140024548], r11d
mov dword [0x140024554], eax
movzx eax, byte [r12]
cmp eax, 0xa
ja case.default.0x140005e27
lea rdx, [0x140000000]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x60], rsi
mov ecx, dword [rdx + rax*4 + 0x62a4]
add rcx, rdx
jmp rcx
mov eax, 1
mov rcx, rdi
xchg dword [rdi + 0x230], eax
call fcn.140005c80
mov rcx, rdi
call fcn.140004c80
jmp case.0x140005e27.3
mov ecx, 0xc40
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
xor edx, edx
mov r8d, 0xc40
mov rcx, rax
mov rsi, rax
call sub.MSVCR100.dll_memset
lea rdx, [r12 + 1]
mov rcx, rsi
mov r8d, 0xc40
call sub.MSVCR100.dll_memcpy
mov rbx, qword [0x14002a060]
mov r9, qword [0x14002a068]
cmp rbx, r9
je 0x140005ec2
nop dword [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 0x140005eb5
add rcx, 2
test eax, eax
jne 0x140005ea1
test edx, edx
je 0x140005f15
add rbx, 8
cmp rbx, r9
jne 0x140005e90
mov ecx, 0xc41
call fcn.140015a14
mov r8d, 0xc40
mov rdx, rsi
mov rbx, rax
mov byte [rax], 5
mov eax, 1
lea rcx, [rbx + 1]
mov dword [rsi + 0x400], eax
call sub.MSVCR100.dll_memcpy
mov r8d, 0xc41
mov rdx, rbx
mov rcx, rdi
call fcn.140006360
mov rcx, rsi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, rbx
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
jmp case.0x140005e27.3
mov rax, qword [rbx]
lea r8, [rsi + 0x202]
mov edx, 0xff
mov rcx, qword [rax]
add rcx, 0x202
call qword [sym.imp.MSVCR100.dll_wcscpy_s]
mov r9, qword [rbx]
xor edi, edi
lea r8, [0x140004a10]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
call qword [sym.imp.MSVCR100.dll__beginthreadex]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rsi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void____ptr64_
jmp case.0x140005e27.3
mov ecx, 0xc40
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
xor edx, edx
mov r8d, 0xc40
mov rcx, rax
mov rbp, rax
call sub.MSVCR100.dll_memset
lea rdx, [r12 + 1]
mov rcx, rbp
mov r8d, 0xc40
call sub.MSVCR100.dll_memcpy
movsxd rsi, dword [r12 + 0xc41]
mov rcx, rsi
call fcn.140015a14
lea rdx, [r12 + 0xc45]
mov r8, rsi
mov rcx, rax
mov rdi, rax
call sub.MSVCR100.dll_memcpy
mov ecx, reloc.WS2_32.dll_recv
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov r12, rax
mov qword [rsp + 0x58], rax
mov qword [rax], rbp
mov qword [rax + 8], rdi
mov rcx, qword [rax]
mov dword [rcx + 0x404], esi
mov rcx, qword [0x14002a068]
mov r8, qword [0x14002a060]
lea rax, [rsp + 0x58]
cmp rax, rcx
jae 0x1400060b1
lea rax, [rsp + 0x58]
cmp r8, rax
ja 0x1400060b1
mov rdx, qword [0x14002a070]
lea rbx, [rsp + 0x58]
xor edi, edi
sub rbx, r8
sar rbx, 3
cmp rcx, rdx
jne 0x14000609c
mov rax, rcx
movabs r9, 0x1ffffffffffffffe
sub rax, r8
sar rax, 3
cmp rax, r9
jbe 0x14000604c
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
sub rdx, r8
inc rax
sar rdx, 3
cmp rax, rdx
jbe 0x14000609c
mov r8, rdx
movabs rcx, 0x1fffffffffffffff
shr r8, 1
sub rcx, r8
cmp rcx, rdx
jae 0x140006078
mov rdx, rdi
jmp 0x14000607b
add rdx, r8
cmp rdx, rax
lea rcx, [0x14002a060]
cmovb rdx, rax
call fcn.140005bc0
mov rcx, qword [0x14002a068]
mov r8, qword [0x14002a060]
test rcx, rcx
je 0x14000613e
mov rax, qword [r8 + rbx*8]
mov qword [rcx], rax
jmp 0x140006137
mov rdx, qword [0x14002a070]
xor edi, edi
cmp rcx, rdx
jne 0x14000612f
mov rax, rcx
movabs r9, 0x1ffffffffffffffe
sub rax, r8
sar rax, 3
cmp rax, r9
jbe 0x1400060e6
lea rcx, str.vector_T__too_long
call qword [sym.imp.MSVCP100.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
sub rdx, r8
inc rax
sar rdx, 3
cmp rax, rdx
jbe 0x14000612f
mov r8, rdx
movabs rcx, 0x1fffffffffffffff
shr r8, 1
sub rcx, r8
cmp rcx, rdx
jae 0x140006112
mov rdx, rdi
jmp 0x140006115
add rdx, r8
cmp rdx, rax
lea rcx, [0x14002a060]
cmovb rdx, rax
call fcn.140005bc0
mov rcx, qword [0x14002a068]
test rcx, rcx
je 0x14000613e
mov qword [rcx], r12
mov rcx, qword [0x14002a068]
add rcx, 8
mov r9, r12
mov qword [0x14002a068], rcx
jmp 0x1400061e4
mov rcx, rdi
call fcn.140005c80
mov rcx, qword [0x1400287f0]
lea r9, [0x140019360]
lea r8, [0x140019b50]
mov edx, 2
call fcn.140006370
jmp case.0x140005e27.3
mov ecx, 0xc40
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
xor edx, edx
mov r8d, 0xc40
mov rcx, rax
mov rsi, rax
call sub.MSVCR100.dll_memset
lea r11d, [rbp - 1]
mov ecx, r11d
mov ebx, r11d
call fcn.140015a14
lea rdx, [r12 + 1]
mov r8d, ebx
mov rcx, rax
mov rdi, rax
call sub.MSVCR100.dll_memcpy
mov ecx, reloc.WS2_32.dll_recv
call sub.MSVCR100.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
lea ecx, [rbp - 1]
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
lea r8, [0x140004a10]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], edi
call qword [sym.imp.MSVCR100.dll__beginthreadex]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp case.0x140005e27.3
mov rcx, rdi
call fcn.140004c80
mov r8d, ebp
mov rdx, r12
mov rcx, rdi
call fcn.140005a40
jmp case.0x140005e27.3
mov edx, dword [r12 + 1]
mov rcx, rdi
call fcn.140004e80
mov rcx, qword [0x1400287f0]
lea r9, [0x140019360]
mov edx, 2
test eax, eax
je 0x140006256
lea r8, [0x140019b40]
call fcn.140006370
jmp case.0x140005e27.3
lea r8, [0x140019b30]
call fcn.140006370
jmp case.0x140005e27.3
movzx ecx, byte [r12 + 1]
test ecx, ecx
je 0x14000627b
dec ecx
jne case.0x140005e27.3
lea rdx, str.BEIZHU
jmp 0x140006282
lea rdx, str.FENZU
lea r8, [r12 + 2]
mov rcx, rdi
call fcn.140005150
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rbp
ret