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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x388
movaps xmmword [rsp + 0x370], xmm6
mov rax, qword [0x14022c040]
xor rax, rsp
mov qword [rsp + 0x368], rax
cmp qword [rcx + 0x18], 0
je 0x140051e19
mov r15, rcx
lea r14, [rsp + 0x250]
xorps xmm6, xmm6
movups xmmword [r14], xmm6
mov qword [r14 - 8], r14
lea rax, [rcx + 8]
mov r13, qword [rcx + 0x10]
mov qword [rsp + 0x68], rax
cmp r13, rax
mov qword [rsp + 0x58], rcx
je 0x140050ed2
xor ebp, ebp
lea rbx, [rsp + 0x132]
lea r10, [0x14021a170]
lea rdi, [rsp + 0x120]
movabs r11, 0x9aaaaaa0000aaaa
mov eax, dword [r13 + 0x10]
cmp eax, 2
setb cl
cmp eax, 4
setge al
or al, cl
je 0x140051711
mov r13, qword [r13 + 8]
cmp r13, qword [rsp + 0x68]
jne 0x140050d1c
mov rcx, qword [rsp + 0x250]
test rbp, rbp
je 0x140050ed4
mov r14, rbp
add r14, 0x10
call fcn.1400520a0
test r14, r14
je 0x140050ed9
mov rbx, rdi
mov rcx, r14
call fcn.140133f84
mov r12, rax
cmp byte [r15 + 0x20], 1
je 0x140051f32
xor eax, eax
mov r13, r12
add r13, 0x10
mov qword [r12 + 8], rax
lea rax, [rsp + 0x248]
mov qword [rax], rbp
lea rax, [rsp + 0x90]
mov qword [rax], r13
mov rsi, qword [r15 + 0x10]
xor edi, edi
movabs rbp, 0xaaaaaaaaaaaaaaaa
movaps xmm6, xmmword [0x1401fa990]
jmp 0x140050dd6
mov eax, dword [rsi + 0x10]
cmp eax, 2
setb cl
cmp eax, 4
setge al
or al, cl
je 0x14005199e
mov rsi, qword [rsi + 8]
cmp rsi, qword [rsp + 0x68]
jne 0x140050dbb
mov qword [r12], rdi
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x88], rax
mov rax, qword [r15]
test rax, rax
je 0x140051e20
mov rsi, qword [rax]
mov dword [rsp + 0x20], 4
mov rcx, rsi
xor edx, edx
mov r8, r14
mov r9d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
test rax, rax
je 0x140051ecd
mov rdi, rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov rdx, rdi
mov r8, r12
mov r9, r14
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x140051eb8
cmp qword [rsp + 0x120], r14
jne 0x140051eb8
mov qword [rsp + 0x88], rdi
lea rax, [0x1401dac60]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0
lea rsi, [0x14021a170]
lea r8, str.NtMapViewOfSection
mov rcx, r15
mov rdx, rsi
mov r9d, 1
call fcn.14000c0c0
lea rax, [0x1401dacd0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 1
lea r8, str.NtUnmapViewOfSection
mov rcx, r15
mov rdx, rsi
mov r9d, 1
call fcn.14000c0c0
jmp 0x140050efd
xor ecx, ecx
call fcn.1400520a0
cmp qword [r15], 0
je 0x140051e20
mov qword [rsp + 0x88], 0
xor r12d, r12d
cmp qword [r15 + 0x18], 0
je 0x140051664
mov rax, qword [r15]
test rax, rax
je 0x140051e23
mov qword [rsp + 0x60], r12
mov rcx, qword [rax]
mov dword [rsp + 0x20], 1
mov r8d, 0x10000
mov qword [rsp + 0x78], rcx
xor edx, edx
mov r9d, 0x2000
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rsi, qword [r15 + 0x18]
shl rsi, 6
lea r13, [rsi + 0x60]
cmp r13, 0x10001
jae 0x140051e26
mov rdi, rax
mov r14d, 0xffa0
sub r14d, esi
and r14d, 0xffffffe0
inc r14
mov rax, 0xffffffffffffffff
xor edx, edx
div r14
mov r15, 0xfffffffffffffffe
sub r15, rdx
lea r12, [rsp + 0x248]
lea rbx, [rsp + 0x120]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x248], rax
mov qword [rsp + 0x120], r12
mov qword [rsp + 0x128], 8
mov rcx, rbx
call fcn.1400a8600
mov rax, qword [rsp + 0x248]
cmp rax, r15
ja 0x140050f84
mov edx, 0x800
mov r9d, 0x1000
mov r8d, 0x800
mov rcx, r9
shr r8, 1
mov r9, rdx
cmp rdx, r13
mov rdx, r8
jae 0x140050fd0
xor edx, edx
div r14
mov rbx, rdx
neg ecx
and ebx, ecx
mov eax, ebx
and eax, 0xfffff000
add rdi, rax
add rsi, 0x105f
and rsi, 0xfffffffffffff000
mov dword [rsp + 0x20], 0x40
mov rcx, qword [rsp + 0x78]
mov rdx, rdi
mov r8, rsi
mov r9d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
test rax, rax
mov rsi, qword [rsp + 0x58]
je 0x140051e29
mov rdi, rax
lea rcx, [rsp + 0x120]
mov r8d, 0x128
mov dl, 0xaa
call fcn.14016a6d0
lea rcx, [0x14021a170]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140051e3f
movaps xmm6, xmmword [0x1401fa990]
movups xmmword [rsp + 0x318], xmm6
movups xmmword [rsp + 0x358], xmm6
movups xmmword [rsp + 0x348], xmm6
movups xmmword [rsp + 0x338], xmm6
movups xmmword [rsp + 0x328], xmm6
mov qword [rsp + 0x308], r13
mov dword [rsp + 0x320], 0
mov qword [rsp + 0x310], 0x20
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x118], rax
movups xmmword [rsp + 0x108], xmm6
movups xmmword [rsp + 0xf8], xmm6
mov rax, qword [rsi]
test rax, rax
je 0x140051e2c
and ebx, 0xfff
add rdi, rbx
mov qword [rsp + 0x80], rdi
mov rax, qword [rax]
lea rcx, [0x1401fc540]
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], rax
mov byte [rsp + 0x118], 1
mov dword [rsp + 0x11c], 0
lea rcx, [rsp + 0x248]
mov r8d, 0xc0
xor edx, edx
call fcn.14016a6d0
mov r14, qword [rsi + 0x10]
cmp r14, qword [rsp + 0x68]
je 0x140051527
lea r15, [rsp + 0x98]
lea rdi, [rsp + 0xb0]
lea rsi, [rsp + 0xc8]
mov rax, qword [rsp + 0x80]
lea r10, [rax + 0x20]
mov dword [rsp + 0x4c], 0xaaaaaaaa
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x50], rax
jmp 0x140051316
mov rdx, qword [r14 + 0x18]
mov r8, qword [r14 + 0x20]
mov rcx, r15
mov rbx, r10
call fcn.140110450
mov r10, rbx
jmp 0x14005137a
mov rcx, qword [rsp + 0x98]
mov rbx, r10
call fcn.140133b2c
mov r10, rbx
jmp 0x1400512fe
mov r9, qword [rsp + 0xb0]
mov r12, r13
sub r13, qword [rsp + 0x310]
movsxd r15, dword [rsp + 0x320]
shl r15, 6
mov rdi, r10
add r15, r10
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
lea rbp, [rsp + 0xf0]
mov rcx, rbp
mov rdx, qword [rsp + 0x70]
xor r8d, r8d
call qword [0x14021e390]
test eax, eax
js 0x140051d2c
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 0x20]
mov rcx, rbp
call qword [0x14021e390]
test rax, rax
mov r13, rbp
je 0x140051d18
mov rcx, rax
call fcn.140133f84
mov rbp, rax
mov rcx, r13
mov rdx, rbp
call fcn.14002db10
test al, al
je 0x140051d1f
mov rcx, r13
mov rdx, rbp
mov r8, r15
call fcn.14002dc70
mov r13d, eax
test rbp, rbp
mov r15, rsi
je 0x140051288
mov rcx, rbp
call fcn.140133f1c
test r13d, r13d
mov rsi, rbx
js 0x140051d35
mov r10, rdi
movsxd rax, dword [rsp + 0x320]
shl rax, 6
add rax, rdi
movsxd rcx, dword [rsp + 0x94]
mov qword [rsp + rcx*8 + 0x248], rax
inc dword [rsp + 0x320]
add qword [rsp + 0x310], 0x40
mov bpl, 1
cmp byte [rsp + 0xdf], 0
mov r13, r12
js 0x140051d61
cmp byte [rsp + 0xc7], 0
lea rdi, [rsp + 0xb0]
js 0x140051d79
cmp byte [rsp + 0xaf], 0
js 0x1400511aa
test bpl, bpl
je 0x140051dcc
mov r14, qword [r14 + 8]
cmp r14, qword [rsp + 0x68]
je 0x140051527
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xe0], rax
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
movaps xmmword [rsp + 0x90], xmm6
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x90], rax
cmp byte [r14 + 0x2f], 0
js 0x14005118f
lea rax, [r14 + 0x18]
mov rcx, qword [rax + 0x10]
mov qword [r15 + 0x10], rcx
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
cmp byte [r14 + 0x47], 0
js 0x140051d91
lea rax, [r14 + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x10], rcx
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
cmp byte [r14 + 0x5f], 0
js 0x140051dac
lea rax, [r14 + 0x48]
mov rcx, qword [rax + 0x10]
mov qword [rsi + 0x10], rcx
movups xmm0, xmmword [rax]
movups xmmword [rsi], xmm0
mov rcx, qword [r14 + 0x60]
mov qword [rsp + 0xe0], rcx
movsx rax, byte [rsp + 0xaf]
mov rdx, rax
test rax, rax
jns 0x1400513d9
mov rdx, qword [rsp + 0xa0]
cmp rdx, 9
jne 0x140051cfc
test al, al
mov rdx, qword [rsp + 0x98]
mov r8, r15
cmovs r8, rdx
cmp word [r8], 0x6e
jne 0x140051cfc
lea r8, [rdx + 2]
test al, al
lea r9, [rsp + 0x9a]
cmovns r8, r9
cmp word [r8], 0x74
jne 0x140051cfc
lea r8, [rdx + 4]
test al, al
lea r9, [rsp + 0x9c]
cmovns r8, r9
cmp word [r8], 0x64
jne 0x140051cfc
lea r8, [rdx + 6]
test al, al
lea r9, [rsp + 0x9e]
cmovns r8, r9
cmp word [r8], 0x6c
jne 0x140051cfc
lea r8, [rdx + 8]
test al, al
lea r9, [rsp + 0xa0]
cmovns r8, r9
cmp word [r8], 0x6c
jne 0x140051cfc
lea r8, [rdx + 0xa]
test al, al
lea r9, [rsp + 0xa2]
cmovns r8, r9
cmp word [r8], 0x2e
jne 0x140051cfc
lea r8, [rdx + 0xc]
test al, al
lea r9, [rsp + 0xa4]
cmovns r8, r9
cmp word [r8], 0x64
jne 0x140051cfc
lea r8, [rdx + 0xe]
test al, al
lea r9, [rsp + 0xa6]
cmovns r8, r9
cmp word [r8], 0x6c
jne 0x140051cfc
add rdx, 0x10
test al, al
lea rax, [rsp + 0xa8]
cmovns rdx, rax
xor ebp, ebp
cmp word [rdx], 0x6c
jne 0x140051cf7
cmp dword [rsp + 0x90], 1
jne 0x140051cf7
cmp byte [rsp + 0xdf], 0
mov rbx, rsi
mov rdx, rsi
jns 0x14005150e
mov rdx, qword [rsp + 0xc8]
mov rsi, r15
cmp byte [rsp + 0xc7], 0
mov r9, rdi
jns 0x1400511ca
jmp 0x1400511c2
lea rsi, [rsp + 0x120]
lea rdx, [rsp + 0x248]
mov r8d, 0x120
mov rcx, rsi
call fcn.14016a030
mov qword [rsi + 0x120], 1
lea rax, [rsp + 0x90]
movabs rcx, 0xaaaaaaaaaaaaaaaa
mov qword [rax], rcx
lea r8, [rsp + 0x1e0]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
mov rcx, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov edi, 0x2a
test eax, eax
mov r12, qword [rsp + 0x60]
je 0x140051e2f
cmp qword [rsp + 0x90], 0x20
mov r15, qword [rsp + 0x58]
jne 0x140051660
lea rax, [rsp + 0xf0]
mov dword [rax], 0xaaaaaaaa
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x78]
mov rdx, rsi
mov r8, r13
mov r9d, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov rax, qword [r15]
test rax, rax
je 0x140051e39
cmp qword [rsp + 0x240], 1
jne 0x140051dc7
cmp dword [rax + 0x10], 0
mov rcx, qword [rax]
je 0x140051e76
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x248], rax
lea rax, [rsp + 0x248]
mov qword [rsp + 0x20], rax
lea rdx, [0x140245770]
lea r8, [rsp + 0x120]
mov r9d, 0xc0
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
xor ecx, ecx
cmp qword [rsp + 0x248], 0xc0
mov edx, 0x3a
cmove edx, ecx
test eax, eax
mov edi, 0x39
cmovne edi, edx
test edi, edi
jne 0x1400516ca
mov rax, qword [r15]
test rax, rax
je 0x140051e3c
cmp dword [rax + 0x10], 0
mov rcx, qword [rax]
je 0x140051e4e
lea rsi, [rsp + 0x120]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsi], rax
mov qword [rsp + 0x20], rsi
lea rdx, [0x140245880]
lea r8, [rsp + 0x88]
mov r9d, 8
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
xor ecx, ecx
cmp qword [rsi], 8
mov edx, 0x3a
cmove edx, ecx
test eax, eax
mov edi, 0x39
cmovne edi, edx
test r12, r12
jne 0x1400516e9
mov rcx, qword [rsp + 0x368]
xor rcx, rsp
cmp rcx, qword [0x14022c040]
je 0x1400516f3
call fcn.1401363f0
int3
mov rcx, r12
call fcn.140133f1c
jmp 0x1400516cf
mov eax, edi
movaps xmm6, xmmword [rsp + 0x370]
add rsp, 0x388
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rdi, r10
seta al
cmp rbx, r10
setbe cl
mov qword [rsp + 0x130], r11
or cl, al
je 0x140051d2a
movaps xmm0, xmmword [0x14021a170]
movaps xmmword [rsp + 0x120], xmm0
mov word [rsp + 0x130], 0x6c
lea rsi, [r13 + 0x18]
movsx rcx, byte [r13 + 0x2f]
mov rdx, rcx
mov rax, rsi
test rcx, rcx
jns 0x140051762
mov rdx, qword [r13 + 0x20]
mov rax, qword [r13 + 0x18]
test rdx, rdx
js 0x140051d2a
sete r8b
test rax, rax
setne r9b
or r9b, r8b
je 0x140051d2a
cmp rdx, 9
je 0x140051f66
mov r15, qword [rsp + 0x250]
test r15, r15
jne 0x140051ed7
test cl, cl
jns 0x140051e9e
mov rax, qword [r13 + 0x20]
lea r12, [rax*2 + 0x23]
and r12, 0xfffffffffffffff8
add r12, rbp
mov r10, qword [rsp + 0x250]
mov r15, r14
mov rbp, r14
test r10, r10
je 0x1400518df
movsx rdx, byte [r10 + 0x37]
mov rax, rdx
test rdx, rdx
jns 0x1400517dd
mov rax, qword [r10 + 0x28]
test rax, rax
js 0x140051d2a
test dl, dl
js 0x1400517f0
lea r9, [r10 + 0x20]
jmp 0x1400517f4
mov r9, qword [r10 + 0x20]
test cl, cl
js 0x140051800
movzx ecx, cl
mov rdx, rsi
jmp 0x140051808
mov rcx, qword [r13 + 0x20]
mov rdx, qword [r13 + 0x18]
test rcx, rcx
sete r11b
test rdx, rdx
setne r8b
or r8b, r11b
mov rbp, r10
test r9, r9
jne 0x14005182a
test rax, rax
jne 0x140051d2a
test rcx, rcx
js 0x140051d2a
test r8b, r8b
je 0x140051d2a
cmp rax, rcx
mov r10, rcx
cmovb r10, rax
test r10, r10
je 0x140051864
xor r11d, r11d
movzx edi, word [r9 + r11*2]
cmp word [rdx + r11*2], di
ja 0x14005186d
jb 0x14005189d
inc r11
cmp r10, r11
jne 0x14005184e
cmp rcx, rax
jne 0x140051cd3
test r10, r10
je 0x14005188f
xor r11d, r11d
movzx edi, word [rdx + r11*2]
cmp word [r9 + r11*2], di
ja 0x140051943
jb 0x1400518d2
inc r11
cmp r10, r11
jne 0x140051875
cmp rax, rcx
je 0x140051943
jmp 0x140051cec
mov r10, qword [rbp]
mov r15, rbp
test r10, r10
je 0x1400518df
movsx rax, byte [r10 + 0x37]
test rax, rax
js 0x1400518b9
lea r9, [r10 + 0x20]
jmp 0x1400518c1
mov rax, qword [r10 + 0x28]
mov r9, qword [r10 + 0x20]
mov rbp, r10
test rax, rax
jns 0x14005181c
jmp 0x140051d2a
mov r10, qword [rbp + 8]
test r10, r10
jne 0x1400518a9
lea r15, [rbp + 8]
mov ecx, 0x38
call fcn.140133b54
mov rcx, rax
add rcx, 0x20
je 0x140051d2a
mov rdi, rax
cmp byte [r13 + 0x2f], 0
jns 0x140051f53
mov rdx, qword [r13 + 0x18]
mov r8, qword [r13 + 0x20]
call fcn.140110450
movups xmmword [rdi], xmm6
mov qword [rdi + 0x10], rbp
mov qword [r15], rdi
mov rax, qword [rsp + 0x248]
mov rax, qword [rax]
test rax, rax
jne 0x140051991
mov rcx, qword [rsp + 0x250]
mov rdx, rdi
call fcn.1400d7810
inc qword [rsp + 0x258]
movsx rax, byte [r13 + 0x47]
test rax, rax
js 0x140051ea6
movsx rcx, byte [r13 + 0x5f]
test rcx, rcx
js 0x140051eaf
lea rbp, [rax + rcx]
add rbp, 0x21
and rbp, 0xfffffffffffffff8
add rbp, r12
mov r15, qword [rsp + 0x58]
lea rdi, [rsp + 0x120]
lea r10, [0x14021a170]
movabs r11, 0x9aaaaaa0000aaaa
jmp 0x140050d34
mov qword [rsp + 0x248], rax
mov rdi, qword [r15]
jmp 0x14005192b
mov qword [rsp + 0x60], r12
lea rdx, [0x14021a170]
cmp rbx, rdx
seta al
lea rcx, [rsp + 0x132]
cmp rcx, rdx
setbe cl
movabs rdx, 0x9aaaaaa0000aaaa
mov qword [rsp + 0x130], rdx
or cl, al
je 0x140051d2a
movaps xmm0, xmmword [0x14021a170]
movaps xmmword [rsp + 0x120], xmm0
mov word [rsp + 0x130], 0x6c
lea r12, [rsi + 0x18]
movsx rax, byte [rsi + 0x2f]
test rax, rax
mov rdx, qword [rsi + 0x18]
mov r8, qword [rsi + 0x20]
mov r9, rax
cmovs r9, r8
mov rcx, r12
cmovs rcx, rdx
test r9, r9
js 0x140051d2a
sete r10b
test rcx, rcx
setne r11b
or r11b, r10b
je 0x140051d2a
cmp r9, 9
mov qword [rsp + 0x70], rdi
je 0x140051fdc
mov qword [rsp + 0x130], rbp
movaps xmmword [rsp + 0x120], xmm6
test al, al
jns 0x14005206b
mov rcx, rbx
call fcn.140110450
mov cl, byte [rsi + 0x2f]
mov r8, qword [rsi + 0x20]
movzx eax, cl
test cl, cl
cmovs rax, r8
lea rax, [rax*2 + 0x23]
and rax, 0xfffffffffffffff8
mov rcx, qword [rsp + 0x248]
sub rcx, rax
jb 0x140051f4c
mov rdi, qword [rsp + 0x90]
mov qword [rsp + 0x248], rcx
lea rbp, [rdi + rax]
mov qword [rsp + 0x90], rbp
cmp dword [rsi + 0x10], 3
sete byte [rdi + 0x18]
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], 0
movsx rax, byte [rsi + 0x2f]
mov rcx, qword [rsi + 0x20]
test rax, rax
jns 0x140051fcd
test rcx, rcx
js 0x140051d2a
mov r12, qword [r12]
mov r8, rcx
add rdi, 0x1a
cmp r12, rdi
jb 0x140051af7
lea rdx, [rdi + r8*2]
cmp rdx, r12
ja 0x140051d2a
test r8, r8
je 0x140051fd5
add r8, r8
mov rcx, rdi
mov rdx, r12
call fcn.14016a030
mov dl, byte [rsi + 0x2f]
mov rcx, qword [rsi + 0x20]
movzx eax, dl
test dl, dl
cmovs rax, rcx
mov word [rdi + rax*2], 0
cmp rsi, qword [rsp + 0x68]
je 0x140051c85
mov r12, rsi
jmp 0x140051c1f
test rax, rax
je 0x140051b57
xor r8d, r8d
movzx r9d, word [rdx + r8*2]
cmp r9w, word [rcx + r8*2]
jne 0x140051c10
inc r8
cmp rax, r8
jne 0x140051b3f
mov rcx, rdi
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0x248]
mov r9, r13
call fcn.140052470
test al, al
je 0x140051f4c
cmp rsi, r12
jne 0x140051b83
mov rsi, qword [rsi + 8]
mov rax, qword [r12]
mov r15, qword [r12 + 8]
mov qword [rax + 8], r15
mov rax, qword [r12]
mov qword [r15], rax
mov rax, qword [rsp + 0x58]
dec qword [rax + 0x18]
test rdi, rdi
je 0x140051d2a
cmp byte [r12 + 0x5f], 0
js 0x14005204d
cmp byte [r12 + 0x47], 0
js 0x14005205c
cmp byte [r12 + 0x2f], 0
js 0x140051cde
test r12, r12
je 0x140051d2a
mov rcx, r12
call fcn.140133b2c
jmp 0x140051c15
mov r8, qword [r12 + 0x20]
mov rdx, qword [r12 + 0x18]
test r8, r8
js 0x140051d2a
sete r9b
test rdx, rdx
setne r10b
or r10b, r9b
je 0x140051d2a
cmp r8, rax
je 0x140051b37
mov r15, qword [r12 + 8]
mov r12, r15
cmp r15, qword [rsp + 0x68]
je 0x140051c7d
lea rdi, [r12 + 0x10]
lea rbp, [r12 + 0x18]
movsx rax, byte [rsp + 0x137]
test rax, rax
cmovs rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x120]
cmovns rcx, rbx
test rax, rax
js 0x140051d2a
sete dl
test rcx, rcx
setne r8b
or r8b, dl
je 0x140051d2a
movsx r8, byte [r12 + 0x2f]
mov rdx, rbp
test r8, r8
jns 0x140051bea
jmp 0x140051be0
mov rbp, qword [rsp + 0x90]
inc qword [rsp + 0x70]
mov dil, 1
mov r13, rbp
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
cmp byte [rsp + 0x137], 0
movabs rbp, 0xaaaaaaaaaaaaaaaa
jns 0x140051cbb
mov rcx, qword [rsp + 0x120]
call fcn.140133b2c
test dil, dil
mov rdi, qword [rsp + 0x70]
jne 0x140050dd6
mov edi, 0x26
jmp 0x1400516ca
jb 0x14005189d
jmp 0x14005186d
mov rcx, qword [rbp]
call fcn.140133b2c
jmp 0x140051bcd
jb 0x1400518d2
jmp 0x140051943
mov r12, r13
jmp 0x140051d01
mov r12, r13
xor ebp, ebp
mov eax, 2
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x4c], 2
jmp 0x1400512c9
xor ebp, ebp
jmp 0x140051254
mov r13d, 0xc0000035
jmp 0x140051278
ud2
mov r13d, eax
mov r15, rsi
mov rsi, rbx
mov ecx, r13d
call fcn.1401c78b0
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r10, rdi
mov dword [rsp + 0x4c], 0x28
xor ebp, ebp
mov eax, 2
mov qword [rsp + 0x50], rax
jmp 0x1400512c9
mov rcx, qword [rsp + 0xc8]
mov rdi, r10
call fcn.140133b2c
mov r10, rdi
jmp 0x1400512da
mov rcx, qword [rsp + 0xb0]
mov rbx, r10
call fcn.140133b2c
mov r10, rbx
jmp 0x1400512f0
mov rdx, qword [r14 + 0x30]
mov r8, qword [r14 + 0x38]
mov rcx, rdi
mov rbx, r10
call fcn.1400a8a50
mov r10, rbx
jmp 0x140051397
mov rdx, qword [r14 + 0x48]
mov r8, qword [r14 + 0x50]
mov rcx, rsi
mov rbx, r10
call fcn.1400a8a50
mov r10, rbx
jmp 0x1400513b4
call fcn.14019e240
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x120], eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x240], rax
cmp rax, 1
je 0x140051550
cmp qword [rsp + 0x50], 2
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
mov edi, dword [rsp + 0x4c]
je 0x140051660
cmp qword [rsp + 0x50], 0
je 0x14005208c
call fcn.14019e240
xor edi, edi
jmp 0x1400516cf
int3
int3
int3
int3
int3
mov r15, qword [rsp + 0x58]
jmp 0x140051660
int3
int3
mov edi, 7
mov r12, qword [rsp + 0x60]
jmp 0x1400516ca
test rcx, rcx
jne 0x14005167d
cmp dword [rax + 0x14], 0
jne 0x14005167d
cmp qword [rax + 8], 0
jne 0x14005167d
mov edi, 8
jmp 0x1400516ca
test rcx, rcx
jne 0x140051606
cmp dword [rax + 0x14], 0
jne 0x140051606
mov edi, 8
cmp qword [rax + 8], 0
jne 0x140051606
jmp 0x140051660
movzx eax, cl
jmp 0x1400517a6
mov rax, qword [r13 + 0x38]
jmp 0x140051951
mov rcx, qword [r13 + 0x50]
jmp 0x14005195f
mov rcx, rsi
mov rdx, rdi
xor r8d, r8d
mov r9d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov edi, 0x27
jmp 0x1400516ca
lea rdi, [r15 + 0x20]
lea rcx, [rsp + 0x120]
mov rdx, rsi
mov r8, rdi
call fcn.140132390
cmp byte [rsp + 0x120], 0
js 0x140051f19
lea rcx, [rsp + 0x120]
mov rdx, rdi
mov r8, rsi
call fcn.140132390
cmp byte [rsp + 0x120], 0
jns 0x140051f2a
add r15, 8
mov r15, qword [r15]
test r15, r15
jne 0x140051ed7
mov cl, byte [r13 + 0x2f]
jmp 0x14005179a
mov r12, rbp
jmp 0x140051943
mov rax, qword [r15]
test rax, rax
je 0x14005208f
mov rax, qword [rax + 0x40]
mov r15, qword [rsp + 0x58]
jmp 0x140050d80
xor edi, edi
jmp 0x140051c90
mov rax, qword [rsi + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [rsi]
movups xmmword [rcx], xmm0
jmp 0x140051911
cmp word [rax], 0x6e
jne 0x140051789
cmp word [rax + 2], 0x74
jne 0x140051789
cmp word [rax + 4], 0x64
jne 0x140051789
cmp word [rax + 6], 0x6c
jne 0x140051789
cmp word [rax + 8], 0x6c
jne 0x140051789
cmp word [rax + 0xa], 0x2e
jne 0x140051789
cmp word [rax + 0xc], 0x64
jne 0x140051789
cmp word [rax + 0xe], 0x6c
jne 0x140051789
cmp word [rax + 0x10], 0x6c
je 0x140050d34
jmp 0x140051789
mov r8, rax
jmp 0x140051ae1
mov edx, eax
jmp 0x140051b18
cmp word [rcx], 0x6e
jne 0x140051a3f
cmp word [rcx + 2], 0x74
jne 0x140051a3f
cmp word [rcx + 4], 0x64
jne 0x140051a3f
cmp word [rcx + 6], 0x6c
jne 0x140051a3f
cmp word [rcx + 8], 0x6c
jne 0x140051a3f
cmp word [rcx + 0xa], 0x2e
jne 0x140051a3f
cmp word [rcx + 0xc], 0x64
jne 0x140051a3f
cmp word [rcx + 0xe], 0x6c
jne 0x140051a3f
cmp word [rcx + 0x10], 0x6c
jne 0x140051a3f
mov r15, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
jmp 0x140050dd2
mov rcx, qword [r12 + 0x48]
call fcn.140133b2c
jmp 0x140051bb5
mov rcx, qword [r12 + 0x30]
call fcn.140133b2c
jmp 0x140051bc1
mov rcx, qword [r12 + 0x10]
mov qword [rsp + 0x130], rcx
movups xmm0, xmmword [r12]
movaps xmmword [rsp + 0x120], xmm0
mov ecx, eax
jmp 0x140051a69
int3
int3