Function at 0x411e00
Capabilities:
Encode data using base64
Receive data
Receive data on socket
Send data
Send data on socket
Send http request

Disassembly:
push r15
mov eax, 0x42c8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.00682cc0
sub rsp, rax
vmovups xmmword [rsp + 0x4270], xmm6
vmovups xmmword [rsp + 0x4280], xmm7
vmovups xmmword [rsp + 0x4290], xmm8
vmovups xmmword [rsp + 0x42a0], xmm9
vmovups xmmword [rsp + 0x42b0], xmm10
mov rax, qword [0x006f1de0]
mov r12, qword [rax]
mov rax, qword [0x006f1df0]
mov eax, dword [rax]
mov dword [rsp + 0x48], eax
test eax, eax
jne 0x411e71
mov rax, qword [0x006f1e50]
cmp byte [rax], 0
jne 0x412780
test r12, r12
je 0x41202f
mov rcx, r12
call sub.msvcrt.dll_strlen
mov ecx, 1
lea rdx, [rax + 1]
call sub.msvcrt.dll_calloc
mov rdx, r12
mov qword [rsp + 0x40], rax
test rax, rax
je 0x412f7f
mov rdi, qword [rsp + 0x40]
mov rcx, rdi
call sub.msvcrt.dll_strcpy
movsx si, byte [rdi]
mov rdx, rdi
test si, si
je 0x412ed0
mov ecx, 1
mov eax, esi
nop word cs:[rax + rax]
inc rdx
cmp ax, 0x2c
sete al
movzx eax, al
add ecx, eax
movsx ax, byte [rdx]
test ax, ax
jne 0x411ed0
movsxd rcx, ecx
mov edx, 0xc
call sub.msvcrt.dll_calloc
mov qword [0x00704718], rax
test rax, rax
je 0x412f98
vmovups xmm10, xmmword [0x00692420]
mov dword [0x0068b0d0], 0
xor ebx, ebx
vmovups xmm9, xmmword [0x00692430]
vmovups xmm8, xmmword [0x00692440]
vmovups xmm7, xmmword [0x00692450]
vmovups xmm6, xmmword [0x00692460]
mov r15, qword [rsp + 0x40]
mov r13, qword [sym.imp.msvcrt.dll_toupper]
test si, si
je 0x41201d
nop
cmp si, 0x20
jne 0x411f6f
nop word cs:[rax + rax]
movsx si, byte [r15 + 1]
inc r15
cmp si, 0x20
je 0x411f60
cmp si, 9
je 0x411f60
lea rbp, [r15 + 1]
cmp si, 0x2c
je 0x41200c
mov edx, 0x2c
mov rcx, r15
xor ebp, ebp
call sub.msvcrt.dll_strchr
test rax, rax
je 0x411f9e
lea rbp, [rax + 1]
mov byte [rax], 0
mov ecx, 0x52
call r13
movsx r14d, byte [r15]
mov esi, eax
mov ecx, r14d
call qword [sym.imp.msvcrt.dll_isalpha]
test eax, eax
je 0x411fc4
cmp byte [r15 + 1], 0x3a
je 0x4124d0
movsxd rax, ebx
mov ecx, 8
lea rdi, str.0.0.0.0
lea rdx, [rax + rax*2]
mov rax, qword [0x00704718]
lea r14, [rax + rdx*4]
mov byte [r14 + 8], sil
mov rsi, r15
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x4123d0
mov qword [r14], 0
inc ebx
mov dword [0x0068b0d0], ebx
test rbp, rbp
je 0x41201d
movsx si, byte [rbp]
mov r15, rbp
test si, si
jne 0x411f50
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll_free
test ebx, ebx
je 0x412760
mov edx, 8
mov ecx, 1
call sub.msvcrt.dll_calloc
mov ecx, 0x3e8
mov rbp, qword [sym.imp.KERNEL32.dll_Sleep]
mov rdi, rax
mov qword [rsp + 0x40], rax
call rbp
xor r8d, r8d
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov r15, rax
mov qword [rdi], rax
cmp rax, 0xffffffffffffffff
je 0x4128c0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov rcx, r12
mov word [rsp + 0x70], 2
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x74], eax
cmp eax, 0xffffffff
je 0x4128f0
movzx esi, word [rsp + 0x48]
lea r14, [rsp + 0x70]
mov ecx, esi
call qword [sym.imp.WS2_32.dll_htons]
mov r12, qword [sym.imp.msvcrt.dll__time64]
xor ecx, ecx
mov word [rsp + 0x72], ax
call r12
mov r13, qword [sym.imp.WS2_32.dll_bind]
mov rdi, rax
jmp 0x412135
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
xor ecx, ecx
mov rbx, rax
call r12
sub rax, rdi
cmp rax, 0x3d
jg 0x412850
mov rax, qword [0x006f1ef0]
cmp byte [rax], 0
je 0x41211a
mov rax, qword [0x006f1e50]
cmp byte [rax], 0
je 0x41212e
mov r8d, esi
lea rdx, str.API_bind_to_port__d_failed___trying_again_in_20sec
mov ecx, 2
call fcn.0040afb0
mov ecx, 0x4e20
call rbp
mov r8d, 0x10
mov rdx, r14
mov rcx, r15
call r13
test eax, eax
js 0x4120e0
mov edx, 0xa
mov rcx, r15
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
je 0x412990
mov edx, 0x4001
mov ecx, 1
call sub.msvcrt.dll_calloc
mov qword [0x00704710], rax
mov edx, dword [0x00704700]
test edx, edx
jne 0x412451
lea rbp, [rsp + 0x60]
lea rbx, [rsp + 0x80]
lea r14, str.127.0.0.1
mov dword [rsp + 0x60], 0x10
mov r8, rbp
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.WS2_32.dll_accept]
movsxd r12, eax
cmp eax, 0xffffffff
je 0x412920
mov ecx, dword [rsp + 0x84]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov r13, rax
mov rax, qword [0x006f1de0]
cmp qword [rax], 0
je 0x412370
mov ecx, dword [rsp + 0x84]
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [0x0068b0d0]
test ecx, ecx
jle 0x412410
mov rdx, qword [0x00704718]
dec ecx
lea rcx, [rcx + rcx*2]
lea r8, [rdx + rcx*4 + 0xc]
jmp 0x41221d
add rdx, 0xc
cmp rdx, r8
je 0x412410
mov ecx, dword [rdx + 4]
and ecx, eax
cmp ecx, dword [rdx]
jne 0x412210
mov rsi, qword [0x006f1e50]
cmp byte [rsi], 0
je 0x412242
mov rax, qword [0x006f1ec0]
cmp byte [rax], 0
jne 0x4123a9
lea r14, [rsp + 0x270]
xor r9d, r9d
mov r8d, 0x400
mov rcx, r12
mov rdx, r14
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
je 0x412700
test eax, eax
jle 0x412710
lea eax, [rax - 1]
movsxd rdx, eax
cmp byte [rsp + rdx + 0x270], 0xa
je 0x412950
movsxd rax, ebx
mov byte [rsp + rax + 0x270], 0
lea rdx, str.GET__
mov rcx, r14
call sub.msvcrt.dll_strstr
mov r13, rax
test rax, rax
je 0x4122bd
mov rcx, r13
call sub.msvcrt.dll_strlen
cmp rax, 5
ja 0x4127a0
xor r13d, r13d
mov edx, 0x7c
mov rcx, r14
xor edi, edi
call sub.msvcrt.dll_strchr
test rax, rax
je 0x4122d8
lea rdi, [rax + 1]
mov byte [rax], 0
cmp byte [rsi], 0
jne 0x412720
mov rdx, qword [str.summary]
mov rcx, r14
call sub.msvcrt.dll_strcmp
mov ebx, eax
test eax, eax
je 0x4129d0
mov rdx, qword [str.threads]
mov rcx, r14
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x41304d
mov rdx, qword [str.seturl]
mov rcx, r14
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x413057
mov rdx, qword [str.quit]
mov rcx, r14
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x4129c6
mov rdx, qword [str.help]
mov rcx, r14
mov ebx, 4
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x4129d0
mov rcx, r12
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x412175
mov rsi, r13
mov ecx, 0xa
mov rdi, r14
repe cmpsb byte [rsi], byte [rdi]
mov rsi, qword [0x006f1e50]
seta al
sbb al, 0
cmp byte [rsi], 0
movsx eax, al
je 0x4124c0
mov rdx, qword [0x006f1ec0]
cmp byte [rdx], 0
je 0x4124c0
test eax, eax
jne 0x412428
lea r9, str.Accepted
mov r8, r13
lea rdx, str.API:_connection_from__s____s
mov ecx, 5
call fcn.0040afb0
jmp 0x412242
mov edx, 0x2f
mov rcx, r15
call sub.msvcrt.dll_strchr
test rax, rax
je 0x4126f0
lea rcx, [rax + 1]
mov byte [rax], 0
call sub.msvcrt.dll_atoi
lea ecx, [rax - 1]
cmp ecx, 0x1f
jbe 0x412510
mov ebx, dword [0x0068b0d0]
jmp 0x412007
mov rax, qword [0x006f1e50]
cmp byte [rax], 0
je 0x412443
mov rax, qword [0x006f1ec0]
cmp byte [rax], 0
je 0x412443
lea r9, str.Ignored
mov r8, r13
lea rdx, str.API:_connection_from__s____s
mov ecx, 5
call fcn.0040afb0
mov eax, dword [0x00704700]
test eax, eax
je 0x412197
mov rcx, r15
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, qword [rsp + 0x40]
call sub.msvcrt.dll_free
mov rcx, qword [0x00704710]
call sub.msvcrt.dll_free
nop
vmovups xmm6, xmmword [rsp + 0x4270]
vmovups xmm7, xmmword [rsp + 0x4280]
vmovups xmm8, xmmword [rsp + 0x4290]
vmovups xmm9, xmmword [rsp + 0x42a0]
vmovups xmm10, xmmword [rsp + 0x42b0]
add rsp, 0x42c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test eax, eax
jne 0x412443
jmp 0x412242
mov ecx, r14d
call r13
mov ecx, 0x57
mov edi, eax
call r13
cmp edi, eax
je 0x412501
mov ecx, 0x41
call r13
mov edx, edi
sub edx, eax
movsxd rax, edx
lea rdx, [0x0071b0a0]
cmp qword [rdx + rax*8], 0
je 0x412503
mov esi, edi
add r15, 2
jmp 0x411fc4
movsxd rdx, dword [0x0068b0d0]
lea r9d, [rax + 1]
lea r8, [rdx + rdx*2]
mov rdx, qword [0x00704718]
lea r14, [rdx + r8*4]
cmp eax, 2
jbe 0x412eda
vmovd xmm5, eax
mov edx, r9d
vpshufd xmm2, xmm5, 0
xor eax, eax
shr edx, 2
vpaddd xmm2, xmm2, xmm10
vxorps xmm3, xmm3, xmm3
nop dword [rax]
vmovups xmm1, xmm2
inc eax
vpaddd xmm2, xmm2, xmm9
vpsrad xmm0, xmm1, 0x1f
vpsrld xmm4, xmm0, 0x1d
vpaddd xmm0, xmm4, xmm1
vpsrad xmm1, xmm1, 3
vandps xmm0, xmm0, xmm8
vpsubd xmm1, xmm6, xmm1
vpsubd xmm0, xmm0, xmm4
vpslld xmm1, xmm1, 3
vpsllvd xmm0, xmm7, xmm0
vpsllvd xmm0, xmm0, xmm1
vorps xmm3, xmm3, xmm0
cmp edx, eax
jne 0x412550
vpsrldq xmm0, xmm3, 8
mov eax, r9d
vorps xmm3, xmm3, xmm0
and eax, 0xfffffffc
vpsrldq xmm0, xmm3, 4
vorps xmm3, xmm3, xmm0
sub ecx, eax
vmovd r8d, xmm3
cmp eax, r9d
je 0x412664
mov eax, ecx
mov r9d, ecx
sar eax, 0x1f
sar r9d, 3
shr eax, 0x1d
lea edx, [rcx + rax]
and edx, 7
sub edx, eax
mov eax, 1
shlx edx, eax, edx
mov eax, 3
sub eax, r9d
shl eax, 3
shlx eax, edx, eax
or r8d, eax
lea eax, [rcx - 1]
test ecx, ecx
js 0x412664
mov ecx, eax
mov r10d, eax
mov r9d, 3
sar ecx, 0x1f
sar r10d, 3
mov edi, r9d
shr ecx, 0x1d
sub edi, r10d
lea edx, [rax + rcx]
mov r10d, edi
and edx, 7
shl r10d, 3
sub edx, ecx
mov ecx, 1
shlx edx, ecx, edx
shlx edx, edx, r10d
or r8d, edx
lea edx, [rax - 1]
test eax, eax
js 0x412664
mov r10d, edx
sar r10d, 0x1f
shr r10d, 0x1d
lea eax, [rdx + r10]
sar edx, 3
and eax, 7
sub r9d, edx
sub eax, r10d
shl r9d, 3
shlx ecx, ecx, eax
shlx ecx, ecx, r9d
or r8d, ecx
mov dword [r14 + 4], r8d
mov dword [r14], 0
mov edi, 0x18
xor esi, esi
jmp 0x412688
cmp esi, 3
jg 0x4126e3
mov r15, r14
mov edx, 0x2e
mov rcx, r15
xor r14d, r14d
call sub.msvcrt.dll_strchr
test rax, rax
je 0x4126a4
lea r14, [rax + 1]
mov byte [rax], 0
mov rcx, r15
call sub.msvcrt.dll_atoi
cmp eax, 0xff
ja 0x4123fe
movsxd rdx, dword [0x0068b0d0]
shlx eax, eax, edi
inc esi
sub edi, 8
lea rcx, [rdx + rdx*2]
mov rbx, rdx
mov rdx, qword [0x00704718]
lea rdx, [rdx + rcx*4]
or eax, dword [rdx]
mov dword [rdx], eax
test r14, r14
jne 0x412680
and eax, dword [rdx + 4]
mov dword [rdx], eax
jmp 0x411fff
mov dword [r14 + 4], 0xffffffff
jmp 0x412668
mov byte [rsp + 0x270], 0
jmp 0x412175
je 0x412286
jmp 0x412291
mov rax, qword [0x006f1ec0]
cmp byte [rax], 0
je 0x4122e1
test ebx, ebx
jle 0x4122e1
mov r9, rdi
mov r8, r14
lea rdx, str.API:_exec_command__s__s_
mov ecx, 5
call fcn.0040afb0
jmp 0x4122e1
lea r8, str.___API_will_not_be_available
lea rdx, str.API_not_running__no_valid_IPs_specified__s
mov ecx, 2
call fcn.0040afb0
jmp 0x41202f
lea rdx, str.API_disabled
mov ecx, 5
call fcn.0040afb0
jmp 0x412471
xor eax, eax
lea rbp, [rsp + 0x170]
lea rdi, [rsp + 0x180]
mov ecx, 0x1e
rep stosq qword [rdi], rax
lea rdx, [0x00692040]
lea rcx, [r13 + 5]
mov r8, rbp
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
call sub.msvcrt.dll_sscanf
mov edx, 0x2f
mov rcx, rbp
call sub.msvcrt.dll_strchr
test rax, rax
je 0x41280f
mov byte [rax], 0x7c
mov edx, 0x2f
mov rcx, rbp
call sub.msvcrt.dll_strchr
test rax, rax
je 0x41280f
mov byte [rax], 0
mov rcx, r13
lea rdx, str.Sec_WebSocket_Key
call sub.msvcrt.dll_strstr
mov r13, rax
test rax, rax
jne 0x412f04
mov r8, rbp
lea rdx, [0x00692277]
mov rcx, r14
call sub.msvcrt.dll_sprintf
mov ebx, eax
jmp 0x4122bd
lea rax, str.___API_will_not_be_available
mov r9, rbx
mov r8d, esi
lea rdx, str.API_bind_to_port__d_failed___s__s
mov qword [rsp + 0x20], rax
mov ecx, 2
call fcn.0040afb0
nop
vmovups xmm6, xmmword [rsp + 0x4270]
vmovups xmm7, xmmword [rsp + 0x4280]
vmovups xmm8, xmmword [rsp + 0x4290]
vmovups xmm9, xmmword [rsp + 0x42a0]
vmovups xmm10, xmmword [rsp + 0x42b0]
mov rcx, qword [rsp + 0x40]
add rsp, 0x42c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sub.msvcrt.dll_free
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea r9, str.___API_will_not_be_available
lea rdx, str.API_initialisation_failed___s__s
mov ecx, 1
mov r8, rax
call fcn.0040afb0
jmp 0x412471
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea r9, str.___API_will_not_be_available
lea rdx, str.API_initialisation_2_failed___s__s
mov ecx, 1
mov r8, rax
call fcn.0040afb0
jmp 0x412471
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea r9, str.___API_will_not_be_available
lea rdx, str.API_failed___s__s
mov ecx, 1
mov r8, rax
call fcn.0040afb0
jmp 0x412451
mov byte [rsp + rdx + 0x270], 0
test eax, eax
je 0x412ec0
lea edx, [rbx - 2]
mov ebx, eax
movsxd rdx, edx
cmp byte [rsp + rdx + 0x270], 0xd
jne 0x412286
mov byte [rsp + rdx + 0x270], 0
jmp 0x412286
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea r9, str.___API_will_not_be_available
lea rdx, str.API_initialisation_3_failed___s__s
mov ecx, 1
mov r8, rax
call fcn.0040afb0
mov rcx, r15
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x412874
mov ebx, 3
nop dword [rax + rax]
test rdi, rdi
je 0x4129f0
cmp byte [rdi], 0
je 0x4129f0
mov rcx, rdi
call sub.msvcrt.dll_strlen
lea rax, [rdi + rax - 1]
cmp byte [rax], 0x7c
jne 0x4129f0
mov byte [rax], 0
nop
movsxd rax, ebx
lea rdx, str.summary
mov rcx, rdi
shl rax, 4
call qword [rdx + rax + 8]
mov qword [rsp + 0x50], rax
test r13, r13
je 0x413022
mov rax, qword [0x006f1ec0]
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
cmp byte [rax], 0
jne 0x412f66
lea r14, [rsp + 0xf0]
mov r8, r13
lea rdx, str._s258EAFA5_E914_47DA_95CA_C5AB0DC85B11
mov rcx, r14
call sub.msvcrt.dll_sprintf
mov r8, r14
mov edx, dword [r8]
add r8, 4
lea eax, [rdx - 0x1010101]
andn eax, edx, eax
and eax, 0x80808080
je 0x412b00
mov edx, eax
lea rbx, [rsp + 0x90]
shr edx, 0x10
test eax, 0x8080
mov rcx, rbx
cmove eax, edx
lea rdx, [r8 + 2]
mov edi, eax
cmove r8, rdx
mov rdx, r14
add dil, al
sbb r8, 3
sub r8, r14
call fcn.005734a0
lea rax, [rsp + 0xb0]
mov edx, 0x1e
mov ecx, 1
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
call sub.msvcrt.dll_calloc
mov r13, rax
test rax, rax
je 0x412cfa
mov ebp, 0x14
xor r14d, r14d
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
lea rdi, str._c_c_c_c
nop dword [rax + rax]
movzx r10d, byte [rbx + 1]
movzx edx, byte [rbx]
lea rcx, [r13 + r14]
mov eax, r10d
shr r10w, 4
shl eax, 2
mov r9d, r10d
and eax, 0x3c
movsx r8, al
cmp ebp, 2
je 0x412e67
movzx r9d, byte [rbx + 2]
mov r8d, edx
shl edx, 4
sub ebp, 3
and edx, 0x30
shr r8d, 2
add rbx, 3
add r14, 4
or r10d, edx
and r8d, 0x3f
mov edx, 5
movsx r10, r10b
mov r11, r9
shr r9w, 6
or eax, r9d
and r11d, 0x3f
movsx r9d, byte [rsi + r8]
mov r8, rdi
movsx rax, al
movsx r11d, byte [rsi + r11]
movsx eax, byte [rsi + rax]
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], eax
movsx eax, byte [rsi + r10]
mov dword [rsp + 0x20], eax
call fcn.00411dd0
test ebp, ebp
jne 0x412bf0
nop dword [rax + rax]
mov rdi, qword [rsp + 0x48]
mov rdx, r14
mov r9, r13
lea r8, [0x00692277]
mov rcx, rdi
call fcn.00411a50
mov rdx, rdi
mov ecx, dword [rdx]
add rdx, 4
lea eax, [rcx - 0x1010101]
andn eax, ecx, eax
and eax, 0x80808080
je 0x412cad
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea rcx, [rdx + 2]
mov edi, eax
cmove rdx, rcx
add dil, al
sbb rdx, 3
sub rdx, qword [rsp + 0x48]
cmp rdx, 0x1b
je 0x413080
mov rcx, r13
call sub.msvcrt.dll_free
mov r8, qword [rsp + 0x48]
lea rbp, [rsp + 0x170]
lea rdx, str.HTTP_1.1_101_Switching_Protocol_r_nUpgrade:_WebSocket_r_nConnection:_Upgrade_r_nSec_WebSocket_Accept:__s_r_nSec_WebSocket_Protocol:_text_r_n_r_n
mov rcx, rbp
call sub.msvcrt.dll_sprintf
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x66], 0
mov word [rsp + 0x6e], 0
mov byte [rsp + 0x66], 0x81
call sub.msvcrt.dll_strlen
mov rbx, rax
lea rcx, [rax + 1]
cmp rax, 0x7d
jbe 0x412f4f
cmp rax, 0xffff
ja 0x413061
mov byte [rsp + 0x67], 0x7e
movbe word [rsp + 0x68], ax
mov r9d, 4
mov dword [rsp + 0x5c], 4
mov r13, rbp
mov edx, dword [r13]
add r13, 4
lea eax, [rdx - 0x1010101]
andn eax, edx, eax
and eax, 0x80808080
je 0x412d6f
mov edx, eax
mov qword [rsp + 0x48], r9
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea rdx, [r13 + 2]
mov edi, eax
cmove r13, rdx
add dil, al
sbb r13, 3
sub r13, rbp
lea rdx, [r13 + r9]
add rdx, rcx
mov ecx, 1
call sub.msvcrt.dll_calloc
mov r14, rax
test rax, rax
je 0x41235b
cmp r13d, 8
mov r9, qword [rsp + 0x48]
mov eax, r13d
jae 0x412fb0
test r13b, 4
jne 0x4130c0
test eax, eax
je 0x412dfc
movzx edx, byte [rbp]
mov byte [r14], dl
test al, 2
jne 0x4130d4
lea rdx, [r14 + r13]
lea r10, [rsp + 0x66]
mov eax, r9d
cmp r9d, 8
jae 0x412fd4
test r9b, 4
jne 0x4130ad
test eax, eax
je 0x412e2e
movzx ecx, byte [r10]
mov byte [rdx], cl
test al, 2
jne 0x4130e4
lea rcx, [rdx + r9]
mov rdx, qword [rsp + 0x50]
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov eax, dword [rsp + 0x5c]
mov rcx, r12
xor r9d, r9d
mov rdx, r14
add eax, r13d
lea r8d, [rax + rbx + 1]
call qword [sym.imp.WS2_32.dll_send]
mov rcx, r14
call sub.msvcrt.dll_free
jmp 0x41235b
mov eax, edx
shl edx, 4
mov r10, rcx
movsx ecx, byte [rsi + r8]
and edx, 0x30
shr eax, 2
lea r8, str._c_c_c
add r14, 4
or r9d, edx
and eax, 0x3f
movsx r9, r9b
movsx edx, byte [rsi + r9]
movsx r9d, byte [rsi + rax]
mov dword [rsp + 0x28], ecx
mov rcx, r10
mov dword [rsp + 0x20], edx
mov edx, 5
call fcn.00411dd0
jmp 0x412c90
xor ebx, ebx
jmp 0x412286
mov ecx, 1
jmp 0x411eeb
mov edx, ecx
mov r8d, 1
sar ecx, 3
sub eax, 2
and edx, 7
shlx r8d, r8d, edx
mov edx, 3
sub edx, ecx
shl edx, 3
shlx r8d, r8d, edx
jmp 0x4125f5
mov edx, 0xd
mov rcx, rax
call sub.msvcrt.dll_strchr
test rax, rax
je 0x412f19
mov byte [rax], 0
mov rcx, r13
mov edx, 0x3a
call sub.msvcrt.dll_strchr
cmp byte [rax + 1], 0x20
lea r13, [rax + 1]
jne 0x41282a
nop word cs:[rax + rax]
nop
inc r13
cmp byte [r13], 0x20
je 0x412f40
jmp 0x41282a
mov byte [rsp + 0x67], al
mov dword [rsp + 0x5c], 2
mov r9d, 2
jmp 0x412d6c
mov r8, r13
lea rdx, str.clientkey:__s
mov ecx, 5
call fcn.0040afb0
jmp 0x412ae3
mov ecx, 1
call fcn.00404360
mov rax, qword [0x006f1de0]
mov rdx, qword [rax]
jmp 0x411ea1
mov ecx, 1
call fcn.00404360
mov rax, qword [rsp + 0x40]
movsx si, byte [rax]
jmp 0x411f05
mov eax, r13d
mov rdi, r14
mov rsi, rbp
mov rdx, qword [rbp + rax - 8]
mov qword [r14 + rax - 8], rdx
lea eax, [r13 - 1]
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
jmp 0x412dfc
mov rax, qword [rsp + 0x66]
lea r11, [rdx + 8]
and r11, 0xfffffffffffffff8
mov qword [rdx], rax
mov rax, qword [r10 + r9 - 8]
mov qword [rdx + r9 - 8], rax
mov rax, rdx
sub rax, r11
sub r10, rax
add eax, r9d
and eax, 0xfffffff8
cmp eax, 8
jb 0x412e2e
and eax, 0xfffffff8
xor ecx, ecx
mov r8d, ecx
add ecx, 8
mov rsi, qword [r10 + r8]
mov qword [r11 + r8], rsi
cmp ecx, eax
jb 0x41300b
jmp 0x412e2e
cmp qword [rsp + 0x50], 0
je 0x41308f
mov rcx, rax
mov rdi, rax
call sub.msvcrt.dll_strlen
xor r9d, r9d
mov rdx, rdi
mov rcx, r12
lea r8d, [rax + 1]
call qword [sym.imp.WS2_32.dll_send]
jmp 0x41235b
mov ebx, 1
jmp 0x4129d0
mov ebx, 2
jmp 0x4129d0
mov byte [rsp + 0x67], 0x7f
movbe qword [rsp + 0x68], rax
mov r9d, 0xa
mov dword [rsp + 0x5c], 0xa
jmp 0x412d6c
mov word [rsp + 0xcb], 0x3d
jmp 0x412cf2
xor r9d, r9d
mov r8d, 1
lea rdx, [0x00692365]
mov rcx, r12
call qword [sym.imp.WS2_32.dll_send]
jmp 0x41235b
mov ecx, dword [r10]
mov dword [rdx], ecx
mov ecx, dword [r10 + rax - 4]
mov dword [rdx + rax - 4], ecx
jmp 0x412e2e
mov edx, dword [rbp]
mov dword [r14], edx
mov edx, dword [rbp + rax - 4]
mov dword [r14 + rax - 4], edx
jmp 0x412dfc
movzx edx, word [rbp + rax - 2]
mov word [r14 + rax - 2], dx
jmp 0x412dfc
movzx ecx, word [r10 + rax - 2]
mov word [rdx + rax - 2], cx
jmp 0x412e2e