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

Disassembly:
mov rax, rsp
push rbp
push r13
lea rbp, [rax - 0x5f]
sub rsp, 0xa8
cmp dword [rcx + 0x30], 0
mov r13, rcx
jne 0x1400a4a16
cmp byte [rcx + 0x34], 0
jne 0x1400a4a16
movdqa xmm0, xmmword [0x14031f0f0]
lea r8, [rbp + 0x33]
movdqa xmm1, xmmword [0x14031e790]
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
xor edi, edi
mov qword [rax + 0x20], r14
lea r14, [rbp + 0x31]
mov qword [rax - 0x18], r15
lea r15, [rbp + 0x32]
movdqu xmmword [rbp + 0xf], xmm0
neg r15
mov byte [rcx + 0x36], 0
movdqa xmm0, xmmword [0x14031de70]
neg r14
movdqu xmmword [rbp + 0x1f], xmm1
mov dword [rbp + 0x40], 0x31d14f
movdqu xmmword [rbp + 0x2f], xmm0
mov word [rbp + 0x44], 0x305
mov byte [rbp + 0x46], 0x59
mov byte [rbp + 0x3f], 0
movzx eax, dil
lea ebx, [rdi + rdi*2]
movzx ecx, byte [rbp + rbx + 0xf]
add al, al
mov byte [r8], cl
movzx r10d, byte [rbp + 0x42]
lea esi, [rax + rdi]
add r10b, sil
lea eax, [rbx + 1]
xor r10b, cl
mov byte [r8], r10b
xor dl, dl
movzx r9d, byte [rbp + rax + 0xf]
nop dword [rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a4246
inc dl
cmp dl, 4
jne 0x1400a4230
jmp 0x1400a4254
movzx eax, byte [rbp + 0x45]
movsx ecx, r10b
btc ecx, eax
mov byte [r8], cl
lea ecx, [rbx + 2]
mov dl, 5
lea r10, [rbp + 0xf]
add r10, rcx
movzx r9d, byte [r10]
nop dword [rax]
nop dword [rax + rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a4286
inc dl
cmp dl, 8
jne 0x1400a4270
jmp 0x1400a4294
movsx ecx, byte [r8]
movzx eax, byte [rbp + 0x44]
btc ecx, eax
mov byte [r8], cl
movzx edx, byte [r10]
xor cl, cl
nop word [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x1400a42b2
inc cl
cmp cl, 5
jne 0x1400a42a0
jmp 0x1400a42c0
movsx ecx, byte [r8]
movzx eax, byte [rbp + 0x43]
btc ecx, eax
mov byte [r8], cl
movzx eax, byte [rbp + 0x41]
add al, sil
xor byte [r8], al
lea eax, [rbx + 3]
movzx eax, byte [rbp + rax + 0xf]
mov byte [r8 + 1], al
movzx r9d, byte [rbp + 0x42]
add r9b, 3
add r9b, sil
xor r9b, al
lea eax, [rbx + 4]
mov byte [r8 + 1], r9b
xor dl, dl
movzx r10d, byte [rbp + rax + 0xf]
nop dword [rax]
nop dword [rax + rax]
movzx eax, r10b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a431a
inc dl
cmp dl, 4
jne 0x1400a4300
lea r10, [r15 + r8]
jmp 0x1400a432e
movzx eax, byte [rbp + 0x45]
lea r10, [r15 + r8]
movsx ecx, r9b
btc ecx, eax
mov byte [rbp + r10 + 0x33], cl
lea ecx, [rbx + 5]
mov dl, 5
lea r11, [rbp + 0xf]
add r11, rcx
movzx r9d, byte [r11]
nop
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a4356
inc dl
cmp dl, 8
jne 0x1400a4340
jmp 0x1400a4368
movsx ecx, byte [rbp + r10 + 0x33]
movzx eax, byte [rbp + 0x44]
btc ecx, eax
mov byte [rbp + r10 + 0x33], cl
movzx edx, byte [r11]
xor cl, cl
nop
movzx eax, dl
sar al, cl
test al, 1
jne 0x1400a4382
inc cl
cmp cl, 5
jne 0x1400a4370
jmp 0x1400a4394
movsx ecx, byte [rbp + r10 + 0x33]
movzx eax, byte [rbp + 0x43]
btc ecx, eax
mov byte [rbp + r10 + 0x33], cl
movzx eax, byte [rbp + 0x41]
add al, 3
add al, sil
add sil, 6
xor byte [rbp + r10 + 0x33], al
lea eax, [rdi + 2]
lea ecx, [rax + rax*2]
movzx ecx, byte [rbp + rcx + 0xf]
lea eax, [rbx + 7]
mov byte [r8 + 2], cl
movzx r10d, byte [rbp + 0x42]
add r10b, sil
xor r10b, cl
mov byte [r8 + 2], r10b
xor dl, dl
movzx r9d, byte [rbp + rax + 0xf]
nop
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a43ea
inc dl
cmp dl, 4
jne 0x1400a43d0
lea r9, [r14 + r8]
jmp 0x1400a43fe
movzx eax, byte [rbp + 0x45]
lea r9, [r14 + r8]
movsx ecx, r10b
btc ecx, eax
mov byte [rbp + r9 + 0x33], cl
lea ecx, [rbx + 8]
mov dl, 5
lea r11, [rbp + 0xf]
add r11, rcx
movzx r10d, byte [r11]
nop
movzx eax, r10b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a4426
inc dl
cmp dl, 8
jne 0x1400a4410
jmp 0x1400a4438
movsx ecx, byte [rbp + r9 + 0x33]
movzx eax, byte [rbp + 0x44]
btc ecx, eax
mov byte [rbp + r9 + 0x33], cl
movzx edx, byte [r11]
xor cl, cl
nop
movzx eax, dl
sar al, cl
test al, 1
jne 0x1400a4452
inc cl
cmp cl, 5
jne 0x1400a4440
jmp 0x1400a4464
movsx ecx, byte [rbp + r9 + 0x33]
movzx eax, byte [rbp + 0x43]
btc ecx, eax
mov byte [rbp + r9 + 0x33], cl
movzx eax, byte [rbp + 0x41]
add edi, 3
add al, sil
add r8, 3
xor byte [rbp + r9 + 0x33], al
cmp edi, 0xc
jne 0x1400a4200
movdqa xmm0, xmmword [0x14031f1b0]
lea r15, [rbp - 6]
movdqa xmm1, xmmword [0x14031e600]
lea r14, [rbp - 7]
movdqu xmmword [rbp - 0x29], xmm0
lea r8, [rbp - 5]
xor esi, esi
movdqa xmm0, xmmword [0x14031ded0]
neg r15
movdqu xmmword [rbp - 9], xmm0
mov dword [rbp + 8], 0xd13159
neg r14
movdqu xmmword [rbp - 0x19], xmm1
mov word [rbp + 0xc], 0x305
mov byte [rbp + 0xe], reloc.WLDAP32.dll_Ordinal_79
mov byte [rbp + 7], 0
movzx eax, sil
lea ebx, [rsi + rsi*2]
movzx ecx, byte [rbp + rbx - 0x29]
add al, al
mov byte [r8], cl
lea edi, [rax + rsi]
movzx r10d, dil
lea eax, [rbx + 1]
add r10b, byte [rbp + 0xa]
xor r10b, cl
mov byte [r8], r10b
xor dl, dl
movzx r9d, byte [rbp + rax - 0x29]
nop dword [rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a4516
inc dl
cmp dl, 4
jne 0x1400a4500
jmp 0x1400a4524
movzx eax, byte [rbp + 0xd]
movsx ecx, r10b
btc ecx, eax
mov byte [r8], cl
lea ecx, [rbx + 2]
mov dl, 5
lea r10, [rbp - 0x29]
add r10, rcx
movzx r9d, byte [r10]
nop dword [rax]
nop dword [rax + rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a4556
inc dl
cmp dl, 8
jne 0x1400a4540
jmp 0x1400a4564
movsx ecx, byte [r8]
movzx eax, byte [rbp + 0xc]
btc ecx, eax
mov byte [r8], cl
movzx edx, byte [r10]
xor cl, cl
nop word [rax + rax]
movzx eax, dl
sar al, cl
test al, 1
jne 0x1400a4582
inc cl
cmp cl, 5
jne 0x1400a4570
jmp 0x1400a4590
movsx ecx, byte [r8]
movzx eax, byte [rbp + 0xb]
btc ecx, eax
mov byte [r8], cl
movzx eax, dil
lea r9d, [rdi + 3]
add al, byte [rbp + 9]
xor byte [r8], al
lea eax, [rbx + 3]
movzx eax, byte [rbp + rax - 0x29]
mov byte [r8 + 1], al
add r9b, byte [rbp + 0xa]
xor r9b, al
lea eax, [rbx + 4]
mov byte [r8 + 1], r9b
xor dl, dl
movzx r10d, byte [rbp + rax - 0x29]
movzx eax, r10b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a45da
inc dl
cmp dl, 4
jne 0x1400a45c0
lea r10, [r15 + r8]
jmp 0x1400a45ee
movzx eax, byte [rbp + 0xd]
lea r10, [r8 + r15]
movsx ecx, r9b
btc ecx, eax
mov byte [rbp + r10 - 5], cl
lea ecx, [rbx + 5]
mov dl, 5
lea r11, [rbp - 0x29]
add r11, rcx
movzx r9d, byte [r11]
nop
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a4616
inc dl
cmp dl, 8
jne 0x1400a4600
jmp 0x1400a4628
movsx ecx, byte [rbp + r10 - 5]
movzx eax, byte [rbp + 0xc]
btc ecx, eax
mov byte [rbp + r10 - 5], cl
movzx edx, byte [r11]
xor cl, cl
nop
movzx eax, dl
sar al, cl
test al, 1
jne 0x1400a4642
inc cl
cmp cl, 5
jne 0x1400a4630
jmp 0x1400a4654
movsx ecx, byte [rbp + r10 - 5]
movzx eax, byte [rbp + 0xb]
btc ecx, eax
mov byte [rbp + r10 - 5], cl
lea eax, [rdi + 3]
add dil, 6
add al, byte [rbp + 9]
xor byte [rbp + r10 - 5], al
lea eax, [rsi + 2]
lea ecx, [rax + rax*2]
movzx r10d, dil
movzx ecx, byte [rbp + rcx - 0x29]
lea eax, [rbx + 7]
mov byte [r8 + 2], cl
add r10b, byte [rbp + 0xa]
xor r10b, cl
mov byte [r8 + 2], r10b
xor dl, dl
movzx r9d, byte [rbp + rax - 0x29]
nop dword [rax]
movzx eax, r9b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a46aa
inc dl
cmp dl, 4
jne 0x1400a4690
lea r9, [r14 + r8]
jmp 0x1400a46be
movzx eax, byte [rbp + 0xd]
lea r9, [r8 + r14]
movsx ecx, r10b
btc ecx, eax
mov byte [rbp + r9 - 5], cl
lea ecx, [rbx + 8]
mov dl, 5
lea r11, [rbp - 0x29]
add r11, rcx
movzx r10d, byte [r11]
nop
movzx eax, r10b
movzx ecx, dl
sar al, cl
test al, 1
jne 0x1400a46e6
inc dl
cmp dl, 8
jne 0x1400a46d0
jmp 0x1400a46f8
movsx ecx, byte [rbp + r9 - 5]
movzx eax, byte [rbp + 0xc]
btc ecx, eax
mov byte [rbp + r9 - 5], cl
movzx edx, byte [r11]
xor cl, cl
nop
movzx eax, dl
sar al, cl
test al, 1
jne 0x1400a4712
inc cl
cmp cl, 5
jne 0x1400a4700
jmp 0x1400a4724
movsx ecx, byte [rbp + r9 - 5]
movzx eax, byte [rbp + 0xb]
btc ecx, eax
mov byte [rbp + r9 - 5], cl
add dil, byte [rbp + 9]
add esi, 3
xor byte [rbp + r9 - 5], dil
add r8, 3
cmp esi, 0xc
jne 0x1400a44d0
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop
mov rbx, qword [rax + 0x30]
movsxd rcx, dword [rbx + 0x3c]
mov esi, dword [rcx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x1400a47da
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x1400a47da
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0xb9a7a018
lea rcx, [r14 + r11*4]
mov r9d, dword [rcx + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1400a47d5
movsx ecx, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, ecx
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, ecx
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x1400a47a0
cmp r10d, 0xdae7bd99
je 0x1400a47e2
test r11d, r11d
jne 0x1400a4780
mov rax, qword [rax]
jmp 0x1400a4750
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
lea rcx, [rbp - 5]
add rax, rbx
call rax
mov rcx, qword gs:[0x60]
mov r15, rax
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop dword [rax]
nop word [rax + rax]
mov rbx, qword [rcx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov r14d, dword [rdx + rbx + 0x88]
add r14, rbx
cmp r14, rbx
je 0x1400a48aa
mov r11d, dword [r14 + 0x18]
test r11d, r11d
je 0x1400a48aa
mov esi, dword [r14 + 0x20]
nop word [rax + rax]
dec r11d
mov r10d, 0xbaa7a1ab
lea rax, [rsi + r11*4]
mov r9d, dword [rax + rbx]
add r9, rbx
movzx r8d, byte [r9]
inc r9
test r8b, r8b
je 0x1400a48a5
movsx eax, r8b
lea r9, [r9 + 1]
sub r8b, 0x41
mov edx, eax
or edx, 0x20
cmp r8b, 0x19
movzx r8d, byte [r9 - 1]
cmova edx, eax
xor edx, r10d
imul r10d, edx, 0x1000193
test r8b, r8b
jne 0x1400a4870
cmp r10d, 0x6856405f
je 0x1400a48b2
test r11d, r11d
jne 0x1400a4850
mov rcx, qword [rcx]
jmp 0x1400a4820
mov ecx, dword [r14 + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [r14 + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
lea rdx, [rbp + 0x33]
add rax, rbx
mov rcx, r15
call rax
mov r9, r13
mov qword [rsp + 0x28], 0
lea r8, [0x1400a4130]
mov dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call rax
mov r15, rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x1400a49fe
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov rcx, qword [rcx + 0x10]
nop word [rax + rax]
mov rbx, qword [rcx + 0x30]
movsxd rdx, dword [rbx + 0x3c]
mov esi, dword [rdx + rbx + 0x88]
add rsi, rbx
cmp rsi, rbx
je 0x1400a49a7
mov r11d, dword [rsi + 0x18]
test r11d, r11d
je 0x1400a49a7
mov r14d, dword [rsi + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r11d
mov r10d, 0xf2ae0135
lea rax, [r14 + r11*4]
mov r9d, dword [rax + rbx]
add r9, rbx
movzx eax, byte [r9]
inc r9
test al, al
je 0x1400a49a2
nop
movsx edx, al
lea r9, [r9 + 1]
sub al, 0x41
mov r8d, edx
or r8d, 0x20
cmp al, 0x19
movzx eax, byte [r9 - 1]
cmova r8d, edx
xor r8d, r10d
imul r10d, r8d, 0x1000193
test al, al
jne 0x1400a4970
cmp r10d, 0x923c6755
je 0x1400a49af
test r11d, r11d
jne 0x1400a4950
mov rcx, qword [rcx]
jmp 0x1400a4920
mov ecx, dword [rsi + 0x24]
add rcx, rbx
movzx edx, word [rcx + r11*2]
mov ecx, dword [rsi + 0x1c]
add rcx, rbx
mov eax, dword [rcx + rdx*4]
mov rcx, r15
add rax, rbx
call rax
mov r14, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
mov r15, qword [rsp + 0xa0]
add rsp, 0xa8
pop r13
pop rbp
ret
mov rax, qword [r13 + 0x18]
mov byte [r13 + 0x34], 5
mov byte [r13 + 0x36], 1
test rax, rax
je 0x1400a49cb
mov rcx, r13
jmp 0x1400a49c9
mov rax, qword [rcx + 0x18]
mov byte [rcx + 0x36], 1
test rax, rax
je 0x1400a49f3
add rsp, 0xa8
pop r13
pop rbp
jmp rax