Function at 0x140025240
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push rbp
push rbx
push rdi
lea rbp, [rsp - 0x4080]
mov eax, 0x4180
call fcn.14006eb10
sub rsp, rax
mov rax, qword [0x14008d0f8]
xor rax, rsp
mov qword [rbp + 0x4060], rax
mov ebx, dword [0x14008d1a8]
mov rdi, qword [0x1400a84b8]
test ebx, ebx
jne 0x140025297
cmp dword [0x1400a7b1c], ebx
je 0x140025297
lea rdx, str.API_disabled
lea ecx, [rbx + 4]
call fcn.14001ae00
jmp 0x140025a83
mov qword [rsp + 0x41a0], rsi
mov qword [rsp + 0x41b0], r13
mov qword [rsp + 0x4170], r15
call fcn.140024370
cmp qword [0x1400a6d38], 0
lea r13, str.___API_will_not_be_available
je 0x1400252e7
call fcn.1400248f0
cmp dword [reloc.WS2_32.dll_accept], 0
jne 0x1400252e7
mov r8, r13
lea rdx, str.API_not_running__no_valid_IPs_specified__s
mov ecx, 1
call fcn.14001ae00
mov edx, 8
lea ecx, [rdx - 7]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov ecx, 0x3e8
mov r15, rax
mov qword [rax], 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r8d, r8d
mov esi, 2
mov ecx, esi
lea edx, [r8 + 1]
call qword [sym.imp.WS2_32.dll_socket]
mov qword [r15], rax
cmp rax, 0xffffffffffffffff
jne 0x14002534e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
mov r9, r13
lea rdx, str.API_initialisation_failed___s__s
mov r8, rax
xor ecx, ecx
call fcn.14001ae00
jmp 0x140025a6b
xor eax, eax
mov rcx, rdi
mov qword [rsp + 0x38], rax
mov word [rsp + 0x38], si
mov qword [rsp + 0x40], rax
call qword [sym.imp.WS2_32.dll_inet_addr]
mov dword [rsp + 0x3c], eax
cmp eax, 0xffffffff
jne 0x140025398
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
mov r9, r13
lea rdx, str.API_initialisation_2_failed___s__s
mov r8, rax
xor ecx, ecx
call fcn.14001ae00
jmp 0x140025a6b
movzx ecx, bx
call qword [sym.imp.WS2_32.dll_htons]
xor ecx, ecx
mov word [rsp + 0x3a], ax
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rsi, rax
mov rcx, qword [r15]
lea rdx, [rsp + 0x38]
mov r8d, reloc.WS2_32.dll_recv
call qword [sym.imp.WS2_32.dll_bind]
test eax, eax
jns 0x1400254a4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
xor ecx, ecx
mov rdi, rax
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
sub rax, rsi
cmp rax, 0x3d
jg 0x140025479
cmp dword [0x14008d1a8], 0xfe4
jne 0x140025442
cmp dword [0x1400a7b1c], 0
je 0x140025421
movzx r8d, bx
lea rdx, str.API_bind_to_port__d_failed__trying_port__u
mov ecx, 4
lea r9d, [r8 + 1]
call fcn.14001ae00
inc bx
movzx ecx, bx
call qword [sym.imp.WS2_32.dll_htons]
mov ecx, 0x3e8
mov word [rsp + 0x3a], ax
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400253b1
cmp dword [0x1400a7fc8], 0
je 0x140025454
cmp dword [0x1400a7b1c], 0
je 0x140025469
movzx r8d, bx
lea rdx, str.API_bind_to_port__u_failed___trying_again_in_20sec
mov ecx, 1
call fcn.14001ae00
mov ecx, 0x4e20
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400253b1
movzx r8d, bx
lea rdx, str.API_bind_to_port__d_failed___s__s
mov r9, rdi
mov qword [rsp + 0x20], r13
mov ecx, 1
call fcn.14001ae00
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x140025a6b
mov r8d, dword [0x14008d1a8]
movzx ebx, bx
cmp r8d, ebx
je 0x1400254cd
mov r9d, ebx
lea rdx, str.API_bind_to_port__d_failed___using_port__u
mov ecx, 1
call fcn.14001ae00
mov dword [0x14008d1a8], ebx
mov rcx, qword [r15]
mov edx, 0xa
call qword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x140025519
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
mov r9, r13
lea rdx, str.API_initialisation_3_failed___s__s
mov r8, rax
xor ecx, ecx
call fcn.14001ae00
mov rcx, qword [r15]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x140025a6b
mov rcx, qword [0x1400a84b8]
lea rdx, str.127.0.0.1
mov rbx, qword [0x1400a6d38]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test rbx, rbx
je 0x140025562
mov ecx, 1
test eax, eax
jne 0x14002554a
lea rdx, str.API_open_locally_in_full_access_mode_on_port__d
jmp 0x140025572
mov r9d, dword [0x14008d1a8]
lea rdx, str.API_open_in_full_access_mode_to__s_on_port__d
mov r8, rbx
call fcn.14001ae00
jmp 0x14002557e
test eax, eax
je 0x14002557e
lea rdx, str.API_open_to_the_network_in_read_only_mode_on_port__d
mov ecx, 3
mov r8d, dword [0x14008d1a8]
call fcn.14001ae00
cmp dword [0x1400a7fcc], 0
je 0x1400255ca
mov edx, 0x100
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rbx, rax
test rax, rax
jne 0x1400255a7
lea ecx, [rax + 1]
call fcn.140010310
lea rcx, [rbx + 8]
mov r9, rbx
lea r8, [0x140025200]
xor edx, edx
call fcn.140026be0
test eax, eax
je 0x1400255ca
mov ecx, 1
call fcn.140010310
mov qword [rsp + 0x41a8], r12
mov edx, 0x4001
mov ecx, 1
mov qword [rsp + 0x4178], r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
cmp dword [0x1400a80fc], 0
mov qword [0x1400a81f0], rax
jne 0x140025a3c
lea r12, str.0.0.0.0
lea rsi, str.Accepted
nop dword [rax]
mov eax, dword [0x1400a80f0]
test eax, eax
jne 0x140025a3c
mov dword [rsp + 0x30], reloc.WS2_32.dll_recv
lea r8, [rsp + 0x30]
mov rcx, qword [r15]
lea rdx, [rsp + 0x48]
call qword [sym.imp.WS2_32.dll_accept]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x140025a1a
mov ecx, dword [rsp + 0x4c]
xor ebx, ebx
call qword [sym.imp.WS2_32.dll_inet_ntoa]
lea ecx, [rbx + 0x52]
mov rdi, rax
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
cmp qword [0x1400a6d38], rbx
je 0x14002569e
mov ecx, dword [rsp + 0x4c]
call qword [sym.imp.WS2_32.dll_htonl]
mov r9d, dword [reloc.WS2_32.dll_accept]
xor r8d, r8d
test r9d, r9d
jle 0x1400256df
mov rdx, qword [0x1400a8110]
mov ecx, dword [rdx + 4]
and ecx, eax
cmp ecx, dword [rdx]
je 0x1400256c4
inc r8d
add rdx, 0xc
cmp r8d, r9d
jl 0x140025687
jmp 0x1400256df
mov rdx, qword [0x1400a84b8]
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r12 + rcx - 1]
jne 0x1400256cb
cmp rcx, 8
jne 0x1400256b0
mov ebx, 1
jmp 0x1400256df
lea rdx, str.127.0.0.1
mov rcx, rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
sete bl
cmp dword [0x1400a7b1c], 0
je 0x140025712
cmp dword [0x1400a7850], 0
je 0x140025712
test ebx, ebx
lea r9, str.Ignored
mov r8, rdi
lea rdx, str.API:_connection_from__s____s
cmovne r9, rsi
mov ecx, 4
call fcn.14001ae00
test ebx, ebx
je 0x140025a0b
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x400
mov rcx, r14
xor esi, esi
call qword [sym.imp.WS2_32.dll_recv]
movsxd rbx, eax
cmp ebx, 0xffffffff
jg 0x140025743
mov byte [rbp + 0x60], sil
jmp 0x1400259fb
test eax, eax
jle 0x14002578c
lea ecx, [rbx - 1]
movsxd rax, ecx
cmp byte [rbp + rax + 0x60], 0xa
jne 0x14002578c
cmp rax, 0x4000
jae 0x140025aa3
mov byte [rbp + rax + 0x60], sil
mov ebx, ecx
test ecx, ecx
jle 0x14002579e
lea eax, [rcx - 1]
movsxd rcx, eax
cmp byte [rbp + rcx + 0x60], 0xd
jne 0x14002579e
cmp rcx, 0x4000
jae 0x140025a9d
mov byte [rbp + rcx + 0x60], sil
jmp 0x14002579e
cmp rbx, 0x4000
jae 0x140025aa9
mov byte [rbp + rbx + 0x60], sil
lea rdx, str.GET__
lea rcx, [rbp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_strstr]
mov rdi, rax
test rax, rax
je 0x14002588f
or rcx, 0xffffffffffffffff
nop
inc rcx
cmp byte [rax + rcx], sil
jne 0x1400257c0
cmp rcx, 5
jbe 0x14002588f
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x100
call sub.VCRUNTIME140.dll_memset
lea rcx, [rdi + 5]
lea r8, [rsp + 0x60]
lea rdx, [0x1400838fc]
call fcn.140018c40
mov edx, Ordinal_50
lea rcx, [rsp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
je 0x140025812
mov byte [rax], 0x7c
mov edx, Ordinal_50
lea rcx, [rsp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
je 0x14002582a
mov byte [rax], sil
lea rdx, str.Sec_WebSocket_Key
mov rcx, rdi
call qword [sym.imp.VCRUNTIME140.dll_strstr]
mov rsi, rax
test rax, rax
je 0x140025878
mov edx, reloc.WS2_32.dll_listen
mov rcx, rax
call qword [sym.imp.VCRUNTIME140.dll_strchr]
test rax, rax
je 0x140025858
mov byte [rax], 0
mov edx, Ordinal_60
mov rcx, rsi
call qword [sym.imp.VCRUNTIME140.dll_strchr]
cmp byte [rax + 1], 0x20
lea rsi, [rax + 1]
jne 0x140025878
inc rsi
cmp byte [rsi], 0x20
je 0x140025870
lea r8, [rsp + 0x60]
lea rdx, [0x140082074]
lea rcx, [rbp + 0x60]
call fcn.14000b920
mov ebx, eax
mov edx, 0x7c
lea rcx, [rbp + 0x60]
call qword [sym.imp.VCRUNTIME140.dll_strchr]
mov rdi, rax
test rax, rax
je 0x1400258ac
mov byte [rax], 0
inc rdi
cmp dword [0x1400a7b1c], 0
je 0x1400258e5
cmp dword [0x1400a7850], 0
je 0x1400258e5
test ebx, ebx
jle 0x1400258e5
test rdi, rdi
lea r9, [0x14007d76a]
lea r8, [rbp + 0x60]
mov ecx, 4
cmovne r9, rdi
lea rdx, str.API:_exec_command__s__s_
call fcn.14001ae00
xor r10d, r10d
lea rbx, str.summary
xor r11d, r11d
mov r9, rbx
nop word [rax + rax]
mov r8, qword [r9]
lea rax, [rbp + 0x60]
sub r8, rax
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140025923
inc rax
test ecx, ecx
jne 0x140025910
test edx, edx
jne 0x14002593e
lea rcx, [rbp + 0x60]
or rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], 0
jne 0x140025930
test rax, rax
jne 0x140025953
inc r10d
inc r11
add r9, 0x18
cmp r10d, 0xb
jb 0x140025900
jmp 0x1400259fb
test rdi, rdi
je 0x1400259a0
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rdi + rax], 0
jne 0x140025960
test rax, rax
je 0x1400259a0
or rax, 0xffffffffffffffff
cmp byte [rdi + rax + 1], 0
lea rax, [rax + 1]
jne 0x140025972
cmp byte [rax + rdi - 1], 0x7c
jne 0x1400259a0
or rax, 0xffffffffffffffff
nop dword [rax + rax]
cmp byte [rdi + rax + 1], 0
lea rax, [rax + 1]
jne 0x140025990
mov byte [rax + rdi - 1], 0
lea rax, [r11 + r11*2]
mov rcx, rdi
call qword [rbx + rax*reloc.WS2_32.dll_htonl + 8]
mov rdx, rax
test rsi, rsi
je 0x1400259c0
mov r8, rsi
mov rcx, r14
call fcn.140024110
jmp 0x1400259fb
test rdx, rdx
jne 0x1400259d2
lea r8d, [rdx + 1]
lea rdx, [0x14007d76a]
jmp 0x1400259ef
or rax, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [rdx + rax + 1], 0
lea rax, [rax + 1]
jne 0x1400259e0
lea r8d, [rax + 1]
xor r9d, r9d
mov rcx, r14
call qword [sym.imp.WS2_32.dll_send]
mov rcx, r14
call qword [sym.imp.WS2_32.dll_closesocket]
lea rsi, str.Accepted
cmp dword [0x1400a80fc], 0
je 0x140025610
jmp 0x140025a3c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_strerror]
mov r9, r13
lea rdx, str.API_failed___s__s
mov r8, rax
xor ecx, ecx
call fcn.14001ae00
mov rcx, qword [r15]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1400a81f0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r14, qword [rsp + 0x4178]
mov r12, qword [rsp + 0x41a8]
mov r13, qword [rsp + 0x41b0]
mov rsi, qword [rsp + 0x41a0]
mov r15, qword [rsp + 0x4170]
mov rcx, qword [rbp + 0x4060]
xor rcx, rsp
call fcn.14006df60
add rsp, 0x4180
pop rdi
pop rbx
pop rbp
ret
call fcn.14006e08c
int3
call fcn.14006e08c
int3
call fcn.14006e08c
int3