Function at 0x411dc0
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, 0x4278
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.005c3970
sub rsp, rax
mov rax, qword [0x0062b690]
mov r12, qword [rax]
mov rax, qword [0x0062b6a0]
mov eax, dword [rax]
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x411e04
mov rax, qword [0x0062b700]
cmp byte [rax], 0
jne 0x4125a0
test r12, r12
je 0x411f8f
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 + 0x48], rax
test rax, rax
je 0x412e63
mov rdi, qword [rsp + 0x48]
mov rcx, rdi
call sub.msvcrt.dll_strcpy
movzx esi, byte [rdi]
test sil, sil
je 0x412dd0
mov edx, esi
mov ecx, 1
nop dword [rax]
add rax, 1
cmp dl, 0x2c
sete dl
movzx edx, dl
add ecx, edx
movzx edx, byte [rax]
test dl, dl
jne 0x411e58
movsxd rcx, ecx
mov edx, 0xc
call sub.msvcrt.dll_calloc
mov qword [0x0063d718], rax
test rax, rax
je 0x412e4c
mov r15, qword [rsp + 0x48]
xor ebx, ebx
mov dword [0x005cc0d0], 0
mov r13, qword [sym.imp.msvcrt.dll_toupper]
test sil, sil
je 0x411f7d
nop dword [rax]
cmp sil, 0x20
jne 0x411ecf
nop word cs:[rax + rax]
movzx esi, byte [r15 + 1]
add r15, 1
cmp sil, 0x20
je 0x411ec0
cmp sil, 9
je 0x411ec0
lea rbp, [r15 + 1]
cmp sil, 0x2c
je 0x411f6d
mov edx, 0x2c
mov rcx, r15
xor ebp, ebp
call sub.msvcrt.dll_strchr
test rax, rax
je 0x411efe
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 0x411f24
cmp byte [r15 + 1], 0x3a
je 0x4123f8
lea rdi, str.0.0.0.0
movsxd rax, ebx
mov ecx, 8
lea rdx, [rax + rax*2]
mov rax, qword [0x0063d718]
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 0x412330
mov qword [r14], 0
add ebx, 1
mov dword [0x005cc0d0], ebx
test rbp, rbp
je 0x411f7d
movzx esi, byte [rbp]
mov r15, rbp
test sil, sil
jne 0x411eb0
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
test ebx, ebx
je 0x412580
mov edx, 8
mov ecx, 1
call sub.msvcrt.dll_calloc
mov ecx, 0x3e8
mov rbp, qword [sym.imp.KERNEL32.dll_Sleep]
mov rbx, rax
mov qword [rsp + 0x48], rax
call rbp
xor r8d, r8d
mov edx, 1
mov ecx, 2
call qword [sym.imp.WS2_32.dll_socket]
mov r13, rax
mov qword [rbx], rax
cmp rax, 0xffffffffffffffff
je 0x412800
mov r9d, 2
mov rcx, r12
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
mov word [rsp + 0x70], r9w
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x74], eax
cmp eax, 0xffffffff
je 0x412830
movzx esi, word [rsp + 0x50]
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 r15, qword [sym.imp.WS2_32.dll_bind]
mov rdi, rax
jmp 0x412095
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 0x4127c0
mov rax, qword [0x0062b7a0]
cmp byte [rax], 0
je 0x41207a
mov rax, qword [0x0062b700]
cmp byte [rax], 0
je 0x41208e
lea rdx, str.API_bind_to_port__d_failed___trying_again_in_20sec
mov r8d, esi
mov ecx, 2
call fcn.0040adb0
mov ecx, 0x4e20
call rbp
mov r8d, 0x10
mov rdx, r14
mov rcx, r13
call r15
test eax, eax
js 0x412040
mov edx, 0xa
mov rcx, r13
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
je 0x4128c8
mov edx, 0x4001
mov ecx, 1
call sub.msvcrt.dll_calloc
mov qword [0x0063d710], rax
mov edx, dword [0x0063d700]
test edx, edx
jne 0x4123b1
lea rbp, [rsp + 0x60]
lea rbx, [rsp + 0x80]
lea r15, str.127.0.0.1
mov dword [rsp + 0x60], 0x10
mov r8, rbp
mov rdx, rbx
mov rcx, r13
call qword [sym.imp.WS2_32.dll_accept]
movsxd r12, eax
cmp eax, 0xffffffff
je 0x412860
mov ecx, dword [rsp + 0x84]
call qword [sym.imp.WS2_32.dll_inet_ntoa]
mov r14, rax
mov rax, qword [0x0062b690]
cmp qword [rax], 0
je 0x4122d0
mov ecx, dword [rsp + 0x84]
call qword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [0x005cc0d0]
test ecx, ecx
jle 0x412370
mov rdx, qword [0x0063d718]
sub ecx, 1
lea rcx, [rcx + rcx*2]
lea r8, [rdx + rcx*4 + 0xc]
jmp 0x41217d
add rdx, 0xc
cmp r8, rdx
je 0x412370
mov ecx, dword [rdx + 4]
and ecx, eax
cmp ecx, dword [rdx]
jne 0x412170
mov rsi, qword [0x0062b700]
cmp byte [rsi], 0
je 0x4121a2
mov rax, qword [0x0062b770]
cmp byte [rax], 0
jne 0x412309
lea r14, [rsp + 0x270]
xor r9d, r9d
mov r8d, 0x400
mov rdx, r14
mov rcx, r12
call qword [sym.imp.WS2_32.dll_recv]
mov ebx, eax
cmp eax, 0xffffffff
je 0x412528
test eax, eax
jle 0x412538
lea eax, [rax - 1]
movsxd rdx, eax
cmp byte [rsp + rdx + 0x270], 0xa
je 0x412890
movsxd rax, ebx
mov byte [rsp + rax + 0x270], 0
lea rdx, str.GET__
mov rcx, r14
call sub.msvcrt.dll_strstr
mov r15, rax
test rax, rax
je 0x41221d
mov rcx, r15
call sub.msvcrt.dll_strlen
cmp rax, 5
ja 0x4125c0
xor r15d, r15d
mov edx, 0x7c
mov rcx, r14
xor edi, edi
call sub.msvcrt.dll_strchr
test rax, rax
je 0x412238
lea rdi, [rax + 1]
mov byte [rax], 0
cmp byte [rsi], 0
jne 0x412548
mov rdx, qword [str.summary]
mov rcx, r14
call sub.msvcrt.dll_strcmp
movsxd rbx, eax
test ebx, ebx
je 0x412908
mov rdx, qword [str.threads]
mov rcx, r14
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x412eda
mov rdx, qword [str.seturl]
mov rcx, r14
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x412ee4
mov rdx, qword [str.quit]
mov rcx, r14
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x4128fe
mov rdx, qword [str.help]
mov rcx, r14
mov ebx, 4
call sub.msvcrt.dll_strcmp
test eax, eax
je 0x412908
mov rcx, r12
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x4120d5
mov rsi, r14
mov ecx, 0xa
mov rdi, r15
repe cmpsb byte [rsi], byte [rdi]
mov rsi, qword [0x0062b700]
seta al
sbb al, 0
cmp byte [rsi], 0
movsx eax, al
je 0x4123e8
mov rdx, qword [0x0062b770]
cmp byte [rdx], 0
je 0x4123e8
test eax, eax
jne 0x412388
lea r9, str.Accepted
mov r8, r14
mov ecx, 5
lea rdx, str.API:_connection_from__s____s
call fcn.0040adb0
jmp 0x4121a2
mov edx, 0x2f
mov rcx, r15
call sub.msvcrt.dll_strchr
test rax, rax
je 0x412518
mov byte [rax], 0
lea rcx, [rax + 1]
call sub.msvcrt.dll_atoi
sub eax, 1
cmp eax, 0x1f
jbe 0x412438
mov ebx, dword [0x005cc0d0]
jmp 0x411f68
mov rax, qword [0x0062b700]
cmp byte [rax], 0
je 0x4123a3
mov rax, qword [0x0062b770]
cmp byte [rax], 0
je 0x4123a3
lea r9, str.Ignored
mov r8, r14
mov ecx, 5
lea rdx, str.API:_connection_from__s____s
call fcn.0040adb0
mov eax, dword [0x0063d700]
test eax, eax
je 0x4120f7
mov rcx, r13
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, qword [rsp + 0x48]
call sub.msvcrt.dll_free
mov rcx, qword [0x0063d710]
call sub.msvcrt.dll_free
nop
add rsp, 0x4278
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test eax, eax
jne 0x4123a3
jmp 0x4121a2
mov ecx, r14d
call r13
mov ecx, 0x57
mov edi, eax
call r13
cmp edi, eax
je 0x412429
mov ecx, 0x41
call r13
mov edx, edi
sub edx, eax
movsxd rax, edx
lea rdx, [0x006408e0]
cmp qword [rdx + rax*8], 0
je 0x41242b
mov esi, edi
add r15, 2
jmp 0x411f24
movsxd rdx, dword [0x005cc0d0]
xor r8d, r8d
mov r10d, 1
mov r9d, 3
lea rcx, [rdx + rdx*2]
mov rdx, qword [0x0063d718]
lea r14, [rdx + rcx*4]
nop dword [rax]
cdq
mov edi, r9d
shr edx, 0x1d
lea ecx, [rax + rdx]
and ecx, 7
sub ecx, edx
mov edx, r10d
shl edx, cl
mov ecx, eax
sub eax, 1
sar ecx, 3
sub edi, ecx
mov ecx, edi
shl ecx, 3
shl edx, cl
or r8d, edx
cmp eax, 0xfffffffe
jne 0x412460
mov dword [r14 + 4], r8d
mov dword [r14], 0
mov edi, 0x18
xor esi, esi
jmp 0x4124b0
cmp esi, 3
jg 0x41250b
mov r15, r14
mov edx, 0x2e
mov rcx, r15
xor r14d, r14d
call sub.msvcrt.dll_strchr
test rax, rax
je 0x4124cc
lea r14, [rax + 1]
mov byte [rax], 0
mov rcx, r15
call sub.msvcrt.dll_atoi
cmp eax, 0xff
ja 0x41235e
movsxd rdx, dword [0x005cc0d0]
add esi, 1
lea rcx, [rdx + rdx*2]
mov rbx, rdx
mov rdx, qword [0x0063d718]
lea rdx, [rdx + rcx*4]
mov ecx, edi
sub edi, 8
shl eax, cl
or eax, dword [rdx]
mov dword [rdx], eax
test r14, r14
jne 0x4124a8
and eax, dword [rdx + 4]
mov dword [rdx], eax
jmp 0x411f5f
mov dword [r14 + 4], 0xffffffff
jmp 0x412491
mov byte [rsp + 0x270], 0
jmp 0x4120d5
je 0x4121e6
jmp 0x4121f1
mov rax, qword [0x0062b770]
cmp byte [rax], 0
je 0x412241
test ebx, ebx
jle 0x412241
mov r9, rdi
mov r8, r14
mov ecx, 5
lea rdx, str.API:_exec_command__s__s_
call fcn.0040adb0
jmp 0x412241
lea r8, str.___API_will_not_be_available
mov ecx, 2
lea rdx, str.API_not_running__no_valid_IPs_specified__s
call fcn.0040adb0
jmp 0x411f8f
lea rdx, str.API_disabled
mov ecx, 5
call fcn.0040adb0
jmp 0x4123d1
mov qword [rsp + 0x170], 0
lea rcx, [r15 + 5]
lea rbx, [rsp + 0x170]
mov qword [rsp + 0x178], 0
lea rdx, [0x005d3000]
mov r8, rbx
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x1b0], 0
mov qword [rsp + 0x1b8], 0
mov qword [rsp + 0x1c0], 0
mov qword [rsp + 0x1c8], 0
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1d8], 0
mov qword [rsp + 0x1e0], 0
mov qword [rsp + 0x1e8], 0
mov qword [rsp + 0x1f0], 0
mov qword [rsp + 0x1f8], 0
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x208], 0
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 0
mov qword [rsp + 0x220], 0
mov qword [rsp + 0x228], 0
mov qword [rsp + 0x230], 0
mov qword [rsp + 0x238], 0
mov qword [rsp + 0x240], 0
mov qword [rsp + 0x248], 0
mov qword [rsp + 0x250], 0
mov qword [rsp + 0x258], 0
mov qword [rsp + 0x260], 0
mov qword [rsp + 0x268], 0
call sub.msvcrt.dll_sscanf
mov edx, 0x2f
mov rcx, rbx
call sub.msvcrt.dll_strchr
test rax, rax
je 0x412785
mov byte [rax], 0x7c
mov edx, 0x2f
mov rcx, rbx
call sub.msvcrt.dll_strchr
test rax, rax
je 0x412785
mov byte [rax], 0
lea rdx, str.Sec_WebSocket_Key
mov rcx, r15
call sub.msvcrt.dll_strstr
mov r15, rax
test rax, rax
jne 0x412dda
lea rdx, [0x005d3237]
mov r8, rbx
mov rcx, r14
call sub.msvcrt.dll_sprintf
mov ebx, eax
jmp 0x41221d
lea rax, str.___API_will_not_be_available
mov r9, rbx
mov r8d, esi
mov qword [rsp + 0x20], rax
lea rdx, str.API_bind_to_port__d_failed___s__s
mov ecx, 2
call fcn.0040adb0
mov rcx, qword [rsp + 0x48]
add rsp, 0x4278
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
mov ecx, 1
lea rdx, str.API_initialisation_failed___s__s
mov r8, rax
call fcn.0040adb0
jmp 0x4123d1
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea r9, str.___API_will_not_be_available
mov ecx, 1
lea rdx, str.API_initialisation_2_failed___s__s
mov r8, rax
call fcn.0040adb0
jmp 0x4123d1
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea r9, str.___API_will_not_be_available
mov ecx, 1
lea rdx, str.API_failed___s__s
mov r8, rax
call fcn.0040adb0
jmp 0x4123b1
mov byte [rsp + rdx + 0x270], 0
test eax, eax
je 0x412dc0
lea edx, [rbx - 2]
mov ebx, eax
movsxd rdx, edx
cmp byte [rsp + rdx + 0x270], 0xd
jne 0x4121e6
mov byte [rsp + rdx + 0x270], 0
jmp 0x4121e6
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea r9, str.___API_will_not_be_available
mov ecx, 1
lea rdx, str.API_initialisation_3_failed___s__s
mov r8, rax
call fcn.0040adb0
mov rcx, r13
call qword [sym.imp.WS2_32.dll_closesocket]
jmp 0x4127e3
mov ebx, 3
nop dword [rax + rax]
test rdi, rdi
je 0x412930
cmp byte [rdi], 0
je 0x412930
mov rcx, rdi
call sub.msvcrt.dll_strlen
lea rax, [rdi + rax - 1]
cmp byte [rax], 0x7c
jne 0x412930
mov byte [rax], 0
nop word [rax + rax]
lea rax, str.summary
shl rbx, 4
mov rcx, rdi
call qword [rax + rbx + 8]
mov qword [rsp + 0x58], rax
test r15, r15
je 0x412eaf
mov rax, qword [0x0062b770]
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
cmp byte [rax], 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
jne 0x412e33
lea r14, [rsp + 0xf0]
mov r8, r15
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]
not edx
and eax, edx
and eax, 0x80808080
je 0x412a3d
mov edx, eax
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea rdx, [r8 + 2]
mov ebx, eax
cmove r8, rdx
add bl, al
mov rdx, r14
lea rbx, [rsp + 0x90]
sbb r8, 3
sub r8, r14
mov rcx, rbx
call fcn.0050c4d0
mov edx, 0x1e
mov ecx, 1
mov qword [rsp + 0xb0], 0
lea rax, [rsp + 0xb0]
mov qword [rsp + 0xb8], 0
mov qword [rsp + 0x50], rax
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 r14, rax
test rax, rax
je 0x412c28
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ebp, 0x14
xor r15d, r15d
lea rdi, str._c_c_c_c
nop word cs:[rax + rax]
movzx eax, byte [rbx + 1]
lea rcx, [r14 + r15]
movzx r8d, byte [rbx]
mov r10d, eax
shl eax, 2
shr r10b, 4
and eax, 0x3c
cmp ebp, 2
je 0x412d63
movzx edx, byte [rbx + 2]
mov r9d, r8d
shl r8d, 4
sub ebp, 3
and r8d, 0x30
shr r9b, 2
add rbx, 3
or r10d, r8d
and r9d, 0x3f
mov r8, rdi
movsx r10, r10b
movsx r9d, byte [rsi + r9]
add r15, 4
mov r11, rdx
shr dl, 6
or edx, eax
and r11d, 0x3f
movsx rax, dl
movsx r11d, byte [rsi + r11]
mov edx, 5
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.00411d90
test ebp, ebp
jne 0x412b30
mov rbx, qword [rsp + 0x50]
mov rdx, r15
mov r9, r14
lea r8, [0x005d3237]
mov rcx, rbx
call fcn.00411a10
mov rdx, rbx
mov ecx, dword [rdx]
add rdx, 4
lea eax, [rcx - 0x1010101]
not ecx
and eax, ecx
and eax, 0x80808080
je 0x412bdd
mov ecx, eax
shr ecx, 0x10
test eax, 0x8080
cmove eax, ecx
lea rcx, [rdx + 2]
mov ebx, eax
cmove rdx, rcx
add bl, al
sbb rdx, 3
sub rdx, qword [rsp + 0x50]
cmp rdx, 0x1b
je 0x412f0b
mov rcx, r14
call sub.msvcrt.dll_free
mov r8, qword [rsp + 0x50]
lea rbx, [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, rbx
call sub.msvcrt.dll_sprintf
xor ecx, ecx
mov qword [rsp + 0x66], 0
mov word [rsp + 0x6e], cx
mov rcx, qword [rsp + 0x58]
mov byte [rsp + 0x66], 0x81
call sub.msvcrt.dll_strlen
mov rdi, rax
cmp rax, 0x7d
jbe 0x412e1f
cmp rax, 0xffff
ja 0x412eee
rol ax, 8
mov byte [rsp + 0x67], 0x7e
mov ebp, 4
mov r15d, 4
mov word [rsp + 0x68], ax
mov rsi, rbx
mov edx, dword [rsi]
add rsi, 4
lea eax, [rdx - 0x1010101]
not edx
and eax, edx
and eax, 0x80808080
je 0x412c98
mov edx, eax
mov ecx, 1
shr edx, 0x10
test eax, 0x8080
cmove eax, edx
lea rdx, [rsi + 2]
cmove rsi, rdx
mov edx, eax
add dl, al
lea rdx, [r15 + rdi + 1]
sbb rsi, 3
sub rsi, rbx
add rdx, rsi
call sub.msvcrt.dll_calloc
mov r14, rax
test rax, rax
je 0x4122bc
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
lea rax, [r14 + rsi]
mov edx, r15d
lea r8, [rsp + 0x66]
cmp r15d, 8
jae 0x412e7c
test r15b, 4
jne 0x412f3d
test edx, edx
je 0x412d2e
movzx ecx, byte [r8]
mov byte [rax], cl
test dl, 2
jne 0x412f50
mov rdx, qword [rsp + 0x58]
lea rcx, [rax + r15]
mov r8, rdi
call sub.msvcrt.dll_memcpy
lea eax, [rbp + rdi + 1]
mov rcx, r12
xor r9d, r9d
lea r8d, [rax + rsi]
mov rdx, r14
call qword [sym.imp.WS2_32.dll_send]
mov rcx, r14
call sub.msvcrt.dll_free
jmp 0x4122bc
movsx rax, al
mov edx, r8d
shl r8d, 4
movsx eax, byte [rsi + rax]
mov rbx, rcx
and r8d, 0x30
mov ecx, r10d
or ecx, r8d
shr dl, 2
add r15, 4
lea r8, str._c_c_c
movsx rcx, cl
and edx, 0x3f
movsx r9d, byte [rsi + rdx]
mov edx, 5
mov dword [rsp + 0x28], eax
movsx eax, byte [rsi + rcx]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.00411d90
jmp 0x412bc0
xor ebx, ebx
jmp 0x4121e6
mov ecx, 1
jmp 0x411e71
mov edx, 0xd
mov rcx, rax
call sub.msvcrt.dll_strchr
test rax, rax
je 0x412def
mov byte [rax], 0
mov rcx, r15
mov edx, 0x3a
call sub.msvcrt.dll_strchr
cmp byte [rax + 1], 0x20
lea r15, [rax + 1]
jne 0x4127a0
nop word [rax + rax]
add r15, 1
cmp byte [r15], 0x20
je 0x412e10
jmp 0x4127a0
mov byte [rsp + 0x67], al
mov ebp, 2
mov r15d, 2
jmp 0x412c95
lea rdx, str.clientkey:__s
mov r8, r15
mov ecx, 5
call fcn.0040adb0
jmp 0x412a20
mov ecx, 1
call fcn.00404220
mov rax, qword [rsp + 0x48]
movzx esi, byte [rax]
jmp 0x411e8b
mov ecx, 1
call fcn.00404220
mov rax, qword [0x0062b690]
mov rdx, qword [rax]
jmp 0x411e34
mov rdx, qword [r8 + r15 - 8]
mov qword [rax + r15 - 8], rdx
lea edx, [r15 - 1]
cmp edx, 8
jb 0x412d2e
and edx, 0xfffffff8
xor ecx, ecx
mov r9d, ecx
add ecx, 8
mov r10, qword [r8 + r9]
mov qword [rax + r9], r10
cmp ecx, edx
jb 0x412e98
jmp 0x412d2e
cmp qword [rsp + 0x58], 0
je 0x412f1f
mov rcx, rax
mov rbx, rax
call sub.msvcrt.dll_strlen
xor r9d, r9d
mov rdx, rbx
mov rcx, r12
lea r8d, [rax + 1]
call qword [sym.imp.WS2_32.dll_send]
jmp 0x4122bc
mov ebx, 1
jmp 0x412908
mov ebx, 2
jmp 0x412908
bswap rax
mov byte [rsp + 0x67], 0x7f
mov ebp, 0xa
mov r15d, 0xa
mov qword [rsp + 0x68], rax
jmp 0x412c95
mov r8d, 0x3d
mov word [rsp + 0xcb], r8w
jmp 0x412c20
xor r9d, r9d
mov r8d, 1
mov rcx, r12
lea rdx, [0x005d3325]
call qword [sym.imp.WS2_32.dll_send]
jmp 0x4122bc
mov ecx, dword [r8]
mov dword [rax], ecx
mov ecx, dword [r8 + rdx - 4]
mov dword [rax + rdx - 4], ecx
jmp 0x412d2e
movzx ecx, word [r8 + rdx - 2]
mov word [rax + rdx - 2], cx
jmp 0x412d2e