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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x14019d010]
xor rax, rsp
mov qword [rsp + 0x50], rax
xor r15d, r15d
mov rax, qword [0x1401a6828]
test rax, rax
jne 0x140102676
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax]
nop word [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140102657
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140102657
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0xd62c000
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140102652
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140102630
cmp edx, 0x76e2a7fc
je 0x1401029c4
test r8d, r8d
jne 0x140102610
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x14010266c
cmp qword [rax + 0x30], r15
jne 0x1401025e0
mov rax, r15
mov qword [0x1401a6828], rax
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x140102550]
xor edx, edx
xor ecx, ecx
call rax
mov rbp, rax
mov r8, qword [0x1401a6818]
test r8, r8
jne 0x140102756
mov rcx, qword gs:[0x60]
mov rdx, qword [rcx + 0x18]
mov rcx, qword [rdx + 0x10]
mov rsi, qword [rcx]
mov r11, rsi
nop word [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140102737
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140102737
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0xa0682497
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140102732
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140102710
cmp edx, 0xaf3e3166
je 0x1401029e0
test r8d, r8d
jne 0x1401026f0
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x14010274c
cmp qword [rax + 0x30], r15
jne 0x1401026c0
mov r8, r15
mov qword [0x1401a6818], r8
mov edx, 0xffffffff
mov rcx, rbp
call r8
mov rdi, qword [0x1401a6870]
test rdi, rdi
jne 0x140102826
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140102807
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140102807
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
lea rax, [rdi + r8*4]
mov eax, dword [rax + r9]
add rax, r9
mov edx, 0x7be68543
movzx ecx, byte [rax]
inc rax
test cl, cl
je 0x140102802
nop dword [rax]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
movzx ecx, byte [rax]
lea rax, [rax + 1]
test cl, cl
jne 0x1401027e0
cmp edx, 0x6bc20755
je 0x1401029fd
test r8d, r8d
jne 0x1401027c0
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x14010281c
cmp qword [rax + 0x30], r15
jne 0x140102790
mov rdi, r15
mov qword [0x1401a6870], rdi
mov rax, qword gs:[0x58]
mov r14, qword [rax]
mov ecx, 0xa80
mov eax, dword [rcx + r14]
mov ebx, 0xa88
add rbx, r14
test al, 1
jne 0x140102875
or eax, 1
mov dword [rcx + r14], eax
mov dword [rbx + 0xa], 0x183a9f3
mov dword [rbx], 0xa4e97d8e
mov dword [rbx + 4], 0xe99c2af3
mov word [rbx + 8], 0x7de1
lea rcx, [0x14015b4a0]
call fcn.14010618c
nop
cmp byte [rbx + 0xd], 0
je 0x1401028b2
xor byte [rbx], 0xcf
xor byte [rbx + 1], 0x19
xor byte [rbx + 2], 0x9f
xor byte [rbx + 3], 0xc5
xor byte [rbx + 4], 0x83
xor byte [rbx + 5], 0x43
xor byte [rbx + 6], 0xaf
xor byte [rbx + 7], 0xdb
xor byte [rbx + 8], 0xcf
xor byte [rbx + 9], 0x19
xor byte [rbx + 0xa], 0x9f
xor byte [rbx + 0xb], 0xc5
xor byte [rbx + 0xc], 0x83
mov byte [rbx + 0xd], 0
mov rcx, rbx
call rdi
mov rdi, qword [0x1401a6810]
test rdi, rdi
jne 0x140102977
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140102957
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140102957
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
mov edx, 0x82e451b1
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140102952
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140102930
cmp edx, 0x859127b
je 0x140102a19
test r8d, r8d
jne 0x140102910
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x14010296d
cmp qword [rax + 0x30], 0
jne 0x1401028e0
mov rdi, r15
mov qword [0x1401a6810], rdi
mov ecx, 0xa7c
mov eax, dword [rcx + r14]
mov edx, 0xa98
test al, 1
jne 0x140102a37
or eax, 1
mov dword [rcx + r14], eax
lea rbx, [rdx + r14]
mov word [rbx + 0xb], 0x165
mov dword [rbx], 0x1796a6a4
mov dword [rbx + 4], 0x2fbbad7a
mov word [rbx + 8], 0xb995
mov byte [rbx + 0xa], 0x9f
lea rcx, [0x14015b480]
call fcn.14010618c
nop
jmp 0x140102a3b
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x14010266f
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov r8d, dword [rcx + rax*4]
add r8, r9
jmp 0x14010274f
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov edi, dword [rcx + rax*4]
add rdi, r9
jmp 0x14010281f
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov edi, dword [rcx + rax*4]
add rdi, r9
jmp 0x140102970
lea rbx, [r14 + rdx]
cmp byte [rbx + 0xc], 0
je 0x140102a74
xor byte [rbx], 0xf1
xor byte [rbx + 1], 0xd5
xor byte [rbx + 2], 0xf3
xor byte [rbx + 3], 0x65
xor byte [rbx + 4], 0x1f
xor byte [rbx + 5], 0xc3
xor byte [rbx + 6], 0xcd
xor byte [rbx + 7], 1
xor byte [rbx + 8], 0xf1
xor byte [rbx + 9], 0xd5
xor byte [rbx + 0xa], 0xf3
xor byte [rbx + 0xb], 0x65
mov byte [rbx + 0xc], 0
mov rcx, rbx
call rdi
mov rdi, qword [0x1401a6830]
test rdi, rdi
jne 0x140102b33
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140102b13
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140102b13
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x7de20b3b
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140102b0e
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140102af0
cmp edx, 0xc308e0dd
je 0x140102b7c
test r8d, r8d
jne 0x140102ad0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x140102b29
cmp qword [rax + 0x30], 0
jne 0x140102aa0
mov rdi, r15
mov qword [0x1401a6830], rdi
mov ecx, 0xad4
mov eax, dword [rcx + r14]
mov edx, 0xaa8
test al, 1
jne 0x140102b97
or eax, 1
mov dword [rcx + r14], eax
lea rbx, [rdx + r14]
mov word [rbx + 0xb], 0x157
mov dword [rbx], 0x2776b5cc
mov dword [rbx + 4], 0xe9e1e889
mov word [rbx + 8], 0xabeb
mov byte [rbx + 0xa], 0x63
lea rcx, [0x14015b460]
call fcn.14010618c
nop
jmp 0x140102b9b
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov edi, dword [rcx + rax*4]
add rdi, r9
jmp 0x140102b2c
lea rbx, [r14 + rdx]
cmp byte [rbx + 0xc], 0
je 0x140102bd4
xor byte [rbx], 0x8f
xor byte [rbx + 1], 0xc7
xor byte [rbx + 2], 0xf
xor byte [rbx + 3], 0x57
xor byte [rbx + 4], 0xfd
xor byte [rbx + 5], 0xdb
xor byte [rbx + 6], 0xd3
xor byte [rbx + 7], 0xc7
xor byte [rbx + 8], 0x8f
xor byte [rbx + 9], 0xc7
xor byte [rbx + 0xa], 0xf
xor byte [rbx + 0xb], 0x57
mov byte [rbx + 0xc], 0
mov rcx, rbx
call rdi
mov rax, qword [0x1401a6878]
test rax, rax
jne 0x140102c97
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140102c77
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140102c77
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x3e3ddb6b
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140102c72
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140102c50
cmp edx, 0x2be052f3
je 0x140102ec4
test r8d, r8d
jne 0x140102c30
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x140102c8d
cmp qword [rax + 0x30], 0
jne 0x140102c00
mov rax, r15
mov qword [0x1401a6878], rax
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, [0x140102500]
xor edx, edx
xor ecx, ecx
call rax
mov rbp, rax
test rax, rax
jne 0x140102fed
mov rsi, qword [0x1401a6838]
test rsi, rsi
jne 0x140102d87
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140102d67
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140102d67
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x78d90bc4
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140102d62
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140102d40
cmp edx, 0x9c38eeaf
je 0x140102ee0
test r8d, r8d
jne 0x140102d20
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x140102d7d
cmp qword [rax + 0x30], 0
jne 0x140102cf0
mov rsi, r15
mov qword [0x1401a6838], rsi
mov rax, qword [0x1401a6820]
test rax, rax
jne 0x140102e47
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rbx, rbp
nop
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140102e27
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140102e27
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x7bd9107d
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140102e22
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140102e00
cmp edx, 0x1e85b2f
je 0x140102efc
test r8d, r8d
jne 0x140102de0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rbp
je 0x140102e3d
cmp qword [rax + 0x30], 0
jne 0x140102db0
mov rax, r15
mov qword [0x1401a6820], rax
call rax
mov edi, eax
movdqa xmm0, xmmword [0x140180a40]
mov dword [rsp + 0x40], 0xed2179fb
mov dword [rsp + 0x44], 0xffcbd424
mov word [rsp + 0x48], 0x75fe
mov ecx, 0xad8
mov eax, dword [rcx + r14]
mov edx, 0xab8
test al, 1
jne 0x140102f44
or eax, 1
mov dword [rcx + r14], eax
lea rbx, [rdx + r14]
mov byte [rbx + 0x1b], 1
lea rax, [rbx + 0x1a]
lea rcx, [rsp + 0x4a]
cmp rbx, rcx
ja 0x140102f1a
lea rcx, [rsp + 0x30]
cmp rax, rcx
jb 0x140102f1a
movups xmmword [rbx], xmm0
movsd xmm0, qword [rsp + 0x40]
movsd qword [rbx + 0x10], xmm0
movzx eax, word [rsp + 0x48]
mov word [rbx + 0x18], ax
mov byte [rbx + 0x1a], 0x49
jmp 0x140102f35
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x140102c90
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rbx + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov esi, dword [rcx + rax*4]
add rsi, r9
jmp 0x140102d80
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov eax, dword [rcx + rax*4]
add rax, r9
jmp 0x140102e40
movups xmmword [rbx], xmm0
movsd xmm0, qword [rsp + 0x40]
movsd qword [rbx + 0x10], xmm0
movzx eax, word [rsp + 0x48]
mov word [rbx + 0x18], ax
mov byte [rbx + 0x1a], 0x49
lea rcx, [0x14015b430]
call fcn.14010618c
nop
jmp 0x140102f48
lea rbx, [rdx + r14]
cmp byte [rbx + 0x1b], 0
je 0x140102fbd
xor byte [rbx], 0xdb
xor byte [rbx + 1], 0xd
xor byte [rbx + 2], 0x49
xor byte [rbx + 3], 0x9f
xor byte [rbx + 4], 0x41
xor byte [rbx + 5], 0xb5
xor byte [rbx + 6], 0xaf
xor byte [rbx + 7], 0xdf
xor byte [rbx + 8], 0xdb
xor byte [rbx + 9], 0xd
xor byte [rbx + 0xa], 0x49
xor byte [rbx + 0xb], 0x9f
xor byte [rbx + 0xc], 0x41
xor byte [rbx + 0xd], 0xb5
xor byte [rbx + 0xe], 0xaf
xor byte [rbx + 0xf], 0xdf
xor byte [rbx + 0x10], 0xdb
xor byte [rbx + 0x11], 0xd
xor byte [rbx + 0x12], 0x49
xor byte [rbx + 0x13], 0x9f
xor byte [rbx + 0x14], 0x41
xor byte [rbx + 0x15], 0xb5
xor byte [rbx + 0x16], 0xaf
xor byte [rbx + 0x17], 0xdf
xor byte [rbx + 0x18], 0xdb
xor byte [rbx + 0x19], 0xd
xor byte [rbx + 0x1a], 0x49
mov byte [rbx + 0x1b], 0
mov edx, edi
mov rcx, rbx
call rsi
xor eax, eax
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140105b00
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
mov rax, qword [0x1401a6868]
test rax, rax
jne 0x1401030b3
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov rbx, rsi
nop dword [rax]
nop dword [rax + rax]
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov r11d, dword [rax + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x140103093
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140103093
mov edi, dword [r11 + 0x20]
nop word [rax + rax]
dec r8d
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
mov edx, 0x9c9ce02b
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14010308e
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x140103070
cmp edx, 0x4f47495a
je 0x1401030c7
test r8d, r8d
jne 0x140103050
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x1401030a9
cmp qword [rax + 0x30], 0
jne 0x140103020
mov rax, r15
mov qword [0x1401a6868], rax
mov edx, 0xffffffff
mov rcx, rbp
call rax
nop dword [rax]
call fcn.1401237f4
jmp 0x1401030c0
mov ecx, dword [r11 + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x1401030ac