Function at 0x14002c1c0
Capabilities:
Accept command line arguments
Create process on windows
Create thread
Encode data using xor
Enumerate gui resources
Execute command
Hide graphical window
Terminate process

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 r13
push r14
push r15
sub rsp, 0x540
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x14012c040]
xor rax, rsp
mov qword [rsp + 0x520], rax
xor esi, esi
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov edx, 0xffffffbf
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetConsoleMode]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x4a0], xmm0
movups xmmword [rsp + 0x4b0], xmm0
movups xmmword [rsp + 0x4c0], xmm0
movups xmmword [rsp + 0x4d0], xmm0
movups xmmword [rsp + 0x4e0], xmm0
movups xmmword [rsp + 0x4f0], xmm0
movups xmmword [rsp + 0x500], xmm0
mov qword [rsp + 0x510], rax
lea rcx, [rsp + 0x4a0]
call fcn.14002dd00
nop
lea rcx, [rsp + 0x400]
call fcn.1400290c0
nop
mov r8, rax
cmp qword [rax + 0x18], 7
jbe 0x14002c282
mov r8, qword [rax]
mov rax, qword [rax + 0x10]
lea r9, [r8 + rax*2]
lea rdx, [rsp + 0x3b0]
lea rcx, [rsp + 0x4a0]
call fcn.14002dfc0
mov rdx, qword [0x14012c390]
cmp rdx, 0xf
jbe 0x14002c2e5
mov rcx, qword [0x14012c378]
inc rdx
cmp rdx, 0x1000
jb 0x14002c2db
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14002c367
mov rcx, r8
nop dword [rax + rax]
call fcn.14008927c
movups xmm0, xmmword [rsp + 0x3b0]
movups xmmword [0x14012c378], xmm0
movups xmm1, xmmword [rsp + 0x3c0]
movups xmmword [0x14012c388], xmm1
mov qword [rsp + 0x3c0], rsi
mov qword [rsp + 0x3c8], 0xf
mov byte [rsp + 0x3b0], 0
lea rcx, [rsp + 0x3b0]
call fcn.140004140
nop
lea rcx, [rsp + 0x400]
call fcn.1400040c0
mov edx, 5
mov rcx, qword [0x14012dd90]
call qword [sym.imp.USER32.dll_ShowWindow]
call fcn.14002c080
test al, al
jne 0x14002c36e
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.1400293e0
call fcn.14002b0c0
mov edx, 5
mov rcx, qword [0x14012dd90]
call qword [sym.imp.USER32.dll_ShowWindow]
xorps xmm0, xmm0
movups xmmword [rsp + 0x3b0], xmm0
mov qword [rsp + 0x3c0], rsi
mov qword [rsp + 0x3c8], rsi
mov r8d, 7
lea rdx, str.cs2.exe
lea rcx, [rsp + 0x3b0]
call fcn.1400239c0
lea rcx, [rsp + 0x3b0]
call fcn.14002aa00
test eax, eax
jne 0x14002c406
movdqa xmm0, xmmword [0x140115db0]
movdqu xmmword [rsp + 0x3b0], xmm0
mov word [rsp + 0x3c0], 0xa2e
mov byte [rsp + 0x3c2], al
lea rdx, [rsp + 0x3b1]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.1400045e0
xorps xmm0, xmm0
movups xmmword [rsp + 0x3b0], xmm0
mov qword [rsp + 0x3c0], rsi
mov qword [rsp + 0x3c8], rsi
mov r8d, 7
lea rdx, str.cs2.exe
lea rcx, [rsp + 0x3b0]
call fcn.1400239c0
lea rcx, [rsp + 0x3b0]
call fcn.14002aa00
mov ebx, eax
test eax, eax
jne 0x14002c4a4
nop
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xorps xmm0, xmm0
movups xmmword [rsp + 0x3b0], xmm0
mov qword [rsp + 0x3c0], rsi
mov qword [rsp + 0x3c8], rsi
mov r8d, 7
lea rdx, str.cs2.exe
lea rcx, [rsp + 0x3b0]
call fcn.1400239c0
lea rcx, [rsp + 0x3b0]
call fcn.14002aa00
mov ebx, eax
test eax, eax
je 0x14002c450
mov qword [rsp + 0x3a0], rsi
mov dword [rsp + 0x3a8], ebx
lea rdx, [rsp + 0x3a0]
lea rcx, [0x1400287a0]
call qword [sym.imp.USER32.dll_EnumWindows]
test eax, eax
jne 0x14002c4e5
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xffffffff
jne 0x14002c4e5
mov rax, qword ds:[rsp + 0x3a0]
test rax, rax
jne 0x14002c4e8
mov rax, rsi
mov qword [0x14012d900], rax
call fcn.14002abc0
lea rcx, str.win32u.dll
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
je 0x14002c52d
lea rdx, str.NtUserGetPointerProprietaryId
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x14012d898], rax
test rax, rax
je 0x14002c52d
mov dword [0x14012d8a0], ebx
mov dword [rsp + 0x3e0], 0x736c6333
mov byte [rsp + 0x3e4], 0
lea rcx, [rsp + 0x3e1]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov edi, esi
inc edi
cmp edi, 0x1e
jg 0x14002d650
mov qword [rsp + 0x408], rsi
mov qword [rsp + 0x410], rsi
mov qword [rsp + 0x418], rsi
mov qword [rsp + 0x428], rsi
mov qword [rsp + 0x430], rsi
mov dword [rsp + 0x420], 0x80000002
mov eax, dword [0x14012d8a0]
mov dword [rsp + 0x400], eax
lea rcx, [rsp + 0x400]
call qword [0x14012d898]
mov rax, qword ds:[rsp + 0x428]
mov qword [0x14012d8a8], rax
mov qword [0x14012d808], rax
call fcn.140028640
mov qword [0x14012d800], rax
mov rcx, qword [0x14012d808]
lea rax, [rcx + 0x195c460]
mov qword [0x14012d810], rax
lea rax, [rcx + 0x19be600]
mov qword [0x14012d818], rax
lea rax, [rcx + 0x19ac728]
mov qword [0x14012d830], rax
lea rax, [rcx + 0x17c9468]
mov qword [0x14012d838], rax
lea rax, [rcx + 0x17bd158]
mov qword [0x14012d848], rax
lea rax, [rcx + 0x19c3668]
mov qword [0x14012d850], rax
test rcx, rcx
setne bl
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
nop dword [rax + rax]
test bl, bl
je 0x14002c550
cmp edi, 1
jle 0x14002c658
mov ecx, 0x3a98
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x14012dd90]
nop
call qword [sym.imp.USER32.dll_SetForegroundWindow]
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
mov edx, 6
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov ebx, esi
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x3d0]
mov edx, 8
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
nop dword [rax]
test eax, eax
je 0x14002c7c8
lea rax, [rsp + 0x3e0]
mov qword [rsp + 0x20], rax
mov r9d, 4
lea r8, [rsp + 0x3f0]
lea edx, [r9 + 0x16]
mov rcx, qword [rsp + 0x3d0]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x14002c6e2
mov ebx, 1
jmp 0x14002c6e8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rsp + 0x3d0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x14002c7ce
cmp dword [rsp + 0x3f0], 0
jne 0x14002c7ce
lea rcx, [rsp + 0x3a0]
call fcn.14007ff20
nop dword [rax]
test eax, eax
jne 0x14002c7ce
lea rcx, [rsp + 0x400]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov r8, rax
lea rax, [rsp + 0x3b0]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x400]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
xor edx, edx
mov rcx, qword [rsp + 0x3a0]
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
test eax, eax
je 0x14002c7af
mov rcx, qword [rsp + 0x3b0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x3b8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword ds:[rsp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14002c7ce
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor edx, edx
mov rcx, qword [0x14012dd90]
call qword [sym.imp.USER32.dll_ShowWindow]
mov qword [rsp + 0x408], rsi
mov qword [rsp + 0x410], rsi
mov qword [rsp + 0x418], rsi
mov qword [rsp + 0x428], rsi
mov qword [rsp + 0x430], rsi
mov dword [rsp + 0x420], 0x80000003
mov eax, dword [0x14012d8a0]
mov dword [rsp + 0x400], eax
lea rcx, [rsp + 0x400]
call qword [0x14012d898]
mov rdx, qword [rsp + 0x430]
mov qword [0x14012d8b0], rdx
add rdx, 0x5207e4
lea r8, [rsp + 0x3a0]
call fcn.1400041b0
cmp qword [rsp + 0x3a0], 0x36bc
sete byte [0x14012d991]
mov ecx, 0x38
call fcn.14008954c
mov rdx, rax
mov qword [0x14012d920], rax
mov rax, qword [0x14012e410]
cmp qword [rax + 0x18], 0xf
jbe 0x14002c886
mov rax, qword [rax]
mov qword [rdx], rax
mov rcx, qword [0x14012e410]
add rcx, 0x20
cmp qword [rcx + 0x18], 0xf
jbe 0x14002c89e
mov rcx, qword [rcx]
mov qword [rdx + 8], rcx
mov rax, qword [0x14012e410]
add rax, 0x40
cmp qword [rax + 0x18], 0xf
jbe 0x14002c8b7
mov rax, qword [rax]
mov qword [rdx + 0x10], rax
mov rax, qword [0x14012e410]
add rax, 0x60
cmp qword [rax + 0x18], 0xf
jbe 0x14002c8d0
mov rax, qword [rax]
mov qword [rdx + 0x18], rax
mov rax, qword [0x14012e410]
sub rax, 0xffffffffffffff80
cmp qword [rax + 0x18], 0xf
jbe 0x14002c8e9
mov rax, qword [rax]
mov qword ds:[rdx + 0x20], rax
mov rax, qword [0x14012e410]
add rax, 0xa0
cmp qword [rax + 0x18], 0xf
jbe 0x14002c905
mov rax, qword [rax]
mov qword [rdx + 0x28], rax
mov rax, qword [0x14012e410]
add rax, 0xc0
cmp qword [rax + 0x18], 0xf
jbe 0x14002c920
mov rax, qword [rax]
mov qword [rdx + 0x30], rax
mov rbx, qword [0x14012e410]
mov rdi, qword [0x14012e418]
cmp rbx, rdi
je 0x14002d33f
movabs r14, 0x7fffffffffffffff
lea rdx, [0x14010e0b0]
lea r15, [0x14010e0b8]
lea r12, [0x14010e0c0]
lea r13, [0x14010e0c8]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword ds:[rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 3
jb 0x14002d766
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002c997
mov r9, qword [rbx]
mov qword [rsp + 0x30], 3
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x2a8]
call fcn.140024940
nop
lea r8, [rsp + 0x2a8]
lea rdx, [rsp + 0x3a0]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 0x40
cmp byte [rcx + 0x50], 1
je 0x14002c9df
mov byte [rcx + 0x50], 1
mov byte [rcx + rax], 0
lea rcx, [rsp + 0x2a8]
call fcn.140004140
mov rcx, qword ds:[rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 7
jb 0x14002d75e
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002ca17
mov r9, qword [rbx]
mov qword [rsp + 0x30], 7
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0xc8]
call fcn.140024940
nop
lea r8, [rsp + 0xc8]
lea rdx, [rsp + 0x3d0]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 1
lea edx, [rax + 0x3f]
cmp byte [rcx + 0x50], 0
je 0x14002ca62
mov byte [rcx + 0x50], 0
mov dword [rcx + rdx], eax
lea rcx, [rsp + 0xc8]
call fcn.140004140
mov rcx, qword ds:[rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 7
jb 0x14002d758
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002ca97
mov r9, qword [rbx]
mov qword [rsp + 0x30], 7
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0xe8]
call fcn.140024940
nop
lea r8, [rsp + 0xe8]
lea rdx, [rsp + 0x3e0]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 1
lea edx, [rax + 0x3f]
cmp byte [rcx + 0x50], 0
je 0x14002cae2
mov byte [rcx + 0x50], 0
mov dword [rcx + rdx], eax
lea rcx, [rsp + 0xe8]
call fcn.140004140
mov rcx, qword ds:[rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 6
jb 0x14002d752
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002cb17
mov r9, qword [rbx]
mov qword [rsp + 0x30], 6
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x108]
call fcn.140024940
nop
lea r8, [rsp + 0x108]
lea rdx, [rsp + 0x2c8]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 0x40
cmp byte [rcx + 0x50], 1
je 0x14002cb5f
mov byte [rcx + 0x50], 1
mov byte [rax + rcx], 0
lea rcx, [rsp + 0x108]
call fcn.140004140
mov rcx, qword ds:[rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 7
jb 0x14002d74c
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002cb97
mov r9, qword [rbx]
mov qword [rsp + 0x30], 7
lea rax, [0x14010e0d0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x128]
call fcn.140024940
nop
lea r8, [rsp + 0x128]
lea rdx, [rsp + 0x2d8]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 1
lea edx, [rax + 0x3f]
cmp byte [rcx + 0x50], 0
je 0x14002cbe9
mov byte [rcx + 0x50], 0
mov dword [rcx + rdx], eax
lea rcx, [rsp + 0x128]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 7
jb 0x14002d746
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002cc1a
mov r9, qword [rbx]
mov qword ss:[rsp + 0x30], 7
lea rax, [0x14010e0d8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x148]
call fcn.140024940
nop
lea r8, [rsp + 0x148]
lea rdx, [rsp + 0x2e8]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 1
lea edx, [rax + 0x3f]
cmp byte [rcx + 0x50], 0
je 0x14002cc70
mov byte [rcx + 0x50], 0
mov dword ds:[rcx + rdx], eax
lea rcx, [rsp + 0x148]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 7
jb 0x14002d73e
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002cca6
mov r9, qword [rbx]
mov qword [rsp + 0x30], 7
lea rax, [0x14010e0e0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x168]
call fcn.140024940
nop
lea r8, [rsp + 0x168]
lea rdx, [rsp + 0x2f8]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 0x40
cmp byte [rcx + 0x50], 1
je 0x14002ccf7
mov byte [rcx + 0x50], 1
mov byte [rcx + rax], 0
lea rcx, [rsp + 0x168]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 0xf
jb 0x14002d738
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002cd29
mov r9, qword [rbx]
mov qword [rsp + 0x30], 0xf
lea rax, [0x14010e0e8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x188]
call fcn.140024940
nop
lea r8, [rsp + 0x188]
lea rdx, [rsp + 0x308]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 0x40
cmp byte [rcx + 0x50], 1
je 0x14002cd78
mov byte [rcx + 0x50], 1
mov byte [rcx + rax], 0
lea rcx, [rsp + 0x188]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 6
jb 0x14002d732
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002cdaa
mov r9, qword [rbx]
mov qword [rsp + 0x30], 6
lea rax, [0x14010e118]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x1a8]
call fcn.140024940
nop
lea r8, [rsp + 0x1a8]
lea rdx, [rsp + 0x318]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, esi
mov edx, 0x40
cmp byte [rcx + 0x50], 0
je 0x14002cdfb
mov byte [rcx + 0x50], 0
mov dword [rcx + rdx], eax
lea rcx, [rsp + 0x1a8]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 3
jb 0x14002d72c
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002ce2c
mov r9, qword [rbx]
mov qword [rsp + 0x30], 3
lea rax, [0x14010e128]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x1c8]
call fcn.140024940
nop
lea r8, [rsp + 0x1c8]
lea rdx, [rsp + 0x328]
call fcn.1400232c0
mov rcx, qword [rax]
mov dword [rcx + 0x40], 0x3f800000
cmp byte [rcx + 0x50], 2
je 0x14002ce7d
mov byte [rcx + 0x50], 2
lea rcx, [rsp + 0x1c8]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 0x11
jb 0x14002d726
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002ceab
mov r9, qword [rbx]
mov qword [rsp + 0x30], 0x11
lea rax, [0x14010e130]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x1e8]
call fcn.140024940
nop
lea r8, [rsp + 0x1e8]
lea rdx, [rsp + 0x338]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 0xc8
mov edx, 0x40
cmp byte [rcx + 0x50], 0
je 0x14002ceff
mov byte [rcx + 0x50], 0
mov dword [rdx + rcx], eax
lea rcx, [rsp + 0x1e8]
call fcn.140004140
mov rcx, qword ds:[rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 7
jb 0x14002d71e
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002cf37
mov r9, qword [rbx]
mov qword [rsp + 0x30], 7
lea rax, [0x14010e148]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x208]
call fcn.140024940
nop
lea r8, [rsp + 0x208]
lea rdx, [rsp + 0x348]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 0x40
cmp byte [rcx + 0x50], 1
je 0x14002cf86
mov byte [rcx + 0x50], 1
mov byte [rax + rcx], 0
lea rcx, [rsp + 0x208]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 0xc
jb 0x14002d718
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002cfb8
mov r9, qword [rbx]
mov qword [rsp + 0x30], 0xc
lea rax, [0x14010e150]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x228]
call fcn.140024940
nop
lea r8, [rsp + 0x228]
lea rdx, [rsp + 0x358]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 0xf
lea edx, [rax + 0x31]
cmp byte [rcx + 0x50], 0
je 0x14002d00a
mov byte [rcx + 0x50], 0
mov dword [rdx + rcx], eax
lea rcx, [rsp + 0x228]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 0xf
jb 0x14002d712
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002d03b
mov r9, qword [rbx]
mov qword ss:[rsp + 0x30], 0xf
lea rax, [0x14010e160]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x248]
call fcn.140024940
nop
lea r8, [rsp + 0x248]
lea rdx, [rsp + 0x368]
call fcn.1400232c0
mov rcx, qword [rax]
mov dword [rcx + 0x40], 0x3f800000
cmp byte [rcx + 0x50], 2
je 0x14002d08f
mov byte [rcx + 0x50], 2
lea rcx, [rsp + 0x248]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 0x13
jb 0x14002d70c
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002d0bd
mov r9, qword [rbx]
mov qword ss:[rsp + 0x30], 0x13
lea rax, [0x14010e1b0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x268]
call fcn.140024940
nop
lea r8, [rsp + 0x268]
lea rdx, [rsp + 0x388]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 0x40
cmp byte [rcx + 0x50], 1
je 0x14002d10d
mov byte [rcx + 0x50], 1
mov byte [rax + rcx], 0
lea rcx, [rsp + 0x268]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 0xc
jb 0x14002d706
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002d13f
mov r9, qword [rbx]
mov qword [rsp + 0x30], 0xc
lea rax, [0x14010e170]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0xa0]
call fcn.140024940
nop
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x378]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 0x40
cmp byte [rcx + 0x50], 1
je 0x14002d18e
mov byte [rcx + 0x50], 1
mov byte [rcx + rax], 0
lea rcx, [rsp + 0xa0]
call fcn.140004140
movaps xmm6, xmmword [0x140115e80]
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 8
jb 0x14002d700
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002d1c7
mov r9, qword [rbx]
mov qword [rsp + 0x30], 8
lea rax, [0x14010e180]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0xa0]
call fcn.140024940
nop
lea r8, [rsp + 0xa0]
lea rdx, [rsp + 0x80]
call fcn.1400232c0
mov rcx, qword [rax]
cmp byte [rcx + 0x50], 3
movups xmmword [rcx + 0x40], xmm6
je 0x14002d216
mov byte [rcx + 0x50], 3
lea rcx, ds:[rsp + 0xa0]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 0xb
jb 0x14002d6fa
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002d246
mov r9, qword [rbx]
mov qword [rsp + 0x30], 0xb
lea rax, [0x14010e190]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x288]
call fcn.140024940
nop
lea r8, [rsp + 0x288]
lea rdx, [rsp + 0x60]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 0x40
cmp byte [rcx + 0x50], 1
je 0x14002d297
mov byte [rcx + 0x50], 1
mov byte [rax + rcx], 0
lea rcx, [rsp + 0x288]
call fcn.140004140
mov rcx, qword [rbx + 0x10]
mov rax, r14
sub rax, rcx
cmp rax, 9
jb 0x14002d6f4
mov r9, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x14002d2c9
mov r9, qword [rbx]
mov qword [rsp + 0x30], 9
lea rax, [0x14010e1a0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x400]
call fcn.140024940
nop
lea r8, [rsp + 0x400]
lea rdx, [rsp + 0x3b0]
call fcn.1400232c0
mov rcx, qword [rax]
mov eax, 5
lea edx, [rax + 0x3b]
cmp byte [rcx + 0x50], 0
je 0x14002d31b
mov byte [rcx + 0x50], 0
mov dword [rdx + rcx], eax
lea rcx, [rsp + 0x400]
call fcn.140004140
add rbx, 0x20
cmp rbx, rdi
lea rdx, [0x14010e0b0]
jne 0x14002c970
nop
call fcn.140081020
movdqa xmm0, xmmword [0x140115da0]
movdqu xmmword [rsp + 0x3b0], xmm0
mov dword [rsp + 0x3c0], 0x747874
lea rax, [rsp + 0x3b1]
mov qword [rsp + 0x3a0], rax
lea rcx, [rsp + 0x3b1]
mov rdi, 0xffffffffffffffff
mov rax, rdi
inc rax
cmp byte [rcx + rax], 0
jne 0x14002d383
mov qword [rsp + 0x3a8], rax
call fcn.140088260
movaps xmm0, xmmword [rsp + 0x3a0]
movdqa xmmword [rsp + 0x3a0], xmm0
lea r8, [rsp + 0x3a0]
mov edx, eax
lea rcx, [rsp + 0x60]
call fcn.140005780
nop
lea rcx, [rsp + 0x60]
call fcn.1400071a0
movzx ebx, al
lea rcx, [rsp + 0x60]
call fcn.1400040c0
test bl, bl
je 0x14002d3e4
mov dword [0x14012c120], 0x28
mov ecx, 8
call fcn.140088f30
lea rcx, [0x140028820]
mov qword ds:[rax], rcx
mov qword [rsp + 0x3a0], rax
lea rcx, [rsp + 0x3d8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], esi
mov r9, rax
lea r8, [0x140027360]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x3d0], rax
test rax, rax
je 0x14002d63d
cmp dword ds:[rsp + 0x3d8], 0
je 0x14002d631
movaps xmm0, xmmword ds:[rsp + 0x3d0]
movdqa xmmword [rsp + 0x3a0], xmm0
lea rcx, [rsp + 0x3a0]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jne 0x14002d631
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x3d0], xmm0
lea rax, [rsp + 0x400]
mov qword [rsp + 0x3a0], rax
lea rax, vtable.std::_Func_impl_no_alloc_void____cdecl___void___void___.0
mov qword [rsp + 0x400], rax
lea rax, [0x14001b4e0]
mov qword [rsp + 0x408], rax
lea rax, [rsp + 0x400]
mov qword [rsp + 0x438], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x3d0], rax
mov dword [rsp + 0x3e0], 0x4c44532d
mov dword [rsp + 0x3e4], 0x7070615f
mov byte [rsp + 0x3e8], 0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
lea rax, [rsp + 0x3e1]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14002d500
lea rdx, [rsp + 0x3e1]
lea rcx, [rsp + 0x60]
call fcn.140007b40
nop
movdqa xmm0, xmmword [0x140115d50]
movdqu xmmword [rsp + 0x3b0], xmm0
mov word [rsp + 0x3c0], 0x32
xorps xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rsi
lea rax, [rsp + 0x3b1]
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x14002d560
mov r8, rdi
lea rdx, [rsp + 0x3b1]
lea rcx, [rsp + 0x80]
call fcn.140007b40
nop
lea r9, [rsp + 0x400]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x80]
call fcn.14007eae0
nop
lea rax, vtable.std::wstring_convert_class_std::codecvt_utf8_wchar_t__1114111__0___wchar_t__class_std::allocator_wchar_t___class_std::allocator_char__.0
mov qword ds:[rsp + 0x4a0], rax
lea rcx, [rsp + 0x4e0]
call fcn.1400040c0
lea rcx, [rsp + 0x4c0]
call fcn.140004140
mov rcx, qword [rsp + 0x4b8]
test rcx, rcx
je 0x14002d5f8
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x14002d5f8
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
xor eax, eax
mov rcx, qword [rsp + 0x520]
xor rcx, rsp
call fcn.140088df0
lea r11, [rsp + 0x540]
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]
mov rsp, r11
pop r15
pop r14
pop r13
ret
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
mov dword [rsp + 0x3d8], esi
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rdx, [rsp + 0x3e0]
call fcn.14002d770
lea rcx, [rax + 1]
movzx r9d, byte [rax]
xor byte [rcx], r9b
xor byte [rax + 2], r9b
xor byte [rax + 3], r9b
mov byte [rax + 4], 0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
mov edx, 5
mov rcx, qword [0x14012dd90]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, ds:[rsp + 0x400]
call fcn.14002d780
lea rdx, [rax + 1]
mov r9, rdx
mov r10d, 0x95
nop dword [rax]
nop word [rax + rax]
movzx r8d, byte [rax]
xor byte [r9], r8b
lea r9, [r9 + 1]
sub r10, 1
jne 0x14002d6c0
mov byte [rax + 0x96], r10b
call fcn.1400045e0
mov ecx, 0xea60
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
nop
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
nop
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
call fcn.140004c40
int3
nop
call fcn.140004c40
int3
call fcn.140004c40
int3