Function at 0x1400158e0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
sub rsp, 0x110
lea rbp, [rsp + 0x40]
and rbp, 0xffffffffffffffe0
mov rax, qword [0x1402930e8]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rcx, qword [0x140293e70]
mov eax, dword [0x140293e50]
mov dword [0x140293e4c], eax
test rcx, rcx
jne 0x140015af4
mov rax, qword gs:[0x60]
xor r9d, r9d
mov edi, 0xf4d8b55
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
movups xmmword [rbp + 0x60], xmm0
sub ax, 8
test r9d, r9d
je 0x1400159ad
mov rcx, qword [rbp + 0x68]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400159a4
nop dword [rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140015990
cmp edx, r9d
jne 0x140015ad5
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r10
cmp rbx, r10
je 0x140015ad5
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140015ad5
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x811c9dc5
lea rax, [r14 + r8*4]
mov eax, dword [rax + r10]
add rax, r10
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x140015a27
nop dword [rax]
movsx ecx, cl
lea rax, [rax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax - 1]
test cl, cl
jne 0x140015a10
cmp edx, edi
je 0x140015a35
test r8d, r8d
jne 0x1400159f0
jmp 0x140015ad5
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov ecx, dword [rcx + rdx*4]
add rcx, r10
cmp rcx, rbx
jbe 0x140015aed
lea rax, [r15 + rbx]
cmp rcx, rax
jae 0x140015aed
movzx eax, byte [rcx]
mov r9d, 0x811c9dc5
mov dword [rbp], r9d
mov edx, r9d
mov dword [rbp + 4], edx
cmp al, 0x2e
je 0x140015a9b
nop dword [rax]
movsx eax, al
inc rcx
xor eax, r9d
imul r9d, eax, 0x1000193
movzx eax, byte [rcx]
cmp al, 0x2e
jne 0x140015a80
mov dword [rbp], r9d
movzx eax, byte [rcx + 1]
inc rcx
test al, al
je 0x140015ac9
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
test al, al
jne 0x140015ab0
mov dword [rbp + 4], edx
mov rdi, qword [rbp]
mov rsi, qword [r12]
shr rdi, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140015aeb
cmp qword [rax + 0x30], 0
jne 0x140015960
xor ecx, ecx
mov qword [0x140293e70], rcx
call rcx
mov ecx, dword [0x140293e4c]
mov dword [0x140293e50], eax
test ecx, ecx
je 0x140015d28
sub eax, ecx
cmp eax, 0x1770
jbe 0x140015d28
movabs rax, 0xfe38983aeee19f3e
movabs rdx, 0xfe579848ee939f7b
mov qword [rbp], rax
movabs rcx, 0x1178f9c52b02ec48
mov rax, qword [rbp]
mov qword [rbp + 0x10], rax
movabs rax, 0x1178f9c52b02ec3a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x18], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp], rcx
mov qword [rbp + 0x70], rax
mov rax, qword [rbp]
movdqa xmm0, xmmword [rbp + 0x10]
mov qword [rbp + 0x78], rax
movabs rax, 0xfe22982beef69f28
pxor xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x10], xmm0
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x20], rax
movabs rax, 0x1101f9b12b6bec3a
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x28], rax
movabs rax, 0xa280b3579cfcd1cd
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x30], rax
movabs rax, 0xdfded78fa485ae5e
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x38], rax
movabs rax, 0x87dee56c0072e490
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x40], rax
movabs rax, 0xbb72132c6e926da9
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x48], rax
movabs rax, 0x7aa1a6466e2ff045
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x50], rax
movabs rax, 0x663f067fd2294e05
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x58], rax
mov qword [rbp], rdx
mov rax, qword [rbp]
mov qword [rbp + 0x80], rax
mov qword [rbp], rcx
mov rax, qword [rbp]
mov qword [rbp + 0x88], rax
movabs rax, 0xa2efb33e9c8ad1ed
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x90], rax
movabs rax, 0xdfb7d7fba4e4ae32
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0x98], rax
movabs rax, 0x87bae54c001ce4ff
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa0], rax
movabs rax, 0xbb1113496ee66dcc
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xa8], rax
movabs rax, 0x7a81a6226e4af031
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
movabs rax, 0x663f067fd21a4e26
mov qword [rbp], rax
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
vmovdqu ymm0, ymmword [rbp + 0x80]
vpxor ymm1, ymm0, ymmword [rbp + 0x20]
vmovdqu ymm0, ymmword [rbp + 0x40]
vmovdqa ymmword [rbp + 0x20], ymm1
vpxor ymm1, ymm0, ymmword [rbp + 0xa0]
vmovdqa ymmword [rbp + 0x40], ymm1
mov r9d, reloc.WS2_32.dll_recv
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x20]
xor ecx, ecx
vzeroupper
call qword [sym.imp.USER32.dll_MessageBoxW]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor eax, eax
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.140106b10
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret