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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
mov rsi, rcx
xor r14d, r14d
cmp qword [0x1800a2878], r14
jne 0x18002651c
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], setsockopt
lea r8d, [r14 + 0x15]
lea rdx, str.IDXGISwapChainPresent
lea rcx, [rbp - 0x28]
call fcn.180004270
lea rax, [rbp - 0x28]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x38], r14d
lea r9, [rbp + 0x38]
lea edx, [r14 + 8]
lea r8d, [r14 + 0x40]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x180026409
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x180026a5c
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800263f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026a98
call fcn.18004a624
mov eax, 0x80004005
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rsi]
mov rbx, qword [rax + 0x40]
mov ecx, 0x40
call fcn.18004a198
mov rdi, rax
mov qword [rbp + 0x48], rax
mov qword [rax], r14
lea rcx, [rax + 8]
lea rdx, [rbp - 0x28]
call fcn.180003fd0
mov qword [rdi + 0x28], rbx
lea rax, [0x180025c20]
mov qword [rdi + 0x30], rax
mov byte [rdi + 0x38], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x18002647f
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002647a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026a98
call fcn.18004a624
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], setsockopt
mov byte [rbp - 0x28], 0
mov rdx, qword [0x1800a2878]
mov qword [0x1800a2878], rdi
test rdx, rdx
je 0x1800264a7
call fcn.180027b50
cmp byte [rdi + 0x38], 0
jne 0x180026512
mov r8, rdi
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
call fcn.1800489b0
test eax, eax
jne 0x1800264e0
mov rcx, qword [rdi + 0x28]
call fcn.180048eb0
test eax, eax
jne 0x1800264d4
mov byte [rdi + 0x38], 1
jmp 0x1800264e0
mov rcx, qword [rdi + 0x28]
call fcn.180048ca0
mov qword [rdi], r14
cmp byte [rdi + 0x38], 0
jne 0x180026512
mov rdx, qword [0x1800a2878]
mov qword [0x1800a2878], r14
test rdx, rdx
je 0x180026a5c
call fcn.180027b50
mov eax, 0x80004005
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rdi]
mov qword [0x1800a27d8], rax
cmp qword [0x1800a2880], 0
jne 0x1800266d8
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], setsockopt
mov r8d, 0x1b
lea rdx, str.IDXGISwapChainResizeBuffers
lea rcx, [rbp - 0x28]
call fcn.180004270
lea rax, [rbp - 0x28]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x38], r14d
lea r9, [rbp + 0x38]
mov edx, 8
lea r8d, [rdx + 0x38]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1800265c5
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x180026a5c
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800265b0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026a9e
call fcn.18004a624
mov eax, 0x80004005
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rsi]
mov rbx, qword [rax + 0x68]
mov ecx, 0x40
call fcn.18004a198
mov rdi, rax
mov qword [rbp + 0x48], rax
mov qword [rax], r14
lea rcx, [rax + 8]
lea rdx, [rbp - 0x28]
call fcn.180003fd0
mov qword [rdi + 0x28], rbx
lea rax, [0x180025fe0]
mov qword [rdi + 0x30], rax
mov byte [rdi + 0x38], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x18002663b
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180026636
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026a9e
call fcn.18004a624
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], setsockopt
mov byte [rbp - 0x28], 0
mov rdx, qword [0x1800a2880]
mov qword [0x1800a2880], rdi
test rdx, rdx
je 0x180026663
call fcn.180027b50
cmp byte [rdi + 0x38], 0
jne 0x1800266ce
mov r8, rdi
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
call fcn.1800489b0
test eax, eax
jne 0x18002669c
mov rcx, qword [rdi + 0x28]
call fcn.180048eb0
test eax, eax
jne 0x180026690
mov byte [rdi + 0x38], 1
jmp 0x18002669c
mov rcx, qword [rdi + 0x28]
call fcn.180048ca0
mov qword [rdi], r14
cmp byte [rdi + 0x38], 0
jne 0x1800266ce
mov rdx, qword [0x1800a2880]
mov qword [0x1800a2880], r14
test rdx, rdx
je 0x180026a5c
call fcn.180027b50
mov eax, 0x80004005
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rdi]
mov qword [0x1800a27e0], rax
cmp qword [0x1800a2888], 0
jne 0x180026894
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], setsockopt
mov r8d, 0x1a
lea rdx, str.IDXGISwapChainResizeTarget
lea rcx, [rbp - 0x28]
call fcn.180004270
lea rax, [rbp - 0x28]
mov qword [rbp + 0x40], rax
mov dword [rbp + 0x38], r14d
lea r9, [rbp + 0x38]
mov edx, 8
lea r8d, [rdx + 0x38]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x180026781
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x180026a5c
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002676c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026aa4
call fcn.18004a624
mov eax, 0x80004005
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rsi]
mov rbx, qword [rax + 0x70]
mov ecx, 0x40
call fcn.18004a198
mov rdi, rax
mov qword [rbp + 0x48], rax
mov qword [rax], r14
lea rcx, [rax + 8]
lea rdx, [rbp - 0x28]
call fcn.180003fd0
mov qword [rdi + 0x28], rbx
lea rax, [0x180026160]
mov qword [rdi + 0x30], rax
mov byte [rdi + 0x38], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x1800267f7
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800267f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026aa4
call fcn.18004a624
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], setsockopt
mov byte [rbp - 0x28], 0
mov rdx, qword [0x1800a2888]
mov qword [0x1800a2888], rdi
test rdx, rdx
je 0x18002681f
call fcn.180027b50
cmp byte [rdi + 0x38], 0
jne 0x18002688a
mov r8, rdi
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
call fcn.1800489b0
test eax, eax
jne 0x180026858
mov rcx, qword [rdi + 0x28]
call fcn.180048eb0
test eax, eax
jne 0x18002684c
mov byte [rdi + 0x38], 1
jmp 0x180026858
mov rcx, qword [rdi + 0x28]
call fcn.180048ca0
mov qword [rdi], r14
cmp byte [rdi + 0x38], 0
jne 0x18002688a
mov rdx, qword [0x1800a2888]
mov qword [0x1800a2888], r14
test rdx, rdx
je 0x180026a5c
call fcn.180027b50
mov eax, 0x80004005
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rdi]
mov qword [0x1800a27f8], rax
cmp qword [0x1800a2890], 0
jne 0x180026a85
mov qword [rbp + 0x40], r14
mov rax, qword [rsi]
lea r8, [rbp + 0x40]
lea rdx, [0x18008ded0]
mov rcx, rsi
call qword [rax]
test eax, eax
js 0x180026a85
mov qword [rbp - 0x28], r14
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], setsockopt
mov r8d, reloc.WS2_32.dll_shutdown
lea rdx, str.IDXGISwapChain1Present
lea rcx, [rbp - 0x28]
call fcn.180004270
lea rax, [rbp - 0x28]
mov qword [rbp + 0x48], rax
mov rbx, qword [rbp + 0x40]
mov dword [rbp + 0x38], r14d
lea r9, [rbp + 0x38]
mov edx, 8
lea r8d, [rdx + 0x38]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x180026955
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x180026a4d
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002694b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026a92
call fcn.18004a624
jmp 0x180026a4d
mov rax, qword [rbx]
mov rbx, qword [rax + 0xb0]
mov ecx, 0x40
call fcn.18004a198
mov rdi, rax
mov qword [rbp - 0x30], rax
mov qword [rax], r14
lea rcx, [rax + 8]
lea rdx, [rbp - 0x28]
call fcn.180003fd0
mov qword [rdi + 0x28], rbx
lea rax, [0x180025df0]
mov qword [rdi + 0x30], rax
mov byte [rdi + 0x38], 0
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x1800269ce
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800269c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180026a92
call fcn.18004a624
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x10], setsockopt
mov byte [rbp - 0x28], 0
mov rdx, qword [0x1800a2890]
mov qword [0x1800a2890], rdi
test rdx, rdx
je 0x1800269f6
call fcn.180027b50
cmp byte [rdi + 0x38], 0
jne 0x180026a6c
mov r8, rdi
mov rdx, qword [rdi + 0x30]
mov rcx, qword [rdi + 0x28]
call fcn.1800489b0
test eax, eax
jne 0x180026a2f
mov rcx, qword [rdi + 0x28]
call fcn.180048eb0
test eax, eax
jne 0x180026a23
mov byte [rdi + 0x38], 1
jmp 0x180026a2f
mov rcx, qword [rdi + 0x28]
call fcn.180048ca0
mov qword [rdi], r14
cmp byte [rdi + 0x38], 0
jne 0x180026a6c
mov rdx, qword [0x1800a2890]
mov qword [0x1800a2890], r14
test rdx, rdx
je 0x180026a4d
call fcn.180027b50
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x180026a5c
mov rax, qword [rcx]
call qword [rax + select]
mov eax, 0x80004005
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rax, qword [rdi]
mov qword [0x1800a27f0], rax
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x180026a85
mov rax, qword [rcx]
call qword [rax + select]
xor eax, eax
add rsp, 0x50
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.180055d94
int3
call fcn.180055d94
int3
call fcn.180055d94
int3
call fcn.180055d94
int3