Function at 0x140022510
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, 0x3b8
movaps xmmword [rsp + 0x3a0], xmm6
mov rax, qword [0x14013a028]
xor rax, rsp
mov qword [rsp + 0x398], rax
cmp qword [rcx + 0x18], 0
je 0x14002378c
lea rbx, [rsp + 0x138]
xorps xmm6, xmm6
movups xmmword [rbx], xmm6
mov qword [rbx - 8], rbx
lea rsi, [rcx + 8]
mov qword [rsp + 0x50], rcx
mov r14, qword [rcx + 0x10]
cmp r14, rsi
mov qword [rsp + 0x48], rsi
je 0x140023480
xor edi, edi
jmp 0x14002278b
add rcx, 8
mov rcx, qword [rcx]
test rcx, rcx
jne 0x1400227b0
movzx ecx, dl
test dl, dl
js 0x140023411
mov r8, rcx
lea r12, [r8*2 + 0x23]
and r12, 0xfffffffffffffff8
add r12, rdi
mov rsi, rbx
mov r13, rbx
test rax, rax
je 0x1400226e5
movzx r9d, byte [rax + 0x37]
mov r8, r9
test r9b, r9b
jns 0x1400225c9
mov r8, qword [rax + 0x28]
test r8, r8
js 0x1400236bc
test r9b, r9b
js 0x1400225dd
lea r10, [rax + 0x20]
jmp 0x1400225e1
mov r10, qword [rax + 0x20]
test dl, dl
js 0x1400225ea
mov rdx, r15
jmp 0x1400225f2
mov rcx, qword [r14 + 0x20]
mov rdx, qword [r14 + 0x18]
test rcx, rcx
sete r11b
test rdx, rdx
setne r9b
or r9b, r11b
mov r13, rax
test r10, r10
jne 0x140022614
test r8, r8
jne 0x1400236b6
test rcx, rcx
js 0x1400236cb
test r9b, r9b
je 0x1400236b9
cmp r8, rcx
mov rax, rcx
cmovb rax, r8
test rax, rax
je 0x140022652
xor r11d, r11d
movzx esi, word [r10 + r11*2]
cmp word [rdx + r11*2], si
ja 0x14002265b
jb 0x1400226d9
inc r11
cmp rax, r11
jne 0x140022638
cmp rcx, r8
jne 0x140023475
test rax, rax
je 0x14002267d
xor r11d, r11d
movzx esi, word [rdx + r11*2]
cmp word [r10 + r11*2], si
ja 0x140022750
jb 0x140022690
inc r11
cmp rax, r11
jne 0x140022663
cmp r8, rcx
mov rsi, qword [rsp + 0x48]
je 0x140022755
jmp 0x14002369a
mov rax, qword [r13 + 8]
test rax, rax
je 0x1400226c2
movzx r8d, byte [rax + 0x37]
test r8b, r8b
js 0x1400226a9
lea r10, [rax + 0x20]
jmp 0x1400226b1
mov r8, qword [rax + 0x28]
mov r10, qword [rax + 0x20]
mov r13, rax
test r8, r8
jns 0x140022606
jmp 0x1400236bc
lea rsi, [r13 + 8]
jmp 0x1400226e5
mov rax, qword [r15 + 0x10]
mov qword [rcx + 0x10], rax
movups xmm0, xmmword [r15]
movups xmmword [rcx], xmm0
jmp 0x140022713
mov rax, qword [r13]
mov rsi, r13
test rax, rax
jne 0x140022699
mov ecx, 0x38
call fcn.1400a5638
mov rcx, rax
add rcx, 0x20
je 0x140023793
mov rdi, rax
cmp byte [r14 + 0x2f], 0
jns 0x1400226c8
mov rdx, qword [r14 + 0x18]
mov r8, qword [r14 + 0x20]
call fcn.140061900
movups xmmword [rdi], xmm6
mov qword [rdi + 0x10], r13
mov qword [rsi], rdi
mov rax, qword [rsp + 0x130]
mov rax, qword [rax]
test rax, rax
je 0x140022738
mov qword [rsp + 0x130], rax
mov rdi, qword [rsi]
mov rcx, qword [rsp + 0x138]
mov rdx, rdi
call fcn.140082c10
inc qword [rsp + 0x140]
mov rsi, qword [rsp + 0x48]
movzx eax, byte [r14 + 0x47]
test al, al
js 0x1400236ce
movzx ecx, byte [r14 + 0x5f]
test cl, cl
js 0x1400236d7
lea rdi, [rax + rcx]
add rdi, 0x21
and rdi, 0xfffffffffffffff8
add rdi, r12
mov r14, qword [r14 + 8]
cmp r14, rsi
je 0x14002286f
lea rcx, [r14 + 0x10]
call fcn.140023870
test al, al
je 0x14002277e
lea r15, [r14 + 0x18]
mov rax, qword [rsp + 0x138]
mov rcx, rax
test rax, rax
je 0x140023408
movzx r8d, byte [rcx + 0x37]
test r8b, r8b
js 0x1400227c0
lea r9, [rcx + 0x20]
jmp 0x1400227c8
mov r8, qword [rcx + 0x28]
mov r9, qword [rcx + 0x20]
test r8, r8
js 0x1400236bf
je 0x1400227dc
test r9, r9
je 0x1400236c2
movzx edx, byte [r14 + 0x2f]
mov r10, rdx
mov r11, r15
test dl, dl
jns 0x1400227f3
mov r10, qword [r14 + 0x20]
mov r11, qword [r14 + 0x18]
test r10, r10
js 0x1400236c5
je 0x140022807
test r11, r11
je 0x1400236c8
cmp r8, r10
mov rsi, r10
cmovb rsi, r8
test rsi, rsi
je 0x140022833
xor r12d, r12d
movzx ebp, word [r9 + r12*2]
cmp word [r11 + r12*2], bp
ja 0x14002283c
jb 0x140022580
inc r12
cmp rsi, r12
jne 0x140022819
cmp r10, r8
jne 0x14002348a
test rsi, rsi
je 0x14002285e
xor r12d, r12d
movzx ebp, word [r11 + r12*2]
cmp word [r9 + r12*2], bp
ja 0x140022867
jb 0x14002257c
inc r12
cmp rsi, r12
jne 0x140022844
cmp r8, r10
jne 0x1400236a5
mov r12, rdi
jmp 0x140022750
mov rcx, qword [rsp + 0x138]
lea r12, [rdi + 0x10]
test rdi, rdi
cmove r12, rdi
movabs r13, 0xaaaaaaaaaaaaaaaa
call fcn.14000a2d0
mov rcx, r12
call fcn.1400a5d28
mov r14, rax
test r12, r12
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x80], rax
je 0x140022a53
cmp byte [rbx + 0x20], 0
je 0x1400228f6
mov rax, qword [rbx]
test rax, rax
je 0x1400237d1
mov rax, qword [rax + 0x40]
lea r15, [r14 + 0x10]
mov qword [r14 + 8], rax
lea r13, [r12 - 0x10]
mov rdi, qword [rbx + 0x10]
movaps xmm6, xmmword [0x140119af0]
lea rbp, [rsp + 0x130]
mov qword [rsp + 0x60], r15
xor eax, eax
mov qword [rsp + 0x78], rax
jmp 0x140022956
xor eax, eax
jmp 0x1400228c8
mov rdi, rsi
mov rbx, qword [rsp + 0x50]
inc qword [rsp + 0x78]
mov sil, 1
mov r13, r11
mov r15, r10
mov qword [rsp + 0x60], r10
jmp 0x14002292c
xor esi, esi
mov r13, r11
mov r15, r10
mov r12, qword [rsp + 0x70]
lea rbp, [rsp + 0x130]
cmp byte [rsp + 0x147], 0
jns 0x140022943
mov rcx, qword [rsp + 0x130]
call fcn.1400a5630
test sil, sil
mov rsi, qword [rsp + 0x48]
jne 0x140022956
jmp 0x14002343e
mov rdi, qword [rdi + 8]
cmp rdi, rsi
je 0x140022a7b
lea rcx, [rdi + 0x10]
call fcn.140023870
test al, al
je 0x140022952
lea r14, [rdi + 0x18]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x140], rax
movaps xmmword [rsp + 0x130], xmm6
mov al, byte [rdi + 0x2f]
test al, al
js 0x1400229b2
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x140], rcx
movups xmm0, xmmword [r14]
movaps xmmword [rsp + 0x130], xmm0
test al, al
js 0x1400229c7
movzx eax, al
jmp 0x1400229cb
mov rdx, qword [rdi + 0x18]
mov r8, qword [rdi + 0x20]
mov rcx, rbp
call fcn.140061900
mov al, byte [rdi + 0x2f]
jmp 0x1400229a9
mov rax, qword [rdi + 0x20]
lea rax, [rax*2 + 0x23]
and rax, 0xfffffffffffffff8
mov rbx, r13
sub rbx, rax
jb 0x1400237c5
cmp dword [rdi + 0x10], 3
sete byte [r15 + 0x18]
mov qword [r15], rax
mov r13, rax
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], 0
movzx r8d, byte [rdi + 0x2f]
test r8b, r8b
jns 0x140022a0c
mov r8, qword [rdi + 0x20]
lea rdx, [r15 + 0x1a]
mov rcx, r14
xor r9d, r9d
call fcn.1400239f0
movzx eax, byte [rdi + 0x2f]
test al, al
jns 0x140022a27
mov rax, qword [rdi + 0x20]
mov r10, r13
add r10, r15
mov word [r15 + rax*2 + 0x1a], 0
cmp rdi, rsi
mov r11, rbx
je 0x1400228fa
mov r14, rdi
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x70], r12
jmp 0x1400231e7
mov rax, qword [rbx]
test rax, rax
je 0x14002379c
mov qword [rsp + 0x98], 0
cmp qword [rbx + 0x18], 0
jne 0x140022b89
jmp 0x140023105
mov r14, qword [rsp + 0x80]
mov rax, qword [rsp + 0x78]
mov qword [r14], rax
movabs r13, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x98], r13
mov rax, qword [rbx]
test rax, rax
je 0x14002379c
mov rdi, qword [rax]
mov dword [rsp + 0x20], 4
mov rcx, rdi
xor edx, edx
mov r8, r12
mov r9d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov ebp, 0x27
test rax, rax
je 0x140023155
mov r15, rax
mov qword [rsp + 0x130], r13
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, r15
mov r8, r14
mov r9, r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1400237ab
cmp qword [rsp + 0x130], r12
jne 0x1400237ab
mov qword [rsp + 0x98], r15
lea rax, [0x140108110]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 0
lea rdi, [0x14012aa30]
lea r8, str.NtMapViewOfSection
mov rcx, rbx
mov rdx, rdi
mov r9d, 1
call fcn.1400210e0
lea rax, [0x140108180]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 1
lea r8, str.NtUnmapViewOfSection
mov rcx, rbx
mov rdx, rdi
mov r9d, 1
call fcn.1400210e0
mov rax, qword [rbx]
test rax, rax
je 0x1400237a8
mov rbp, qword [rax]
mov dword [rsp + 0x20], 1
mov r8d, 0x10000
mov rcx, rbp
xor edx, edx
mov r9d, 0x2000
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r15, rax
mov rdi, qword [rbx + 0x18]
shl rdi, 6
lea rax, [rdi + 0x60]
mov qword [rsp + 0x60], rax
cmp rax, 0x10001
jae 0x140023796
mov esi, 0xffa0
sub esi, edi
and esi, 0xffffffe0
or rsi, 1
mov rax, 0xffffffffffffffff
xor edx, edx
div rsi
mov rbx, 0xfffffffffffffffe
sub rbx, rdx
lea r12, [rsp + 0x130]
mov qword [rsp + 0x130], r13
mov edx, 8
mov rcx, r12
call fcn.1400824c0
mov rax, qword [rsp + 0x130]
cmp rax, rbx
ja 0x140022bf7
mov edx, 0x800
mov r9d, 0x1000
mov r8d, 0x800
mov rbx, qword [rsp + 0x60]
mov rcx, r9
shr r8, 1
mov r9, rdx
cmp rdx, rbx
mov rdx, r8
jae 0x140022c2f
xor edx, edx
div rsi
mov r12, rdx
neg ecx
and r12d, ecx
mov eax, r12d
and eax, 0xfffff000
add r15, rax
add rdi, 0x105f
and rdi, 0xfffffffffffff000
mov dword [rsp + 0x20], 0x40
mov rcx, rbp
mov rdx, r15
mov r8, rdi
mov r9d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
test rax, rax
mov rsi, qword [rsp + 0x50]
je 0x140023799
mov rdi, rax
lea rcx, [rsp + 0x130]
mov r8d, 0x138
mov dl, 0xaa
call fcn.1400a98e0
lea rcx, [0x14012aa30]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140022fba
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], rbp
movaps xmm6, xmmword [0x140119af0]
movups xmmword [rsp + 0x348], xmm6
movups xmmword [rsp + 0x388], xmm6
movups xmmword [rsp + 0x378], xmm6
movups xmmword [rsp + 0x368], xmm6
movups xmmword [rsp + 0x358], xmm6
mov qword [rsp + 0x338], rbx
mov dword [rsp + 0x350], 0
mov qword [rsp + 0x340], 0x20
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x128], rax
movups xmmword [rsp + 0x118], xmm6
movups xmmword [rsp + 0x108], xmm6
mov rax, qword [rsi]
test rax, rax
je 0x14002379f
and r12d, 0xfff
add rdi, r12
mov qword [rsp + 0x70], rdi
mov rax, qword [rax]
lea rcx, [0x14011b980]
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x120], rax
mov byte [rsp + 0x128], 1
mov dword [rsp + 0x12c], 0
lea rcx, [rsp + 0x268]
mov r8d, 0xd0
xor edx, edx
call fcn.1400a98e0
mov rbx, qword [rsi + 0x10]
mov rsi, qword [rsp + 0x48]
cmp rbx, rsi
movabs r10, 0xaaaaaaaaaaaaaaaa
je 0x140022fc4
lea r12, [rsp + 0xa8]
lea rdi, [rsp + 0xc0]
lea r13, [rsp + 0xd8]
lea r11, [rsp + 0xb0]
mov ebp, 0xaaaaaaaa
movabs r15, 0xaaaaaaaaaaaaaaaa
jmp 0x140022e3d
xor r14d, r14d
mov r15d, 2
mov ebp, 2
cmp byte [rsp + 0xef], 0
js 0x1400236ec
cmp byte [rsp + 0xd7], 0
js 0x140023710
cmp byte [rsp + 0xbf], 0
js 0x14002341a
test r14b, r14b
je 0x140023190
mov rbx, qword [rbx + 8]
cmp rbx, rsi
je 0x140022fc4
mov qword [rsp + 0xf0], r10
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xb0], xmm6
movaps xmmword [rsp + 0xa0], xmm6
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0xa0], rax
cmp byte [rbx + 0x2f], 0
js 0x140023450
lea rax, [rbx + 0x18]
mov rcx, qword [rax + 0x10]
mov qword [r12 + 0x10], rcx
movups xmm0, xmmword [rax]
movups xmmword [r12], xmm0
cmp byte [rbx + 0x47], 0
js 0x140023734
lea rax, [rbx + 0x30]
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x10], rcx
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
cmp byte [rbx + 0x5f], 0
js 0x140023759
lea rax, [rbx + 0x48]
mov rcx, qword [rax + 0x10]
mov qword [r13 + 0x10], rcx
movups xmm0, xmmword [rax]
movups xmmword [r13], xmm0
mov rcx, qword [rbx + 0x60]
mov qword [rsp + 0xf0], rcx
movzx eax, byte [rsp + 0xbf]
test al, al
mov r8, rax
cmovs r8, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xa8]
mov r9, r12
cmovs r9, rdx
test r8, r8
js 0x1400236b0
je 0x140022f17
test r9, r9
je 0x1400236b3
cmp r8, 9
jne 0x140022def
cmp word [r9], 0x6e
jne 0x140022def
lea r8, [rdx + 2]
test al, al
lea r9, [rsp + 0xaa]
cmovns r8, r9
cmp word [r8], 0x74
jne 0x140022def
lea r8, [rdx + 4]
test al, al
lea r9, [rsp + 0xac]
cmovns r8, r9
cmp word [r8], 0x64
jne 0x140022def
lea r8, [rdx + 6]
test al, al
lea r9, [rsp + 0xae]
cmovns r8, r9
cmp word [r8], 0x6c
jne 0x140022def
lea r8, [rdx + 8]
test al, al
cmovns r8, r11
cmp word [r8], 0x6c
jne 0x140022def
lea r8, [rdx + 0xa]
test al, al
lea r9, [rsp + 0xb2]
cmovns r8, r9
cmp word [r8], 0x2e
je 0x140023495
jmp 0x140022def
mov ebp, 7
jmp 0x140023155
lea rdi, [rsp + 0x130]
lea rdx, [rsp + 0x268]
mov r8d, 0x130
mov rcx, rdi
call fcn.1400a9230
mov qword [rdi + 0x130], 1
lea rax, [rsp + 0xa0]
movabs r13, 0xaaaaaaaaaaaaaaaa
mov qword [rax], r13
lea r8, [rsp + 0x200]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov ebp, 0x2a
test eax, eax
mov rsi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x80]
je 0x1400230f5
cmp qword [rsp + 0xa0], 0x20
jne 0x1400230f5
lea rax, [rsp + 0x100]
mov dword [rax], 0xaaaaaaaa
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x78]
mov rdx, rdi
mov r8, qword [rsp + 0x60]
mov r9d, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov rax, qword [rsi]
test rax, rax
je 0x1400237a2
cmp qword [rsp + 0x260], 1
jne 0x140023787
cmp dword [rax + 0x10], 0
mov rcx, qword [rax]
je 0x1400237d4
mov qword [rsp + 0x268], r13
lea rax, [rsp + 0x268]
mov qword [rsp + 0x20], rax
lea rdx, [0x140151ae0]
lea r8, [rsp + 0x130]
mov r9d, 0xd0
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
xor ecx, ecx
cmp qword [rsp + 0x268], 0xd0
mov edx, 0x3a
cmove edx, ecx
test eax, eax
mov ebp, 0x39
cmovne ebp, edx
test ebp, ebp
jne 0x140023155
mov rax, qword [rsi]
test rax, rax
je 0x1400237a5
cmp dword [rax + 0x10], 0
mov rcx, qword [rax]
je 0x1400237fc
lea rsi, [rsp + 0x130]
mov qword [rsi], r13
mov qword [rsp + 0x20], rsi
lea rdx, [0x140151be8]
lea r8, [rsp + 0x98]
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 ebp, 0x39
cmovne ebp, edx
test r14, r14
je 0x140023162
mov rcx, r14
call fcn.1400a5934
mov rcx, qword [rsp + 0x398]
xor rcx, rsp
call fcn.1400a77a0
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x3a0]
add rsp, 0x3b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x130], ebp
mov qword [rsp + 0x260], r15
cmp r15, 1
je 0x140022fed
cmp r15, 2
mov rsi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x80]
movabs r13, 0xaaaaaaaaaaaaaaaa
je 0x1400230f5
test r15, r15
je 0x1400231d4
call fcn.140107330
int3
mov r13, qword [r14 + 8]
mov r14, r13
cmp r13, rsi
je 0x140022902
lea r15, [r14 + 0x18]
movzx eax, byte [rsp + 0x147]
test al, al
cmovs rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x130]
cmovns rcx, rbp
test rax, rax
js 0x1400236e0
je 0x14002321e
test rcx, rcx
je 0x1400236e3
movzx r8d, byte [r14 + 0x2f]
mov rdx, r15
test r8b, r8b
jns 0x140023233
mov r8, qword [r14 + 0x20]
mov rdx, qword [r14 + 0x18]
test r8, r8
js 0x1400236e6
je 0x140023247
test rdx, rdx
je 0x1400236e9
cmp r8, rax
jne 0x1400231d7
test rax, rax
je 0x14002326c
xor r8d, r8d
movzx r9d, word [rdx + r8*2]
cmp r9w, word [rcx + r8*2]
jne 0x1400231d7
inc r8
cmp rax, r8
jne 0x140023254
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x18], 0
je 0x1400232c4
movzx eax, byte [r14 + 0x47]
test al, al
js 0x140023286
lea rcx, [r14 + 0x30]
jmp 0x14002328e
mov rax, qword [r14 + 0x38]
mov rcx, qword [r14 + 0x30]
test rax, rax
js 0x14002377e
je 0x1400232a2
test rcx, rcx
je 0x140023781
cmp rax, 1
jne 0x1400232ad
cmp byte [rcx], 0x40
je 0x1400232c4
mov rsi, r10
mov r13, rbx
mov rbx, r11
call fcn.1400d9990
mov r11, rbx
mov rbx, r13
mov r10, rsi
movzx r13d, byte [r14 + 0x47]
test r13b, r13b
jns 0x1400232d2
mov r13, qword [r14 + 0x38]
movzx ebp, byte [r14 + 0x5f]
test bpl, bpl
jns 0x1400232e0
mov rbp, qword [r14 + 0x50]
lea rsi, [rbp + 0x21]
add rsi, r13
and rsi, 0xfffffffffffffff8
mov r12, r11
sub r12, rsi
jb 0x140022917
lea rax, [r14 + 0x48]
mov qword [rsp + 0x58], rax
lea rcx, [r14 + 0x30]
mov qword [r10], rsi
mov eax, dword [r14 + 0x10]
mov dword [r10 + 8], eax
mov eax, dword [r14 + 0x14]
mov dword [r10 + 0xc], eax
mov rax, qword [r14 + 0x60]
mov qword [r10 + 0x10], rax
lea rdx, [r10 + 0x18]
mov qword [rsp + 0x88], rcx
mov r8, r13
xor r9d, r9d
mov rbx, r10
call fcn.140023980
lea rax, [rbx + r13]
add rax, 0x18
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x68], rbx
lea rdx, [rbx + r13]
add rdx, 0x19
xor r13d, r13d
mov byte [rdx - 1], r13b
mov rcx, qword [rsp + 0x58]
mov r8, rbp
xor r9d, r9d
call fcn.140023980
mov rax, qword [rsp + 0x90]
mov byte [rbp + rax + 1], r13b
mov rax, qword [rsp + 0x60]
inc qword [rax + 0x10]
add qword [rax], rsi
cmp rdi, r14
jne 0x140023393
mov rdi, qword [rdi + 8]
mov rbx, qword [rsp + 0x50]
mov rax, qword [r14]
mov r13, qword [r14 + 8]
mov qword [rax + 8], r13
mov rax, qword [r14]
mov qword [r13], rax
dec qword [rbx + 0x18]
cmp byte [r14 + 0x5f], 0
lea rbp, [rsp + 0x130]
mov rax, qword [rsp + 0x68]
js 0x140023824
cmp byte [r14 + 0x47], 0
js 0x14002383b
cmp byte [r14 + 0x2f], 0
js 0x140023688
test r14, r14
je 0x140023784
add rax, rsi
mov rcx, r14
mov rsi, rax
call fcn.1400a5630
mov r10, rsi
mov r11, r12
mov rsi, qword [rsp + 0x48]
mov r12, qword [rsp + 0x70]
jmp 0x1400231db
mov dl, byte [r14 + 0x2f]
jmp 0x14002258c
mov r8, qword [r14 + 0x20]
jmp 0x14002259a
mov rcx, qword [rsp + 0xa8]
call fcn.1400a5630
lea r11, [rsp + 0xb0]
movabs r10, 0xaaaaaaaaaaaaaaaa
jmp 0x140022e27
mov ebp, 0x26
mov r14, qword [rsp + 0x80]
jmp 0x140023155
mov rdx, qword [rbx + 0x18]
mov r8, qword [rbx + 0x20]
mov rcx, r12
mov r14, r11
call fcn.140061900
mov r11, r14
movabs r10, 0xaaaaaaaaaaaaaaaa
jmp 0x140022e98
jb 0x1400226d9
jmp 0x14002265b
xor ecx, ecx
xor r12d, r12d
jmp 0x140022882
jb 0x140022580
jmp 0x14002283c
lea r8, [rdx + 0xc]
test al, al
lea r9, [rsp + 0xb4]
cmovns r8, r9
cmp word [r8], 0x64
jne 0x140022def
lea r8, [rdx + 0xe]
test al, al
lea r9, [rsp + 0xb6]
cmovns r8, r9
cmp word [r8], 0x6c
jne 0x140022def
add rdx, 0x10
test al, al
lea rax, [rsp + 0xb8]
cmovns rdx, rax
xor r14d, r14d
cmp word [rdx], 0x6c
jne 0x140022df2
cmp dword [rsp + 0xa0], 1
jne 0x140022df2
cmp byte [rsp + 0xef], 0
mov rdx, r13
jns 0x140023511
mov rdx, qword [rsp + 0xd8]
cmp byte [rsp + 0xd7], 0
mov r9, rdi
jns 0x140023526
mov r9, qword [rsp + 0xc0]
mov r8, qword [rsp + 0x60]
sub r8, qword [rsp + 0x340]
movsxd rax, dword [rsp + 0x350]
shl rax, 6
mov r10, qword [rsp + 0x70]
add r10, rax
add r10, 0x20
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x28]
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
lea r14, [rsp + 0x100]
mov rcx, r14
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
call qword [0x14012eaa8]
test eax, eax
js 0x140023855
mov rax, qword [rsp + 0x100]
mov rax, qword [rax + 0x20]
mov rcx, r14
call qword [0x14012eaa8]
mov rcx, rax
call fcn.1400a5d28
mov rcx, r14
mov r14, rax
mov rdx, rax
call fcn.140013b10
test al, al
je 0x14002385d
lea rcx, [rsp + 0x100]
mov rdx, r14
mov r8, qword [rsp + 0x58]
call fcn.140013c60
mov dword [rsp + 0x58], eax
test r14, r14
je 0x1400235ea
mov rcx, r14
call fcn.1400a5934
mov r14d, dword [rsp + 0x58]
test r14d, r14d
movabs r10, 0xaaaaaaaaaaaaaaaa
lea r11, [rsp + 0xb0]
js 0x140023646
mov rax, qword [rsp + 0x70]
add rax, 0x20
movsxd rcx, dword [rsp + 0x350]
shl rcx, 6
add rcx, rax
movsxd rax, dword [rsp + 0xa4]
mov qword [rsp + rax*8 + 0x268], rcx
inc dword [rsp + 0x350]
add qword [rsp + 0x340], 0x40
mov r14b, 1
jmp 0x140022dfd
call fcn.140020b40
mov rax, qword [rax + 0xd8]
mov ecx, r14d
call qword [0x14012eaa8]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea r11, [rsp + 0xb0]
movabs r10, 0xaaaaaaaaaaaaaaaa
mov ebp, 0x28
xor r14d, r14d
mov r15d, 2
jmp 0x140022dfd
mov rcx, qword [r15]
call fcn.1400a5630
mov rax, qword [rsp + 0x68]
jmp 0x1400233dc
jb 0x140022690
jmp 0x140022750
jb 0x14002257c
jmp 0x140022867
int3
int3
int3
int3
int3
int3
int3
int3
int3
int3
mov rax, qword [r14 + 0x38]
jmp 0x140022762
mov rcx, qword [r14 + 0x50]
jmp 0x14002276f
int3
int3
int3
int3
mov rcx, qword [rsp + 0xd8]
call fcn.1400a5630
lea r11, [rsp + 0xb0]
movabs r10, 0xaaaaaaaaaaaaaaaa
jmp 0x140022e0b
mov rcx, qword [rsp + 0xc0]
call fcn.1400a5630
lea r11, [rsp + 0xb0]
movabs r10, 0xaaaaaaaaaaaaaaaa
jmp 0x140022e19
mov rdx, qword [rbx + 0x30]
mov r8, qword [rbx + 0x38]
mov rcx, rdi
mov r14, r11
call fcn.1400634c0
mov r11, r14
movabs r10, 0xaaaaaaaaaaaaaaaa
jmp 0x140022eb4
mov rdx, qword [rbx + 0x48]
mov r8, qword [rbx + 0x50]
mov rcx, r13
mov r14, r11
call fcn.1400634c0
mov r11, r14
movabs r10, 0xaaaaaaaaaaaaaaaa
jmp 0x140022ed2
int3
int3
int3
call fcn.140107330
xor ebp, ebp
jmp 0x140023162
int3
int3
int3
int3
int3
int3
int3
int3
mov rcx, rdi
mov rdx, r15
xor r8d, r8d
mov r9d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
jmp 0x140023155
xor esi, esi
mov rbx, qword [rsp + 0x50]
jmp 0x14002292c
int3
test rcx, rcx
jne 0x1400230a5
cmp dword [rax + 0x14], 0
jne 0x1400230a5
mov ebp, 8
cmp qword [rax + 8], 0
jne 0x1400230a5
jmp 0x1400230f5
test rcx, rcx
jne 0x140023112
cmp dword [rax + 0x14], 0
jne 0x140023112
mov ebp, 8
cmp qword [rax + 8], 0
jne 0x140023112
jmp 0x140023155
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
call fcn.1400a5630
mov rax, qword [rsp + 0x68]
jmp 0x1400233c6
mov rax, qword [rsp + 0x88]
mov rcx, qword [rax]
call fcn.1400a5630
mov rax, qword [rsp + 0x68]
jmp 0x1400233d1
mov r14d, eax
jmp 0x140023646
mov dword [rsp + 0x58], 0xc0000035
jmp 0x1400235dd