Function at 0x140008970
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 0x1400089c6
lea rcx, [0x14009ca30]
lea rdx, [0x14009da70]
mov r8d, 0x410
call fcn.140044970
lea rcx, [0x14009ce40]
lea rdx, [0x14009de80]
mov r8d, 0x410
call fcn.140044970
mov r11d, dword [0x14009a540]
jmp 0x140008a0c
cmp dword [0x14009e290], 0
jne case.default.0x140008a44
lea rcx, [0x14009ca30]
lea rdx, [0x14009d250]
mov r8d, 0x410
call fcn.140044970
lea rcx, [0x14009ce40]
lea rdx, [0x14009d660]
mov r8d, 0x410
call fcn.140044970
mov r11d, dword [0x14009a53c]
movzx eax, byte [r12]
mov dword [0x14009a538], r11d
cmp eax, 0x65
ja case.default.0x140008a44
lea rdx, [0x140000000]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rsi
movzx eax, byte [rdx + rax + 0x8e5c]
mov ecx, dword [rdx + rax*4 + 0x8e28]
add rcx, rdx
jmp rcx
mov eax, 1
xchg dword [rdi + 0x234], eax
call fcn.140008f40
mov rcx, rdi
call fcn.140009060
jmp case.0x140008a44.3
mov ecx, 0x20470
call fcn.140044ddc
xor edx, edx
mov r8d, 0x20470
mov rcx, rax
mov rsi, rax
call fcn.140047310
lea rdx, [r12 + 1]
mov r8d, 0x20470
mov rcx, rsi
call fcn.140044970
mov rbx, qword [0x14009e298]
mov r9, qword [0x14009e2a0]
cmp rbx, r9
je 0x140008ae2
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 0x140008ad5
add rcx, 2
test eax, eax
jne 0x140008ac1
test edx, edx
je 0x140008b38
add rbx, 8
cmp rbx, r9
jne 0x140008ab0
mov ecx, 0x20471
call fcn.14004536c
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.140044970
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.140044950
mov rcx, rbx
call fcn.140044950
jmp case.0x140008a44.3
mov rax, qword [rbx]
lea r8, [rsi + 0x202]
mov edx, 0xff
mov rcx, qword [rax]
add rcx, 0x202
call fcn.140045454
mov r9, qword [rbx]
xor r11d, r11d
mov qword [rsp + 0x28], r11
lea r8, [0x1400082a0]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], r11d
call fcn.140046268
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test rsi, rsi
je case.0x140008a44.3
mov rcx, rsi
call fcn.140044950
jmp case.0x140008a44.3
mov ecx, 0x20470
call fcn.140044ddc
xor edx, edx
mov r8d, 0x20470
mov rcx, rax
mov rbp, rax
call fcn.140047310
lea rdx, [r12 + 1]
mov r8d, 0x20470
mov rcx, rbp
call fcn.140044970
movsxd rsi, dword [r12 + 0x20471]
mov rcx, rsi
call fcn.14004536c
lea rdx, [r12 + 0x20475]
mov r8, rsi
mov rcx, rax
mov rdi, rax
call fcn.140044970
mov ecx, reloc.WS2_32.dll_recv
call fcn.140044ddc
lea rcx, [rsp + 0x68]
mov qword [rax], rbp
mov qword [rax + 8], rdi
mov qword [rsp + 0x68], rax
mov rax, qword [rax]
mov dword [rax + 0x404], esi
call fcn.140009ef0
mov r9, qword [rsp + 0x68]
xor r11d, r11d
lea r8, [0x1400082a0]
mov qword [rsp + 0x28], r11
jmp 0x140008d09
call fcn.140008f40
mov rbx, qword [0x14009c5d8]
mov ecx, 0x200
call fcn.140044ddc
xor edx, edx
mov r8d, 0x200
mov rcx, rax
mov rdi, rax
call fcn.140047310
lea r9, [0x140087798]
jmp 0x140008d82
mov ecx, 0x20470
call fcn.140044ddc
xor edx, edx
mov r8d, 0x20470
mov rcx, rax
mov rsi, rax
call fcn.140047310
lea r11d, [rbp - 1]
mov ecx, r11d
mov ebx, r11d
call fcn.14004536c
lea rdx, [r12 + 1]
mov r8d, ebx
mov rcx, rax
mov rdi, rax
call fcn.140044970
mov ecx, reloc.WS2_32.dll_recv
call fcn.140044ddc
lea ecx, [rbp - 1]
xor r11d, r11d
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov dword [rsi + 0x404], ecx
mov rcx, qword [rax]
mov qword [rsp + 0x28], r11
mov r9, rax
mov dword [rcx], 2
lea r8, [0x1400082a0]
jmp 0x140008d09
mov r8d, ebp
mov rdx, r12
mov rcx, rdi
call fcn.140009170
jmp case.0x140008a44.3
lea rax, [rsp + 0x50]
xor r11d, r11d
lea r9, [r12 + 1]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x50], r11d
lea r8, [0x140009b90]
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], r11d
call fcn.140046268
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp case.0x140008a44.3
mov edx, dword [r12 + 1]
mov rcx, rdi
call fcn.1400097f0
mov rbx, qword [0x14009c5d8]
mov ecx, 0x200
test eax, eax
je 0x140008d63
call fcn.140044ddc
xor edx, edx
mov r8d, 0x200
mov rcx, rax
mov rdi, rax
call fcn.140047310
lea r9, [0x1400877a8]
jmp 0x140008d82
call fcn.140044ddc
xor edx, edx
mov r8d, 0x200
mov rcx, rax
mov rdi, rax
call fcn.140047310
lea r9, [0x1400877b8]
lea rax, [0x140087180]
lea rcx, [rdi + 2]
lea r8, str._s__s_n
mov edx, 0xff
mov byte [rdi], 1
mov qword [rsp + 0x20], rax
call fcn.140044f64
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.140044950
jmp case.0x140008a44.3
movzx ecx, byte [r12 + 1]
test ecx, ecx
je 0x140008de7
dec ecx
jne case.0x140008a44.3
lea r8, [r12 + 2]
lea rdx, str.BEIZHU
mov rcx, rdi
call fcn.140009ab0
jmp case.0x140008a44.3
lea r8, [r12 + 2]
lea rdx, str.FENZU
mov rcx, rdi
call fcn.140009ab0
jmp case.0x140008a44.3
mov eax, 1
mov dword [0x14009e290], eax
jmp case.0x140008a44.3
xor r11d, r11d
mov dword [0x14009e290], r11d
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rbp
ret