Function at 0x140002240
Capabilities:
Create thread
Download and write a file
Get socket status
Initialize winsock library
Receive and write data from server to client
Receive data
Receive data on socket
Send data
Send data on socket
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x63f0]
mov eax, 0x64f0
call fcn.140013d40
sub rsp, rax
mov rax, qword [0x1400500d0]
xor rax, rsp
mov qword [rbp + 0x63e0], rax
mov r14, rdx
mov qword [rbp - 0x10], rdx
xor r12d, r12d
mov edi, r12d
mov dword [rbp - 0x4c], r12d
cmp ecx, 1
jne 0x1400022e2
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [r14]
call fcn.140001f90
lea eax, [r12 + 1]
mov rcx, qword [rbp + 0x63e0]
xor rcx, rsp
call fcn.140013430
lea r11, [rsp + 0x64f0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rdx, [0x140049278]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
mov eax, dword [rbp - 0x30]
mov dword [rbp - 0x48], eax
lea rdx, [rbp - 0x48]
call fcn.1400065e0
mov r8d, 0xffffffff
call fcn.1400043f0
lea rcx, [0x14004928c]
call fcn.14001df64
mov r15d, 2
mov ecx, r15d
call fcn.14001d33c
mov r8, rax
lea rdx, [0x140049290]
lea rcx, str._dev_null
call fcn.14001970c
lea rcx, str.color_02
call fcn.14001df64
lea r13, [0x140000000]
mov esi, dword [rbp - 0x48]
lea r14, vtable.std::ios_base.0
nop dword [rax]
mov ecx, 0x202
lea rdx, [rbp + 0x20]
call qword [sym.imp.WS2_32.dll_WSAStartup]
mov edx, 1
lea r8d, [rdx + 5]
mov ecx, r15d
call qword [sym.imp.WS2_32.dll_socket]
mov rbx, rax
mov word [rbp - 8], r15w
xor ecx, ecx
call qword [sym.imp.WS2_32.dll_htonl]
mov dword [rbp - 4], eax
movzx ecx, si
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp - 6], ax
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp - 8]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_bind]
mov edx, 5
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_listen]
mov dword [rbp - 0x30], reloc.WS2_32.dll_recv
lea rdx, [0x1400492b8]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
lea r8, [rbp - 0x30]
lea rdx, [rbp + 8]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_accept]
mov qword [0x1400534e0], rax
nop word [rax + rax]
lea rcx, [0x14004928c]
call fcn.14001df64
lea rdx, [0x1400492d8]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
lea rdx, str.1._
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
lea rdx, [0x140049308]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
lea rdx, [0x140049318]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
lea rdx, [0x140049328]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
lea rdx, [0x140049338]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
lea rdx, [0x140049348]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
lea rdx, str.7._
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
nop dword [rax]
call fcn.14001dbac
mov byte [rbp - 0x50], al
sub al, 0x31
cmp al, 6
ja 0x1400024b0
mov byte [rbp - 0x4f], 0
xor r9d, r9d
mov r8d, r15d
lea rdx, [rbp - 0x50]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
movzx eax, byte [rbp - 0x50]
cmp al, 0x31
je 0x14000312d
cmp al, 0x32
je 0x14000303b
cmp al, 0x33
je 0x140002cce
cmp al, 0x34
je 0x14000294e
cmp al, 0x35
je 0x1400028a3
cmp al, 0x36
je 0x1400027c1
cmp al, 0x37
jne 0x140002400
mov edx, 0x217
mov ecx, 0x3bb
mov r8d, 1
call fcn.14000d4c0
mov ecx, 8
call fcn.1400136f4
lea rcx, [0x140002220]
mov qword [rax], rcx
mov qword [rbp - 0x40], rax
lea rcx, [rbp - 0x18]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x14000b2f0]
xor edx, edx
xor ecx, ecx
call fcn.14001d974
mov qword [rbp - 0x20], rax
test rax, rax
mov r14, qword [rbp - 0x10]
je 0x1400032c7
cmp dword [rbp - 0x18], 0
je 0x1400032d6
movaps xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.14000c954
test eax, eax
jne 0x1400032e1
lea ecx, [rax + 8]
call fcn.1400136f4
lea rcx, [0x1400020b0]
mov qword [rax], rcx
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x14000b2f0]
xor edx, edx
xor ecx, ecx
call fcn.14001d974
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400032b8
cmp dword [rbp - 0x38], 0
je 0x1400032e9
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.14000c954
test eax, eax
jne 0x1400032f4
lea ecx, [rax + 8]
call fcn.1400136f4
lea rcx, [0x140002180]
mov qword [rax], rcx
mov qword [rbp - 0x10], rax
lea rcx, [rbp - 0x38]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], r12d
mov r9, rax
lea r8, [0x14000b2f0]
xor edx, edx
xor ecx, ecx
call fcn.14001d974
mov qword [rbp - 0x40], rax
test rax, rax
je 0x14000330f
cmp dword [rbp - 0x38], 0
je 0x1400032fc
movaps xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rsp + 0x30], xmm0
lea rcx, [rsp + 0x30]
call fcn.14000c954
test eax, eax
jne 0x140003307
cmp byte [reloc.WS2_32.dll_accept], al
je 0x1400027b2
nop word [rax + rax]
lea rdx, [0x140049408]
lea rcx, str.Screen.jpg
call fcn.14001d210
mov rdi, rax
mov ebx, r12d
xor r9d, r9d
lea r8d, [r9 + 4]
lea rdx, [rbp - 0x4c]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_recv]
cmp dword [rbp - 0x4c], r12d
jle 0x140002700
nop word [rax + rax]
xor r9d, r9d
mov r8d, 0x1000
lea rdx, [rbp + 0x23e0]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x1400026fb
add ebx, eax
movsxd rdx, eax
mov r9, rdi
mov r8d, 1
lea rcx, [rbp + 0x23e0]
call fcn.14001e344
cmp ebx, dword [rbp - 0x4c]
jl 0x1400026c0
mov rcx, rdi
call fcn.14001d7e4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1c0], xmm0
movups xmmword [rbp + 0x1d0], xmm0
movups xmmword [rbp + 0x1e0], xmm0
movups xmmword [rbp + 0x1f0], xmm0
movups xmmword [rbp + 0x200], xmm0
movups xmmword [rbp + 0x210], xmm0
movups xmmword [rbp + 0x220], xmm0
movups xmmword [rbp + 0x230], xmm0
mov qword [rbp + 0x240], rax
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x1c0]
call fcn.14000d5d0
nop
mov byte [rsp + 0x20], 0
mov r9d, 0x217
mov r8d, 0x3bb
lea rdx, str.Screen.jpg
lea rcx, [rbp + 0x1c0]
call fcn.14000d520
mov r9d, 0xcc0020
lea r8, [rbp + 0x1c0]
xor edx, edx
xor ecx, ecx
call fcn.14000d550
nop
lea rcx, [rbp + 0x1c0]
call fcn.14000d9a0
cmp byte [reloc.WS2_32.dll_accept], 0
jne 0x140002680
mov rcx, qword [r14]
call fcn.140001f90
xor eax, eax
jmp 0x1400022b2
lea rdx, [0x1400493f0]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
mov rax, qword [0x140051860]
movsxd rax, dword [rax + 4]
mov rax, qword [rax + r13 + 0x518a0]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x48], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x40]
call fcn.140005d80
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx ebx, al
mov rcx, qword [rsp + 0x48]
test rcx, rcx
je 0x140002834
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140002834
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r9d, bl
mov r8d, 0x104
lea rdx, [rbp + 0x1c0]
call fcn.140005180
xor r9d, r9d
mov r8d, 0x104
lea rdx, [rbp + 0x1c0]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
lea rdx, [0x140049368]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
call fcn.14001dbac
mov byte [rbp - 0x50], al
mov byte [rbp - 0x4f], 0
xor r9d, r9d
mov r8d, r15d
lea rdx, [rbp - 0x50]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
jmp 0x1400032a1
lea rdx, [0x1400493b8]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
mov rax, qword [0x140051860]
movsxd rax, dword [rax + 4]
mov rax, qword [rax + r13 + 0x518a0]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x58], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x50]
call fcn.140005d80
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx ebx, al
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140002916
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140002916
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r9d, bl
mov r8d, 0x104
lea rdx, [rbp + 0x1c0]
call fcn.140005180
xor r9d, r9d
mov r8d, 0x104
lea rdx, [rbp + 0x1c0]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
jmp 0x1400032a1
lea rdx, [0x1400493b8]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
mov rax, qword [0x140051860]
movsxd rax, dword [rax + 4]
mov rax, qword [rax + r13 + 0x518a0]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x68], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x60]
call fcn.140005d80
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx ebx, al
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400029c1
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
test rax, rax
je 0x1400029c1
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r9d, bl
mov r8d, 0x104
lea rdx, [rbp + 0x1c0]
call fcn.140005180
xor r9d, r9d
mov r8d, 0x104
lea rdx, [rbp + 0x1c0]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
lea rdx, [0x1400493d0]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
mov rax, qword [0x140051860]
movsxd rax, dword [rax + 4]
mov rax, qword [rax + r13 + 0x518a0]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x78], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x70]
call fcn.140005d80
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx ebx, al
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140002a67
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140002a67
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r9d, bl
mov r8d, 0x104
lea rdx, [rbp + 0x2d0]
call fcn.140005180
xor edx, edx
mov r8d, pe_nt_image_headers64
lea rcx, [rbp + 0x3e0]
call fcn.140015a40
lea rax, [r13 + 0x49458]
mov qword [rbp + 0x3e0], rax
mov qword [rbp + 0x490], r12
mov qword [rbp + 0x4b8], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x4c0], xmm0
or edi, 4
mov dword [rbp - 0x4c], edi
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x488], rax
mov dword [rbp + 0x484], 0x98
xor r8d, r8d
lea rdx, [rbp + 0x3e8]
lea rcx, [rbp + 0x488]
call fcn.140005c70
nop
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rbx, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x3e0], rbx
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x3dc], edx
lea rcx, [rbp + 0x3e8]
call fcn.140005080
nop
mov r8d, 0x22
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x3e8]
call fcn.140004f70
test rax, rax
jne 0x140002b79
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x3e0]
add rcx, rax
mov edx, 6
cmp qword [rcx + 0x48], 0
cmovne edx, r15d
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140001e40
nop
nop dword [rax]
mov rax, qword [0x1400534e0]
mov qword [rbp + 0x23e8], rax
mov dword [rbp + 0x23e0], 1
mov qword [rbp - 0x20], 8
lea ecx, [rax + 1]
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x23e0]
call qword [sym.imp.WS2_32.dll_select]
xor r9d, r9d
mov rcx, qword [0x1400534e0]
test eax, eax
jle 0x140002bfc
mov r8d, 0x2000
lea rdx, [rbp + 0x43e0]
call qword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x140002b80
movsxd r8, eax
lea rdx, [rbp + 0x43e0]
lea rcx, [rbp + 0x3e0]
call fcn.1400045a0
jmp 0x140002b80
mov r8d, 3
lea rdx, [0x1400493e8]
call qword [sym.imp.WS2_32.dll_send]
lea rcx, [rbp + 0x3e8]
call fcn.140004e80
test rax, rax
jne 0x140002c4f
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x3e0]
add rcx, rax
mov edx, 6
cmp qword [rcx + 0x48], 0
cmovne edx, r15d
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140001e40
nop
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x3e0], rbx
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x3dc], edx
lea rcx, [rbp + 0x3e8]
call fcn.140004040
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x3e0], rax
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x10]
mov dword [rbp + rcx + 0x3dc], edx
mov qword [rbp + 0x488], r14
lea rcx, [rbp + 0x488]
call fcn.14000c0a8
nop
jmp 0x1400032a1
lea rdx, [0x140049388]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
mov rax, qword [0x140051860]
movsxd rax, dword [rax + 4]
mov rax, qword [rax + r13 + 0x518a0]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x78], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rbp - 0x80]
call fcn.140005d80
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx ebx, al
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x140002d3e
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140002d3e
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r9d, bl
mov r8d, 0x104
lea rdx, [rbp + 0x2d0]
call fcn.140005180
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0x3e0]
call fcn.140015a40
lea rax, [r13 + 0x49480]
mov qword [rbp + 0x3e0], rax
mov qword [rbp + 0x498], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x4c0], xmm0
mov qword [rbp + 0x4d0], r12
or edi, 1
mov dword [rbp - 0x4c], edi
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x490], rax
mov dword [rbp + 0x48c], 0x98
mov qword [rbp + 0x3e8], r12
xor r8d, r8d
lea rdx, [rbp + 0x3f0]
lea rcx, [rbp + 0x490]
call fcn.140005c70
nop
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x3e0], rax
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x3dc], edx
lea rcx, [rbp + 0x3f0]
call fcn.140005080
nop
mov r8d, 0x21
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x3f0]
call fcn.140004f70
test rax, rax
jne 0x140002e57
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x3e0]
add rcx, rax
mov edx, 6
cmp qword [rcx + 0x48], 0
cmovne edx, r15d
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140001e40
nop
lea rdx, [0x1400493a0]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
mov rax, qword [0x140051860]
movsxd rax, dword [rax + 4]
mov rax, qword [rax + r13 + 0x518a0]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x68], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rbp - 0x70]
call fcn.140005d80
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx ebx, al
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140002ec7
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140002ec7
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r9d, bl
mov r8d, 0x104
lea rdx, [rbp + 0x1c0]
call fcn.140005180
xor r9d, r9d
mov r8d, 0x104
lea rdx, [rbp + 0x1c0]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
lea rdx, [rbp + 0x23e0]
lea rcx, [rbp + 0x3e0]
call fcn.140004300
mov ecx, dword [rax + 8]
test ecx, ecx
jle 0x140002f54
nop dword [rax]
nop dword [rax + rax]
xor r9d, r9d
mov r8d, ecx
lea rdx, [rbp + 0x23e0]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
lea rdx, [rbp + 0x23e0]
lea rcx, [rbp + 0x3e0]
call fcn.140004300
mov ecx, dword [rax + 8]
test ecx, ecx
jg 0x140002f20
mov ecx, 3
call fcn.140013980
xor r9d, r9d
lea r8d, [r9 + 3]
mov rdx, rax
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_recv]
lea rcx, [rbp + 0x3f0]
call fcn.140004e80
test rax, rax
jne 0x140002fb5
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x3e0]
add rcx, rax
mov edx, 6
cmp qword [rcx + 0x48], 0
cmovne edx, r15d
or edx, dword [rcx + 0x10]
xor r8d, r8d
call fcn.140001e40
nop
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x3e0], rax
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0x3dc], edx
lea rcx, [rbp + 0x3f0]
call fcn.140004040
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x3e0], rax
mov rax, qword [rbp + 0x3e0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0x3dc], edx
mov qword [rbp + 0x490], r14
lea rcx, [rbp + 0x490]
call fcn.14000c0a8
nop
jmp 0x1400032a1
lea rdx, [0x140049364]
call fcn.140005ec0
mov rax, qword [0x140051860]
movsxd rax, dword [rax + 4]
mov rax, qword [rax + r13 + 0x518a0]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x58], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rbp - 0x60]
call fcn.140005d80
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx ebx, al
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1400030a3
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
test rax, rax
je 0x1400030a3
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r9d, bl
mov r8d, 0x2000
lea rdx, [rbp + 0x23e0]
call fcn.140005180
lea rax, [rbp + 0x23e0]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400030d0
xor r9d, r9d
lea rdx, [rbp + 0x23e0]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
lea rdx, [0x140049368]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
call fcn.14001dbac
mov byte [rbp - 0x50], al
mov byte [rbp - 0x4f], 0
xor r9d, r9d
mov r8d, r15d
lea rdx, [rbp - 0x50]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
jmp 0x1400032a1
lea rdx, [0x140049364]
call fcn.140005ec0
mov rax, qword [0x140051860]
movsxd rax, dword [rax + 4]
mov rax, qword [rax + r13 + 0x518a0]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x38], rcx
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
nop
lea rcx, [rsp + 0x30]
call fcn.140005d80
mov r8, qword [rax]
mov dl, 0xa
mov rcx, rax
call qword [r8 + 0x40]
movzx ebx, al
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140003198
mov rdx, qword [rcx]
call qword [rdx + reloc.WS2_32.dll_recv]
test rax, rax
je 0x140003198
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
movzx r9d, bl
mov r8d, 0x2000
lea rdx, [rbp + 0x3e0]
call fcn.140005180
lea rax, [rbp + 0x3e0]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400031c0
xor r9d, r9d
lea rdx, [rbp + 0x3e0]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
lea rdx, [0x140049368]
call fcn.140005ec0
mov rcx, rax
call fcn.140006160
call fcn.14001dbac
mov byte [rbp - 0x50], al
mov byte [rbp - 0x4f], 0
xor r9d, r9d
mov r8d, r15d
lea rdx, [rbp - 0x50]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_send]
lea rcx, [0x14004928c]
call fcn.14001df64
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [0x1400534e0]
mov qword [rbp + 0x23e8], rax
mov dword [rbp + 0x23e0], 1
mov qword [rbp - 0x40], 0xa
lea ecx, [rax + 1]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x23e0]
call qword [sym.imp.WS2_32.dll_select]
test eax, eax
jle 0x140003295
xor r9d, r9d
mov r8d, r15d
lea rdx, [rbp - 0x48]
mov rcx, qword [0x1400534e0]
call qword [sym.imp.WS2_32.dll_recv]
movzx edx, byte [rbp - 0x48]
call fcn.1400061f0
jmp 0x140003230
lea rcx, str.pause
call fcn.14001df64
lea rcx, [0x14004928c]
call fcn.14001df64
call qword [sym.imp.WS2_32.dll_WSACleanup]
jmp 0x140002360
mov dword [rbp - 0x38], r12d
mov ecx, 6
call fcn.14000b930
nop
mov dword [rbp - 0x18], r12d
mov ecx, 6
call fcn.14000b930
nop
mov ecx, 1
call fcn.14000b930
int3
mov ecx, eax
call fcn.14000b8f4
nop
mov ecx, 1
call fcn.14000b930
int3
mov ecx, eax
call fcn.14000b8f4
nop
mov ecx, 1
call fcn.14000b930
int3
mov ecx, eax
call fcn.14000b8f4
nop
mov dword [rbp - 0x38], r12d
mov ecx, 6
call fcn.14000b930
int3