Function at 0x140001bf4
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Hash data using djb2
Link many functions at runtime
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x588]
sub rsp, 0x660
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x550], rax
mov edx, 8
lea rax, [rsp + 0x40]
lea rcx, [0x140004330]
lea r8d, [rdx + 0x78]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x30], xmm1
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x40], xmm0
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x50], xmm1
movups xmm1, xmmword [rcx + 0x70]
add rcx, r8
movups xmmword [rax + 0x60], xmm0
add rax, r8
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x140001c40
movups xmm0, xmmword [rcx]
mov r8d, 0x118
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x30], xmm1
movups xmm1, xmmword [rcx + 0x50]
lea rcx, [rbp + 0x430]
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm1
call sub.VCRUNTIME140.dll_memset
mov r13b, byte [rsp + 0x30]
lea r15, str.KERNEL32.DLL
xor r12d, r12d
lea edi, [r12 + 4]
xor esi, esi
movsx eax, sil
imul ecx, eax, 0x21
add ecx, 0x15950
cmp ecx, dword [rsp + r12*4 + 0x40]
je 0x1400020e5
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x3c8], xmm0
mov qword [rbp + 0x3e8], rax
movups xmmword [rbp + 0x3d8], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea rdx, [rbp + 0x3c8]
call qword [sym.imp.KERNEL32.dll_HeapWalk]
test eax, eax
je 0x140001d4f
cmp word [rbp + 0x3d6], di
jne 0x140001d12
mov ecx, dword [rbp + 0x3d0]
mov rax, qword [rbp + 0x3c8]
cmp dword [rcx + rax], 0xabababab
je 0x1400021ef
mov rax, qword gs:[0x30]
mov edx, 0x5c
mov rdi, qword [rax + 0x60]
mov rax, qword [rdi + 0x18]
mov r14, qword [rax + 0x20]
mov rax, qword [r14]
mov rbx, qword [rax + 0x50]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, qword [rdi + 0x18]
add rdi, 0x20
test rax, rax
lea rcx, [rax + 2]
mov eax, 0x1505
cmove rcx, rbx
mov r8, rcx
movzx edx, word [rcx]
test edx, edx
je 0x140001db3
imul eax, eax, 0x21
lea r8, [r8 + 2]
add eax, edx
movzx edx, word [r8]
test edx, edx
jne 0x140001d9b
cmp eax, 0x22d3b5ed
je 0x140001dd2
mov rbx, qword [r14]
cmp rbx, rdi
je 0x140001dd2
mov rbx, qword [rbx + 0x50]
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov r14, qword [r14]
jmp 0x140001d81
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x140001e34
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x140001e34
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, 4
lea r8, [rbp + 0x3f0]
mov rcx, rax
mov r9d, edi
lea rax, [rbp + 0x414]
mov qword [rsp + 0x20], rax
lea edx, [rdi + 3]
call rbx
test eax, eax
js 0x140001e39
cmp dword [rbp + 0x3f0], 0xffffffff
jne 0x140001e39
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov edi, 4
inc esi
cmp esi, 0x100
jl 0x140001ce0
mov edx, 0x1505
mov rax, r15
mov r14d, edx
mov ecx, 0x4b
imul r14d, r14d, 0x21
inc rax
add r14d, ecx
movsx ecx, byte [rax]
test ecx, ecx
jne 0x140001e57
lea rax, str.CreateThread
mov r15d, edx
mov ecx, 0x43
imul r15d, r15d, 0x21
inc rax
add r15d, ecx
movsx ecx, byte [rax]
test ecx, ecx
jne 0x140001e77
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3c0], rax
movups xmmword [rbp + 0x3b0], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea rdx, [rbp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_HeapWalk]
test eax, eax
je 0x140001edf
cmp word [rbp + 0x3ae], di
jne 0x140001ea2
mov ecx, dword [rbp + 0x3a8]
mov rax, qword [rbp + 0x3a0]
cmp dword [rcx + rax], 0xabababab
je 0x1400021f8
mov rax, qword gs:[0x30]
mov edx, 0x5c
mov rdi, qword [rax + 0x60]
mov rax, qword [rdi + 0x18]
mov rsi, qword [rax + 0x20]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x50]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, qword [rdi + 0x18]
add rdi, 0x20
test rax, rax
lea rcx, [rax + 2]
mov eax, 0x1505
cmove rcx, rbx
mov r8, rcx
movzx edx, word [rcx]
test edx, edx
je 0x140001f43
imul eax, eax, 0x21
lea r8, [r8 + 2]
add eax, edx
movzx edx, word [r8]
test edx, edx
jne 0x140001f2b
cmp eax, 0x22d3b5ed
je 0x140001f62
mov rbx, qword [rsi]
cmp rbx, rdi
je 0x140001f62
mov rbx, qword [rbx + 0x50]
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rsi, qword [rsi]
jmp 0x140001f11
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x140001fbe
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x140001fbe
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, 4
lea r8, [rbp + 0x3f4]
mov rcx, rax
lea rax, [rbp + 0x418]
mov qword [rsp + 0x20], rax
lea edx, [r9 + 3]
call rbx
test eax, eax
js 0x140001fbe
cmp dword [rbp + 0x3f4], 0xffffffff
je 0x140002201
mov rax, qword gs:[0x30]
mov edx, 0x5c
mov rdi, qword [rax + 0x60]
mov rax, qword [rdi + 0x18]
mov rsi, qword [rax + 0x20]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x50]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, qword [rdi + 0x18]
add rdi, 0x20
test rax, rax
lea rcx, [rax + 2]
mov eax, 0x1505
cmove rcx, rbx
mov r8, rcx
movzx edx, word [rcx]
jmp 0x140002015
imul eax, eax, 0x21
lea r8, [r8 + 2]
add eax, edx
movzx edx, word [r8]
test edx, edx
jne 0x140002008
cmp eax, r14d
je 0x14000203d
mov rbx, qword [rsi]
cmp rbx, rdi
je 0x14000203d
mov rbx, qword [rbx + 0x50]
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rsi, qword [rsi]
jmp 0x140001ff0
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
xor r10d, r10d
mov r8, rax
movsxd rcx, dword [rax + 0x3c]
mov edx, dword [rcx + rax + 0x88]
add rdx, rax
mov r11d, dword [rdx + 0x1c]
mov r9d, dword [rdx + 0x20]
add r11, rax
mov ebx, dword [rdx + 0x24]
add r9, rax
mov edi, dword [rdx + 0x14]
add rbx, rax
test edi, edi
je 0x14000209f
mov eax, dword [r9]
mov ecx, 0x1505
add rax, r8
jmp 0x140002087
imul ecx, ecx, 0x21
inc rax
add ecx, edx
movsx edx, byte [rax]
test edx, edx
jne 0x14000207f
cmp ecx, r15d
je 0x1400020d7
inc r10d
add r9, 4
cmp r10d, edi
jb 0x140002072
xor eax, eax
and dword [rbp + 0x3f8], 0
lea rcx, [rbp + 0x3f8]
mov qword [rsp + 0x28], rcx
lea r8, [0x140002964]
and dword [rsp + 0x20], 0
xor ecx, ecx
xor r9d, r9d
xor edx, edx
call rax
lea r15, str.KERNEL32.DLL
mov edi, 4
jmp 0x1400020e8
movzx ecx, word [rbx + r10*2]
mov eax, dword [r11 + rcx*4]
add rax, r8
jmp 0x1400020a1
mov r13b, sil
mov byte [rbp + r12 + 0x430], r13b
inc r12
cmp r12, 0x118
jl 0x140001cde
xor esi, esi
lea r12d, [rsi + 0x5c]
movsx eax, sil
imul ecx, eax, 0x21
cmp ecx, 0xd05
je 0x140002522
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3c0], rax
movups xmmword [rbp + 0x3b0], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea rdx, [rbp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_HeapWalk]
test eax, eax
je 0x140002170
cmp word [rbp + 0x3ae], di
jne 0x140002133
mov ecx, dword [rbp + 0x3a8]
mov rax, qword [rbp + 0x3a0]
cmp dword [rcx + rax], 0xabababab
je 0x14000231a
mov rax, qword gs:[0x30]
mov edx, r12d
mov rdi, qword [rax + 0x60]
mov rax, qword [rdi + 0x18]
mov r14, qword [rax + 0x20]
mov rax, qword [r14]
mov rbx, qword [rax + 0x50]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, qword [rdi + 0x18]
add rdi, 0x20
test rax, rax
lea rcx, [rax + 2]
mov eax, 0x1505
cmove rcx, rbx
mov r8, rcx
movzx edx, word [rcx]
test edx, edx
je 0x1400021d2
imul eax, eax, 0x21
lea r8, [r8 + 2]
add eax, edx
movzx edx, word [r8]
test edx, edx
jne 0x1400021ba
cmp eax, 0x22d3b5ed
je 0x14000220a
mov rbx, qword [r14]
cmp rbx, rdi
je 0x14000220a
mov rbx, qword [rbx + 0x50]
mov edx, r12d
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov r14, qword [r14]
jmp 0x1400021a0
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x14000226c
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x14000226c
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edi, 4
lea r8, [rbp + 0x3fc]
mov rcx, rax
mov r9d, edi
lea rax, [rbp + 0x41c]
mov qword [rsp + 0x20], rax
lea edx, [rdi + 3]
call rbx
test eax, eax
js 0x140002271
cmp dword [rbp + 0x3fc], 0xffffffff
jne 0x140002271
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov edi, 4
inc esi
cmp esi, 0x100
jl 0x140002106
mov edx, 0x1505
mov r12d, 0x4b
mov r14d, edx
mov ecx, r12d
mov rax, r15
imul r14d, r14d, 0x21
inc rax
add r14d, ecx
movsx ecx, byte [rax]
test ecx, ecx
jne 0x140002293
lea r13, str.CreateThread
mov r15d, edx
mov rax, r13
mov ecx, 0x43
imul r15d, r15d, 0x21
inc rax
add r15d, ecx
movsx ecx, byte [rax]
test ecx, ecx
jne 0x1400022b6
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3c0], rax
movups xmmword [rbp + 0x3b0], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea rdx, [rbp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_HeapWalk]
test eax, eax
je 0x140002323
cmp word [rbp + 0x3ae], di
jne 0x1400022e1
mov ecx, dword [rbp + 0x3a8]
mov rax, qword [rbp + 0x3a0]
cmp dword [rcx + rax], 0xabababab
jne 0x140002323
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rax, qword gs:[0x30]
mov edx, 0x5c
mov rdi, qword [rax + 0x60]
mov rax, qword [rdi + 0x18]
mov rsi, qword [rax + 0x20]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x50]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, qword [rdi + 0x18]
add rdi, 0x20
test rax, rax
lea rcx, [rax + 2]
mov eax, 0x1505
cmove rcx, rbx
mov r8, rcx
movzx edx, word [rcx]
test edx, edx
je 0x140002387
imul eax, eax, 0x21
lea r8, [r8 + 2]
add eax, edx
movzx edx, word [r8]
test edx, edx
jne 0x14000236f
cmp eax, 0x22d3b5ed
je 0x1400023a6
mov rbx, qword [rsi]
cmp rbx, rdi
je 0x1400023a6
mov rbx, qword [rbx + 0x50]
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rsi, qword [rsi]
jmp 0x140002355
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x140002407
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x140002407
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, 4
lea r8, [rbp + 0x400]
mov rcx, rax
lea rax, [rbp + 0x420]
mov qword [rsp + 0x20], rax
lea edx, [r9 + 3]
call rbx
test eax, eax
js 0x140002407
cmp dword [rbp + 0x400], 0xffffffff
jne 0x140002407
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rax, qword gs:[0x30]
mov edx, 0x5c
mov rdi, qword [rax + 0x60]
mov rax, qword [rdi + 0x18]
mov rsi, qword [rax + 0x20]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x50]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, qword [rdi + 0x18]
add rdi, 0x20
test rax, rax
lea rcx, [rax + 2]
mov eax, 0x1505
cmove rcx, rbx
mov r8, rcx
movzx edx, word [rcx]
jmp 0x14000245e
imul eax, eax, 0x21
lea r8, [r8 + 2]
add eax, edx
movzx edx, word [r8]
test edx, edx
jne 0x140002451
cmp eax, r14d
je 0x140002486
mov rbx, qword [rsi]
cmp rbx, rdi
je 0x140002486
mov rbx, qword [rbx + 0x50]
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rsi, qword [rsi]
jmp 0x140002439
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
xor r10d, r10d
mov r8, rax
movsxd rcx, dword [rax + 0x3c]
mov edx, dword [rcx + rax + 0x88]
add rdx, rax
mov r11d, dword [rdx + 0x1c]
mov r9d, dword [rdx + 0x20]
add r11, rax
mov ebx, dword [rdx + 0x24]
add r9, rax
mov edi, dword [rdx + 0x14]
add rbx, rax
test edi, edi
je 0x1400024e8
mov eax, dword [r9]
mov ecx, 0x1505
add rax, r8
jmp 0x1400024d0
imul ecx, ecx, 0x21
inc rax
add ecx, edx
movsx edx, byte [rax]
test edx, edx
jne 0x1400024c8
cmp ecx, r15d
je 0x140002514
inc r10d
add r9, 4
cmp r10d, edi
jb 0x1400024bb
xor eax, eax
and dword [rbp + 0x404], 0
lea rcx, [rbp + 0x404]
mov qword [rsp + 0x28], rcx
lea r8, [0x140002964]
and dword [rsp + 0x20], 0
xor ecx, ecx
xor r9d, r9d
xor edx, edx
call rax
jmp 0x14000252f
movzx ecx, word [rbx + r10*2]
mov eax, dword [r11 + rcx*4]
add rax, r8
jmp 0x1400024ea
mov r12d, 0x4b
lea r13, str.CreateThread
mov rax, qword gs:[0x30]
mov r14d, 0x1505
mov rcx, qword [rax + 0x60]
lea rax, str.KERNEL32.DLL
mov byte [rcx + 2], 1
imul r14d, r14d, 0x21
inc rax
add r14d, r12d
movsx r12d, byte [rax]
test r12d, r12d
jne 0x14000254d
mov r12d, 0x1505
mov eax, 0x43
mov r15d, r12d
imul r15d, r15d, 0x21
inc r13
add r15d, eax
movsx eax, byte [r13]
test eax, eax
jne 0x14000256e
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3c0], rax
movups xmmword [rbp + 0x3b0], xmm0
lea r13d, [rax + 4]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea rdx, [rbp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_HeapWalk]
test eax, eax
je 0x1400025dd
cmp word [rbp + 0x3ae], r13w
jne 0x14000259f
mov ecx, dword [rbp + 0x3a8]
mov rax, qword [rbp + 0x3a0]
cmp dword [rcx + rax], 0xabababab
je 0x14000281b
mov rax, qword gs:[0x30]
mov edx, 0x5c
mov rdi, qword [rax + 0x60]
mov rax, qword [rdi + 0x18]
mov rsi, qword [rax + 0x20]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x50]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, qword [rdi + 0x18]
add rdi, 0x20
test rax, rax
lea rcx, [rax + 2]
mov eax, r12d
cmove rcx, rbx
mov r8, rcx
movzx edx, word [rcx]
test edx, edx
je 0x14000263f
imul eax, eax, 0x21
lea r8, [r8 + 2]
add eax, edx
movzx edx, word [r8]
test edx, edx
jne 0x140002627
cmp eax, 0x22d3b5ed
je 0x14000265e
mov rbx, qword [rsi]
cmp rbx, rdi
je 0x14000265e
mov rbx, qword [rbx + 0x50]
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rsi, qword [rsi]
jmp 0x14000260f
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x1400026bd
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x1400026bd
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, r13d
lea r8, [rbp + 0x408]
mov rcx, rax
mov edx, 7
lea rax, [rbp + 0x424]
mov qword [rsp + 0x20], rax
call rbx
test eax, eax
js 0x1400026bd
cmp dword [rbp + 0x408], 0xffffffff
jne 0x1400026bd
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rax, qword gs:[0x30]
mov edx, 0x5c
mov rdi, qword [rax + 0x60]
mov rax, qword [rdi + 0x18]
mov rsi, qword [rax + 0x20]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x50]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, qword [rdi + 0x18]
add rdi, 0x20
test rax, rax
lea rcx, [rax + 2]
mov eax, r12d
cmove rcx, rbx
mov r8, rcx
movzx edx, word [rcx]
jmp 0x140002712
imul eax, eax, 0x21
lea r8, [r8 + 2]
add eax, edx
movzx edx, word [r8]
test edx, edx
jne 0x140002705
cmp eax, r14d
je 0x14000273a
mov rbx, qword [rsi]
cmp rbx, rdi
je 0x14000273a
mov rbx, qword [rbx + 0x50]
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rsi, qword [rsi]
jmp 0x1400026ef
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
xor r10d, r10d
mov r8, rax
movsxd rcx, dword [rax + 0x3c]
mov edx, dword [rcx + rax + 0x88]
add rdx, rax
mov r11d, dword [rdx + 0x1c]
mov r9d, dword [rdx + 0x20]
add r11, rax
mov ebx, dword [rdx + 0x24]
add r9, rax
mov edi, dword [rdx + 0x14]
add rbx, rax
test edi, edi
je 0x14000279d
mov eax, dword [r9]
mov ecx, r12d
add rax, r8
jmp 0x140002782
imul ecx, ecx, 0x21
inc rax
add ecx, edx
movsx edx, byte [rax]
test edx, edx
jne 0x14000277a
cmp ecx, r15d
je 0x140002824
inc r10d
add r9, r13
cmp r10d, edi
jb 0x14000276f
xor eax, eax
and dword [rbp + 0x40c], 0
lea rcx, [rbp + 0x40c]
mov qword [rsp + 0x28], rcx
lea r8, [0x140002964]
and dword [rsp + 0x20], 0
xor ecx, ecx
xor r9d, r9d
xor edx, edx
call rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3c0], rax
movups xmmword [rbp + 0x3b0], xmm0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
lea rdx, [rbp + 0x3a0]
call qword [sym.imp.KERNEL32.dll_HeapWalk]
test eax, eax
je 0x140002835
cmp word [rbp + 0x3ae], r13w
jne 0x1400027e1
mov ecx, dword [rbp + 0x3a8]
mov rax, qword [rbp + 0x3a0]
cmp dword [rcx + rax], 0xabababab
jne 0x140002835
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
movzx ecx, word [rbx + r10*2]
mov eax, dword [r11 + rcx*4]
add rax, r8
jmp 0x14000279f
mov rax, qword gs:[0x30]
mov r14d, 0x5c
mov edx, r14d
mov rdi, qword [rax + 0x60]
mov rax, qword [rdi + 0x18]
mov rsi, qword [rax + 0x20]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x50]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rdi, qword [rdi + 0x18]
add rdi, 0x20
test rax, rax
lea rcx, [rax + 2]
mov eax, r12d
cmove rcx, rbx
mov r8, rcx
movzx edx, word [rcx]
test edx, edx
je 0x14000289b
imul eax, eax, 0x21
lea r8, [r8 + 2]
add eax, edx
movzx edx, word [r8]
test edx, edx
jne 0x140002883
cmp eax, 0x22d3b5ed
je 0x1400028b8
mov rbx, qword [rsi]
cmp rbx, rdi
je 0x1400028b8
mov rbx, qword [rbx + 0x50]
mov edx, r14d
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov rsi, qword [rsi]
jmp 0x14000286b
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
test rax, rax
je 0x140002917
lea rdx, str.NtQueryInformationProcess
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x140002917
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov r9d, r13d
lea r8, [rbp + 0x410]
mov rcx, rax
mov edx, 7
lea rax, [rbp + 0x428]
mov qword [rsp + 0x20], rax
call rbx
test eax, eax
js 0x140002917
cmp dword [rbp + 0x410], 0xffffffff
jne 0x140002917
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, 0x118
lea rcx, [rbp + 0x430]
mov r8d, eax
call fcn.1400010dc
xor eax, eax
mov rcx, qword [rbp + 0x550]
xor rcx, rsp
call fcn.140002b50
lea r11, [rsp + 0x660]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret