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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rax - 0x38]
sub rsp, 0x120
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov rax, qword [0x180055240]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor r15d, r15d
cmp byte [0x180055438], r15b
je 0x18003d78e
mov rax, qword [0x1800571c8]
movss xmm6, dword [rax + 0x128]
movss xmm7, dword [rax + 0x12c]
mov rax, qword [rax + 0x1de8]
lea r8, str.Foreground
lea edx, [r15 + 1]
mov rcx, qword [rax]
call fcn.18000bfb0
mov r10, rax
movaps xmm0, xmmword [0x18004b320]
movups xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.18000a0d0
movaps xmm0, xmm6
addss xmm0, dword [0x18004b220]
movss dword [rsp + 0x40], xmm0
movaps xmm0, xmm7
addss xmm0, dword [0x18004b220]
movss dword [rsp + 0x44], xmm0
movss dword [rsp + 0x48], xmm6
movaps xmm1, xmm7
addss xmm1, dword [0x18004b228]
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x54], xmm7
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x50]
mov rcx, r10
call fcn.1800266f0
mov rax, qword [0x1800571c8]
or dword [rax + 0x1cf0], 2
mov dword [rax + 0x1d10], 0x44160000
mov dword [rax + 0x1d14], 0x44480000
mov dword [rax + 0x1cf8], 1
xor r8d, r8d
xor edx, edx
lea rcx, [0x18004acc8]
call fcn.180012000
lea rcx, str.__HOME_
call fcn.18002f0b0
call fcn.18003bd80
mov rax, qword [0x1800572c0]
test rax, rax
je 0x18003d782
mov rbx, qword [rax + 0x298]
test rbx, rbx
je 0x18003c663
mov rbx, qword [rbx + 0x388]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rax
lea rcx, [rsp + 0x70]
call fcn.18003dce0
nop
mov r9, rbx
cmp word [rbx], r15w
je 0x18003c5cd
add r9, 2
cmp word [r9], 0
jne 0x18003c5c2
mov r8, rbx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.18003e020
nop
lea rcx, [rsp + 0x70]
call fcn.18003dbf0
nop
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
lea rcx, str.:__s
call fcn.18002f0b0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x18003c649
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18003c644
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003c644
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800428f8
movdqa xmm0, xmmword [0x18004b2d0]
movdqu xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x50], 0
mov rax, qword [0x1800572c0]
test rax, rax
je 0x18003d782
cmp qword [rax + 0x340], 0
je 0x18003d782
mov rax, qword [0x180057298]
test rax, rax
je 0x18003d782
mov rdi, qword [rax + 0x628]
lea r12, [0x18004aafc]
test rdi, rdi
je 0x18003ca08
mov rdi, qword [rdi + 0x108]
test rdi, rdi
je 0x18003ca08
mov dword [rsp + 0x40], 0x64
mov dword [rsp + 0x48], 1
lea r8, [rdi + 0x290]
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
mov edx, 4
lea rcx, [0x18004ad14]
call fcn.180032430
mov dword [rsp + 0x40], 0x64
mov dword [rsp + 0x48], 1
lea r8, [rdi + 0x2a8]
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
mov edx, 4
lea rcx, [0x18004ad1c]
call fcn.180032430
mov dword [rsp + 0x40], 0x64
mov dword [rsp + 0x48], 1
lea r8, [rdi + 0x364]
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
mov edx, 4
lea rcx, [0x18004ad28]
call fcn.180032430
mov dword [rsp + 0x40], 0x64
mov dword [rsp + 0x48], 1
lea r8, [rdi + 0x3e4]
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
mov edx, 4
lea rcx, [0x18004ad38]
call fcn.180032430
mov qword [rsp + 0x50], 0
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, str._1
call fcn.18002fa90
test al, al
je 0x18003c7e4
mov edx, 1
mov rcx, rdi
call qword [0x180057240]
mov rcx, qword [0x1800571c8]
mov rdx, qword [rcx + 0x1c08]
cmp byte [rcx + 0x1e47], 0
je 0x18003c836
cmp byte [rcx + 0x1e46], 0
jne 0x18003c836
test byte [rcx + 0x1cc4], 4
jne 0x18003c8da
mov eax, dword [rcx + 0x1df8]
cmp eax, dword [rcx + 0x1cc0]
jne 0x18003c827
test eax, eax
je 0x18003c827
mov al, 1
jmp 0x18003c829
xor al, al
test al, al
je 0x18003c8da
jmp 0x18003c8ce
mov eax, dword [rcx + 0x1cc8]
test al, 1
je 0x18003c8da
cmp qword [rcx + 0x1c10], rdx
je 0x18003c855
test al, al
jns 0x18003c8da
mov eax, dword [rcx + 0x1c50]
test eax, eax
je 0x18003c875
cmp eax, dword [rcx + 0x1cc0]
je 0x18003c875
cmp byte [rcx + 0x1c5d], 0
jne 0x18003c875
cmp eax, dword [rdx + 0x54]
jne 0x18003c8da
mov rax, qword [rcx + 0x1df0]
test rax, rax
je 0x18003c8b1
mov rax, qword [rax + 0x358]
test rax, rax
je 0x18003c8b1
cmp byte [rax + 0x8f], 0
je 0x18003c8b1
cmp rax, qword [rdx + 0x358]
je 0x18003c8b1
mov r8d, dword [rax + 0xc]
bt r8d, 0x1b
jb 0x18003c8da
bt r8d, 0x1a
jb 0x18003c8da
test byte [rcx + 0x1cc4], 4
jne 0x18003c8da
mov eax, dword [rdx + 0x54]
cmp dword [rcx + 0x1cc0], eax
jne 0x18003c8ce
cmp byte [rdx + 0x90], 0
jne 0x18003c8da
lea rcx, [0x18004ad58]
call fcn.1800158f0
mov qword [rsp + 0x50], 0
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, str.__10
call fcn.18002fa90
test al, al
je 0x18003c912
mov rsi, qword [0x180057268]
mov ebx, 0xa
mov rcx, rdi
call rsi
sub rbx, 1
jne 0x18003c907
mov rcx, qword [0x1800571c8]
mov rdx, qword [rcx + 0x1c08]
cmp byte [rcx + 0x1e47], 0
je 0x18003c964
cmp byte [rcx + 0x1e46], 0
jne 0x18003c964
test byte [rcx + 0x1cc4], 4
jne 0x18003ca08
mov eax, dword [rcx + 0x1df8]
cmp eax, dword [rcx + 0x1cc0]
jne 0x18003c955
test eax, eax
je 0x18003c955
mov al, 1
jmp 0x18003c957
xor al, al
test al, al
je 0x18003ca08
jmp 0x18003c9fc
mov eax, dword [rcx + 0x1cc8]
test al, 1
je 0x18003ca08
cmp qword [rcx + 0x1c10], rdx
je 0x18003c983
test al, al
jns 0x18003ca08
mov eax, dword [rcx + 0x1c50]
test eax, eax
je 0x18003c9a3
cmp eax, dword [rcx + 0x1cc0]
je 0x18003c9a3
cmp byte [rcx + 0x1c5d], 0
jne 0x18003c9a3
cmp eax, dword [rdx + 0x54]
jne 0x18003ca08
mov rax, qword [rcx + 0x1df0]
test rax, rax
je 0x18003c9df
mov rax, qword [rax + 0x358]
test rax, rax
je 0x18003c9df
cmp byte [rax + 0x8f], 0
je 0x18003c9df
cmp rax, qword [rdx + 0x358]
je 0x18003c9df
mov r8d, dword [rax + 0xc]
bt r8d, 0x1b
jb 0x18003ca08
bt r8d, 0x1a
jb 0x18003ca08
test byte [rcx + 0x1cc4], 4
jne 0x18003ca08
mov eax, dword [rdx + 0x54]
cmp dword [rcx + 0x1cc0], eax
jne 0x18003c9fc
cmp byte [rdx + 0x90], 0
jne 0x18003ca08
lea rcx, [0x18004ad98]
call fcn.1800158f0
mov qword [rsp + 0x50], 0
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [0x18004adc8]
call fcn.18002fa90
test al, al
je 0x18003ca4a
mov rax, qword [0x1800572c0]
test rax, rax
je 0x18003ca4a
mov rax, qword [rax + 0x298]
mov rcx, qword [rax + 0x550]
add dword [rcx + 0x140], 0x32
mov qword [rsp + 0x50], 0
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, str._50
call fcn.18002fa90
test al, al
je 0x18003ca8c
mov rax, qword [0x1800572c0]
test rax, rax
je 0x18003ca8c
mov rax, qword [rax + 0x298]
mov rcx, qword [rax + 0x550]
add dword [rcx + 0x144], 0x32
lea rdx, [0x1800572b5]
lea rcx, [0x18004adf0]
call fcn.1800307b0
lea rdx, [0x1800572b1]
lea rcx, [0x18004ae08]
call fcn.1800307b0
lea rdx, [0x1800572bb]
lea rcx, [0x18004ae20]
call fcn.1800307b0
lea rdx, [0x1800572b2]
lea rcx, [0x18004ae38]
call fcn.1800307b0
test al, al
je 0x18003cc2a
cmp qword [0x180057260], 0
je 0x18003cc2a
mov ecx, 1
cmp byte [0x1800572b2], 0
je 0x18003cb94
call fcn.180042900
mov rsi, rax
lea r14, [rax + 1]
mov byte [rax], 0x57
mov rdi, qword [0x180057260]
mov eax, r14d
sub eax, esi
movsxd rbx, eax
lea r9, [rsp + 0x48]
mov r8d, 0x40
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea r9, [rsp + 0x48]
mov r8d, dword [rsp + 0x48]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test rsi, rsi
je 0x18003cc2a
sub r14, rsi
cmp r14, 0x1000
jb 0x18003cc1f
mov r14d, 0x28
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
jbe 0x18003cc1c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180042900
mov rsi, rax
lea r14, [rax + 1]
mov byte [rax], 0x5b
mov rdi, qword [0x180057260]
mov eax, r14d
sub eax, esi
movsxd rbx, eax
lea r9, [rsp + 0x48]
mov r8d, 0x40
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea r9, [rsp + 0x48]
mov r8d, dword [rsp + 0x48]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test rsi, rsi
je 0x18003cc2a
sub r14, rsi
cmp r14, 0x1000
jb 0x18003cc1f
mov r14d, 0x28
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
jbe 0x18003cc1c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rsi, rcx
mov rdx, r14
mov rcx, rsi
call fcn.1800428f8
lea rdx, [0x1800572b7]
lea rcx, [0x18004ae48]
call fcn.1800307b0
lea rdx, [0x1800572b6]
lea rcx, [0x18004ae58]
call fcn.1800307b0
mov dword [rsp + 0x40], 0x41200000
mov dword [rsp + 0x48], 0
lea rbx, str._.3f
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, [0x180055460]
mov edx, 8
lea rcx, [0x18004ae68]
call fcn.180031810
test al, al
je 0x18003ccc8
mov rax, qword [0x180057298]
test rax, rax
je 0x18003ccc8
movss xmm0, dword [0x180055460]
cvtps2pd xmm0, xmm0
unpcklpd xmm0, xmm0
mov rax, qword [rax + 0x198]
movups xmmword [rax + 0x158], xmm0
movsd qword [rax + 0x168], xmm0
mov dword [rsp + 0x40], 0x44fa0000
mov dword [rsp + 0x48], 0x43fa0000
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, [0x18005546c]
mov edx, 8
lea rcx, [0x18004ae80]
call fcn.180031810
test al, al
je 0x18003cd32
mov rax, qword [0x180057298]
test rax, rax
je 0x18003cd32
mov rax, qword [rax + 0xa28]
mov rcx, qword [rax + 0x120]
movss xmm0, dword [0x18005546c]
movss dword [rcx + 0xfb0], xmm0
mov dword [rsp + 0x40], 0x44fa0000
mov dword [rsp + 0x48], 0x43af0000
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, [0x180055470]
mov edx, 8
lea rcx, [0x18004ae90]
call fcn.180031810
test al, al
je 0x18003cd9c
mov rax, qword [0x180057298]
test rax, rax
je 0x18003cd9c
mov rax, qword [rax + 0xa28]
mov rcx, qword [rax + 0x120]
movss xmm0, dword [0x180055470]
movss dword [rcx + 0xfb0], xmm0
mov dword [rsp + 0x40], 0x447a0000
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, [0x180055464]
mov edx, 8
lea rcx, [0x18004aea0]
call fcn.180031810
test al, al
je 0x18003ce06
mov rax, qword [0x180057298]
test rax, rax
je 0x18003ce06
mov rax, qword [rax + 0xa28]
mov rcx, qword [rax + 0x120]
movss xmm0, dword [0x180055464]
movss dword [rcx + 0xfe0], xmm0
lea rdx, [0x1800572be]
lea rcx, [0x18004aeb0]
call fcn.1800307b0
test al, al
je 0x18003ce39
mov rcx, qword [0x180055478]
cmp byte [0x1800572be], 0
je 0x18003ce34
call fcn.1800081c0
jmp 0x18003ce39
call fcn.1800082a0
cmp byte [0x1800572be], 0
je 0x18003ce7e
mov dword [rsp + 0x40], 0x64
mov dword [rsp + 0x48], 1
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, [0x180055270]
mov edx, 4
lea rcx, [0x18004aec8]
call fcn.180031810
lea rdx, [0x1800572a1]
lea rcx, [0x18004aee0]
call fcn.1800307b0
cmp byte [0x1800572a1], 0
je 0x18003ced6
mov dword [rsp + 0x40], 0x3e8
mov dword [rsp + 0x48], 1
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, [0x180055454]
mov edx, 4
lea rcx, [0x18004af00]
call fcn.180031810
lea rdx, [0x1800572bd]
lea rcx, [0x18004af10]
call fcn.1800307b0
test al, al
je 0x18003cf09
mov rcx, qword [0x1800554c0]
cmp byte [0x1800572bd], 0
je 0x18003cf04
call fcn.1800081c0
jmp 0x18003cf09
call fcn.1800082a0
lea rdx, [0x1800572b0]
lea rcx, [0x18004af20]
call fcn.1800307b0
test al, al
je 0x18003cf3c
mov rcx, qword [0x1800554f0]
cmp byte [0x1800572b0], 0
je 0x18003cf37
call fcn.1800081c0
jmp 0x18003cf3c
call fcn.1800082a0
lea rdx, [0x1800572b3]
lea rcx, str._
call fcn.1800307b0
test al, al
je 0x18003cf6f
mov rcx, qword [0x180055488]
cmp byte [0x1800572b3], 0
je 0x18003cf6a
call fcn.1800081c0
jmp 0x18003cf6f
call fcn.1800082a0
lea rdx, [0x1800572b9]
lea rcx, str.__
call fcn.1800307b0
test al, al
je 0x18003cfa2
mov rcx, qword [0x1800554b0]
cmp byte [0x1800572b9], 0
je 0x18003cf9d
call fcn.1800081c0
jmp 0x18003cfa2
call fcn.1800082a0
lea rdx, [0x1800572b8]
lea rcx, [0x18004af68]
call fcn.1800307b0
test al, al
je 0x18003cfd5
mov rcx, qword [0x1800554e0]
cmp byte [0x1800572b8], 0
je 0x18003cfd0
call fcn.1800081c0
jmp 0x18003cfd5
call fcn.1800082a0
cmp byte [0x1800572b8], 0
je 0x18003d01a
mov dword [rsp + 0x40], 0x41a00000
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, [0x180055278]
mov edx, 8
lea rcx, [0x18004af68]
call fcn.180031810
mov dword [rsp + 0x40], 0x42480000
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, [0x180055468]
mov edx, 8
lea rcx, [0x18004af78]
call fcn.180031810
test al, al
je 0x18003d06e
movss xmm0, dword [0x180055468]
mov rax, qword [0x180057298]
movss dword [rax + 0x64], xmm0
lea rdx, [0x1800572a0]
lea rcx, [0x18004af88]
call fcn.1800307b0
cmp byte [0x1800572a0], 0
je 0x18003d0c3
mov dword [rsp + 0x40], 0x186a0
mov dword [rsp + 0x48], r15d
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
lea r8, [0x180055450]
mov edx, 4
lea rcx, [0x18004afa0]
call fcn.180031810
mov dword [rsp + 0x30], 0x20000
lea rax, str._.6f
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
xor r9d, r9d
lea r8, [0x180055458]
lea edx, [r9 + 9]
lea rcx, [0x18004afb8]
call fcn.180032430
test al, al
je 0x18003d1c9
movsd xmm6, qword [0x180055458]
cmp byte [0x1800571c1], 0
je 0x18003d1c1
call qword [0x1800571e8]
sub eax, dword [0x180057200]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mulsd xmm1, qword [0x180055280]
mov eax, dword [0x1800571d0]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov dword [0x1800571d0], eax
call qword [0x1800571e8]
mov dword [0x180057200], eax
call fcn.18003e8a0
mov qword [0x1800571f8], rax
call qword [0x1800571d8]
mov qword [0x1800571f0], rax
lea rcx, [rsp + 0x50]
call qword [0x1800571e0]
mov rax, qword [rsp + 0x50]
sub rax, qword [0x180057210]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
mulsd xmm1, qword [0x180055280]
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [0x180057208]
addsd xmm1, xmm0
cvttsd2si rax, xmm1
mov qword [0x180057208], rax
lea rcx, [0x180057210]
call qword [0x1800571e0]
movsd qword [0x180055280], xmm6
lea rdx, [0x1800572bf]
lea rcx, [0x18004afc8]
call fcn.1800307b0
test al, al
je 0x18003d1fc
mov rcx, qword [0x1800554d0]
cmp byte [0x1800572bf], 0
je 0x18003d1f7
call fcn.1800081c0
jmp 0x18003d1fc
call fcn.1800082a0
lea rdx, [0x1800572ba]
lea rcx, [0x18004afe0]
call fcn.1800307b0
test al, al
je 0x18003d379
cmp qword [0x180057278], 0
je 0x18003d379
mov ecx, 2
cmp byte [0x1800572ba], 0
je 0x18003d2d7
mov word [rsp + 0x48], 0x9066
call fcn.180042900
mov rsi, rax
lea r14, [rax + 2]
movzx eax, word [rsp + 0x48]
mov word [rsi], ax
mov rdi, qword [0x180057278]
mov eax, r14d
sub eax, esi
movsxd rbx, eax
lea r9, [rsp + 0x40]
mov r8d, 0x40
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test rsi, rsi
je 0x18003d379
sub r14, rsi
cmp r14, 0x1000
jb 0x18003d36e
mov r14d, 0x29
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
jbe 0x18003d36b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov word [rsp + 0x48], 0x573
call fcn.180042900
mov rsi, rax
lea r14, [rax + 2]
movzx eax, word [rsp + 0x48]
mov word [rsi], ax
mov rdi, qword [0x180057278]
mov eax, r14d
sub eax, esi
movsxd rbx, eax
lea r9, [rsp + 0x40]
mov r8d, 0x40
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test rsi, rsi
je 0x18003d379
sub r14, rsi
cmp r14, 0x1000
jb 0x18003d36e
mov r14d, 0x29
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
jbe 0x18003d36b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rsi, rcx
mov rdx, r14
mov rcx, rsi
call fcn.1800428f8
lea rdx, [0x1800572bc]
lea rcx, [0x18004aff8]
call fcn.1800307b0
test al, al
je 0x18003d4de
cmp qword [0x180057280], 0
je 0x18003d4de
mov ecx, 1
cmp byte [0x1800572bc], 0
je 0x18003d448
call fcn.180042900
mov rsi, rax
lea r14, [rax + 1]
mov byte [rax], 0x10
mov rdi, qword [0x180057280]
mov eax, r14d
sub eax, esi
movsxd rbx, eax
lea r9, [rsp + 0x40]
mov r8d, 0x40
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test rsi, rsi
je 0x18003d4de
sub r14, rsi
cmp r14, 0x1000
jb 0x18003d4d3
mov r14d, 0x28
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
jbe 0x18003d4d0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180042900
mov rsi, rax
lea r14, [rax + 1]
mov byte [rax], 0x5d
mov rdi, qword [0x180057280]
mov eax, r14d
sub eax, esi
movsxd rbx, eax
lea r9, [rsp + 0x40]
mov r8d, 0x40
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test rsi, rsi
je 0x18003d4de
sub r14, rsi
cmp r14, 0x1000
jb 0x18003d4d3
mov r14d, 0x28
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
jbe 0x18003d4d0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rsi, rcx
mov rdx, r14
mov rcx, rsi
call fcn.1800428f8
lea rdx, [0x1800572b4]
lea rcx, str.4
call fcn.1800307b0
test al, al
je 0x18003d65b
cmp qword [0x180057290], 0
je 0x18003d65b
mov ecx, 2
cmp byte [0x1800572b4], 0
je 0x18003d5b9
mov word [rsp + 0x48], 0x1f
call fcn.180042900
mov rsi, rax
lea r14, [rax + 2]
movzx eax, word [rsp + 0x48]
mov word [rsi], ax
mov rdi, qword [0x180057290]
mov eax, r14d
sub eax, esi
movsxd rbx, eax
lea r9, [rsp + 0x40]
mov r8d, 0x40
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test rsi, rsi
je 0x18003d65b
sub r14, rsi
cmp r14, 0x1000
jb 0x18003d650
mov r14d, 0x29
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
jbe 0x18003d64d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov word [rsp + 0x48], 0xd04c
call fcn.180042900
mov rsi, rax
lea r14, [rax + 2]
movzx eax, word [rsp + 0x48]
mov word [rsi], ax
mov rdi, qword [0x180057290]
mov eax, r14d
sub eax, esi
movsxd rbx, eax
lea r9, [rsp + 0x40]
mov r8d, 0x40
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test rsi, rsi
je 0x18003d65b
sub r14, rsi
cmp r14, 0x1000
jb 0x18003d650
mov r14d, 0x29
mov rcx, qword [rsi - 8]
sub rsi, rcx
lea rax, [rsi - 8]
cmp rax, 0x1f
jbe 0x18003d64d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rsi, rcx
mov rdx, r14
mov rcx, rsi
call fcn.1800428f8
mov qword [rsp + 0x50], 0
xor r8d, r8d
lea rdx, [rsp + 0x50]
lea rcx, [0x18004b028]
call fcn.18002fa90
test al, al
je 0x18003d683
mov byte [0x180055264], 0
mov rcx, qword [0x1800571c8]
mov rdx, qword [rcx + 0x1c08]
cmp byte [rcx + 0x1e47], 0
je 0x18003d6d5
cmp byte [rcx + 0x1e46], 0
jne 0x18003d6d5
test byte [rcx + 0x1cc4], 4
jne 0x18003d779
mov eax, dword [rcx + 0x1df8]
cmp eax, dword [rcx + 0x1cc0]
jne 0x18003d6c6
test eax, eax
je 0x18003d6c6
mov al, 1
jmp 0x18003d6c8
xor al, al
test al, al
je 0x18003d779
jmp 0x18003d76d
mov eax, dword [rcx + 0x1cc8]
test al, 1
je 0x18003d779
cmp qword [rcx + 0x1c10], rdx
je 0x18003d6f4
test al, al
jns 0x18003d779
mov eax, dword [rcx + 0x1c50]
test eax, eax
je 0x18003d714
cmp eax, dword [rcx + 0x1cc0]
je 0x18003d714
cmp byte [rcx + 0x1c5d], 0
jne 0x18003d714
cmp eax, dword [rdx + 0x54]
jne 0x18003d779
mov rax, qword [rcx + 0x1df0]
test rax, rax
je 0x18003d750
mov rax, qword [rax + 0x358]
test rax, rax
je 0x18003d750
cmp byte [rax + 0x8f], 0
je 0x18003d750
cmp rax, qword [rdx + 0x358]
je 0x18003d750
mov r8d, dword [rax + 0xc]
bt r8d, 0x1b
jb 0x18003d779
bt r8d, 0x1a
jb 0x18003d779
test byte [rcx + 0x1cc4], 4
jne 0x18003d779
mov eax, dword [rdx + 0x54]
cmp dword [rcx + 0x1cc0], eax
jne 0x18003d76d
cmp byte [rdx + 0x90], 0
jne 0x18003d779
lea rcx, str._END_
call fcn.1800158f0
lea rcx, str.BF_tQQ:667672897
jmp 0x18003d789
lea rcx, str..
call fcn.18002f0b0
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180042550
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop rbp
ret