Function at 0x140004fb0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x1400a3080]
xor rax, rsp
mov qword [rbp - 8], rax
mov rsi, rcx
lea rcx, [0x14009368e]
call qword [sym.imp.VMProtectSDK64.dll_VMProtectBeginUltra]
movzx ecx, word [0x140095ac0]
xor edx, edx
movzx eax, byte [0x140095ac2]
mov r8d, 0x800
movsd xmm0, qword [0x140095ab8]
xor al, 0x42
movsd qword [rbp - 0x30], xmm0
xor byte [rbp - 0x2f], 0x39
xor byte [rbp - 0x2e], 0x3a
xor byte [rbp - 0x2d], 0x3b
xor byte [rbp - 0x2c], 0x3c
xor byte [rbp - 0x2b], 0x3d
xor byte [rbp - 0x2a], 0x3e
xor byte [rbp - 0x29], 0x3f
mov word [rbp - 0x28], cx
xor cl, 0x40
xor byte [rbp - 0x27], 0x41
mov byte [rbp - 0x28], cl
lea rcx, [rbp - 0x30]
mov byte [rbp - 0x30], 0x75
mov byte [rbp - 0x26], al
call qword [sym.imp.KERNEL32.dll_LoadLibraryExA]
cmp byte [0x14009579b], 0
mov r15, rax
movsd xmm0, qword [str.PT_kTP__6]
mov ecx, dword [0x140095798]
movsd qword [rbp - 0x20], xmm0
mov dword [rbp - 0x18], ecx
je 0x1400051c2
xor edi, edi
cmp dword [reloc.WS2_32.dll_accept], 2
jl 0x14000517e
movdqa xmm2, xmmword [0x140095b30]
mov edi, 8
movdqa xmm3, xmmword [0x140095b40]
movdqa xmm1, xmm2
movdqa xmm4, xmmword [0x140095b80]
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140095b50]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [str.PT_kTP__6]
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x140095b60]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.8888888888888888]
xorps xmm2, xmm0
punpckldq xmm1, xmm3
movd dword [rbp - 0x20], xmm2
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x140095b50]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, dword [rbp - 0x1c]
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x140095b60]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.8888888888888888]
xorps xmm2, xmm0
movd dword [rbp - 0x1c], xmm2
movsxd rax, edi
lea r8, [rbp - 0x20]
add r8, rax
nop dword [rax + rax]
mov eax, 0x92492493
lea r8, [r8 + 1]
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x38
add cl, dil
inc edi
xor byte [r8 - 1], cl
cmp edi, 0xc
jl 0x140005190
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov ebx, dword [rcx + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140005254
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140005254
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edi, 0x811c9dc5
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r11]
add rdx, r9
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14000524f
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, edi
imul edi, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140005230
cmp edi, 0xf8f45725
je 0x140005259
test r8d, r8d
jne 0x140005210
mov rax, qword [rax]
jmp 0x1400051e0
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp - 0x20]
add rax, r9
mov rcx, r15
call rax
mov rdx, rsi
xor ecx, ecx
call rax
mov r14, rax
test rax, rax
je 0x1400055a1
mov rcx, 0xffffffffffffffff
inc rcx
cmp word [rsi + rcx*2], 0
jne 0x140005293
add rcx, rcx
mov rdi, rsi
xor eax, eax
rep stosb byte [rdi], al
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax + rax]
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov ebx, dword [rcx + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140005334
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140005334
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edi, 0x811c9dc5
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r11]
add rdx, r9
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14000532f
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, edi
imul edi, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140005310
cmp edi, 0xf50944d9
je 0x140005339
test r8d, r8d
jne 0x1400052f0
mov rax, qword [rax]
jmp 0x1400052c0
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp - 0x10]
add rax, r9
mov rcx, r14
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov ebx, dword [rcx + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x1400053e4
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1400053e4
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edi, 0x811c9dc5
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r11]
add rdx, r9
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400053df
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, edi
imul edi, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400053c0
cmp edi, 0xab45c5ee
je 0x1400053e9
test r8d, r8d
jne 0x1400053a0
mov rax, qword [rax]
jmp 0x140005370
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
mov rcx, r15
add rax, r9
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov ebx, dword [rcx + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140005494
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140005494
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edi, 0x811c9dc5
lea rcx, [r9 + r8*4]
mov edx, dword [rcx + r11]
add rdx, r9
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14000548f
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, edi
imul edi, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140005470
cmp edi, 0x4105fc56
je 0x140005499
test r8d, r8d
jne 0x140005450
mov rax, qword [rax]
jmp 0x140005420
mov edx, dword [rbx + 0x24]
add rdx, r9
movzx edi, word [rdx + r8*2]
mov edx, dword [rbx + 0x1c]
mov r8d, dword [rbp - 0x10]
add rdx, r9
mov eax, dword [rdx + rdi*4]
xor edx, edx
add rax, r9
lea ecx, [rdx + 1]
call rax
mov rsi, rax
test rax, rax
je 0x1400055a1
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x10]
call qword [sym.imp.USER32.dll_PostMessageA]
mov rcx, qword gs:[0x60]
test eax, eax
setne r14b
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rcx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140005574
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140005574
mov r11d, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edi, 0x811c9dc5
lea rax, [r9 + r8*4]
mov eax, dword [rax + r11]
add rax, r9
movzx edx, byte [rax]
inc rax
test dl, dl
je 0x14000556f
nop dword [rax]
movsx edx, dl
lea rax, [rax + 1]
xor edx, edi
imul edi, edx, 0x1000193
movzx edx, byte [rax - 1]
test dl, dl
jne 0x140005550
cmp edi, 0xfaba0065
je 0x140005579
test r8d, r8d
jne 0x140005530
mov rcx, qword [rcx]
jmp 0x140005500
mov edx, dword [rbx + 0x24]
mov rcx, rsi
add rdx, r9
movzx edi, word [rdx + r8*2]
mov edx, dword [rbx + 0x1c]
add rdx, r9
mov edx, dword [rdx + rdi*4]
add rdx, r9
call rdx
call qword [sym.imp.VMProtectSDK64.dll_VMProtectEnd]
movzx eax, r14b
jmp 0x1400055a3
xor al, al
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.140081800
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret