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

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
xor ebx, ebx
mov edi, 0x4ab287ce
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r13d, 0x4764996c
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test ebx, ebx
je 0x14021c618
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xd2ce1e6
jmp 0x14021c60a
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, r13d
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x14021c5ed
cmp r9d, ebx
jne 0x14021c714
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov r11d, ecx
add r11, r9
shr rcx, 0x20
cmp r11, r9
je 0x14021c714
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x14021c714
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0xd2ce1e6
jmp 0x14021c67b
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r13d
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
mov dl, byte [r10]
inc r10
test dl, dl
jne 0x14021c660
cmp r14d, edi
je 0x14021c693
test esi, esi
jne 0x14021c64b
jmp 0x14021c714
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + rsi*2]
mov r8d, dword [rdx + rax*4]
add r8, r9
cmp r8, r11
jbe 0x14021c71c
lea rax, [rcx + r11]
cmp r8, rax
jae 0x14021c71c
mov ebx, 0xd2ce1e6
mov edi, ebx
jmp 0x14021c6db
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r13d
xor ecx, ebx
mov ebx, eax
imul ebx, ecx
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x14021c6c3
jmp 0x14021c6f9
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r13d
xor ecx, edi
mov edi, eax
imul edi, ecx
inc r8
mov al, byte [r8]
test al, al
jne 0x14021c6e4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14021c5c1
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0xadbce778
mov eax, 0x51841bfe
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0x204e1de7
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xdff59094
add eax, ecx
xor eax, 0xceb3f0de
add eax, 0x64d43308
xor eax, 0xf68b278a
lea edx, [rcx + 0x230906a5]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0x314c0f12
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0xceb3f0ed
add ecx, 0x3922ba85
add ecx, edx
xor ecx, 0xf720d3aa
mov dword [rbp + 0x48], ecx
movsxd rcx, ecx
call r8
mov qword [rbp + 0x58], rax
and dword [rbp + 0x48], 0
movabs rdi, 0x4d688a38adb40e1
movabs rax, 0x22e126e000000000
movabs r11, 0xf453a8981513aa2e
mov rbx, qword [0x14035f080]
imul rbx, rax
movabs rax, 0xaf72d75000000000
xor rbx, rax
mov rcx, rbx
imul rcx, rdi
mov qword [rbp + 0x48], rcx
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r9, [0x14035f060]
mov r10, rbx
and r10, rdi
imul r10, qword [r9 + rcx*8]
movabs rax, 0x614830f0284cb90c
imul r10, rax
shr r10, 3
movabs rax, 0x666cceee2249e53a
xor r10, rax
movabs rax, 0xffffff57fe9b5c59
mov r15, rbx
imul r15, rax
sub r15, 0x1eec7896
xor r15, r10
xor r15, qword [0x14035f060]
mov rax, r10
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928bf728e378
imul rax, rcx
not rax
and r15, rax
ror r15, 0x28
shr r15, 8
movabs r14, 0xfb29775c7524bf1f
lea rcx, [rbx + r14]
xor rcx, 0xffffffffc9a6e875
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x8557db4999e84330
mov rsi, qword [r9 + rcx*8]
imul rsi, rax
add rsi, rdi
movabs rcx, 0xd6167f2348b849b8
mov rax, r10
imul rax, rcx
xor rsi, rax
shr rsi, 0x1f
not rsi
mov r12, rsi
xor r12, rbx
lea rcx, [rsi + r14]
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, sil
movzx ecx, byte [r9 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x69
mov eax, 0x8000003f
and ecx, eax
jge 0x14021c914
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r12, cl
not r12
imul r12, r10
imul r13, r12, 0xffffffffe113876a
lea r9, [r14 + r13]
mov r8, rsi
imul r8, r15
sub r8, r9
xor r8, r11
movzx r14d, r9b
mov ecx, r14d
xor ecx, 6
and ecx, 0xf
and ecx, eax
jge 0x14021c94e
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
mov rax, r9
sub rax, qword [0x14035f078]
xor r8, rax
movabs rax, 0x7935935bafb2842a
imul r12, rax
movabs rax, 0x6c5f33bf5a98ba3f
add r12, rax
xor r8, r12
xor r8, r10
xor r8, rbx
mov rax, r8
and eax, 1
mov r12b, 0x3f
xor rax, 2
je 0x14021ccda
sub rax, 1
je 0x14021cb9d
sub rax, 1
je 0x14021caa4
cmp rax, 1
jne 0x14021cd89
mov r11, r9
imul r11, rsi
movabs rax, 0x80a9bea253256fc7
add rax, r8
xor r11, rax
ror r11, 0x12
shr r11, 0xc
xor r11, rbx
not r11
movabs rcx, 0x835715d9ed7e
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0xfbabf2242be672e7
xor rdx, rax
movzx eax, r11b
movzx ecx, r8b
imul ecx, eax
and cl, r12b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db94d390181
sub rax, rsi
mov rsi, rdx
xor rsi, rax
mov rcx, rsi
imul rcx, rdi
mov eax, 0x9ce2d36b
add rcx, rax
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14035f060]
mov cl, byte [r12 + rcx*8]
and cl, 0xf
movabs rdi, 0x17ac52c203e5f1ea
sub rdi, r11
shr rdi, cl
movabs rcx, 0xfb319be4e38b62c7
add rcx, r13
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r12 + rcx*8]
imul rax, r8
sub rax, r15
xor rdi, rax
jmp 0x14021cd89
movabs rax, 0xaaaaaa1a9cfb2e55
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed5ef6f219
imul rcx, rax
movabs rdx, 0xfff17ca84b991829
mov rax, r10
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8abaeb1c89
imul r13, rax
movabs rsi, 0x2dfc002367f1c820
add rsi, rcx
add rsi, r13
movabs rax, 0x277cd7be4e2bf935
mov rcx, rsi
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rsi
not r9
lea r14, [0x14035f060]
imul r9, qword [r14 + rcx*8]
xor r9, 0xffffffffc9aef885
lea ecx, [r8 + 0x17]
and cl, r12b
rol r9, cl
movabs rcx, 0xffdd8abb7f560dcb
mov rax, qword [rbp + 0x48]
xor rax, rcx
movabs rcx, 0x7c7a7dc6a0a9f234
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 0x26
not rcx
movabs rax, 0x9b2de6b2071dec48
imul rcx, rax
mov rax, rsi
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r15b
and cl, r12b
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x14021cd89
movabs rax, 0x3a1ee6c51e07abaf
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0xfb29775c7524bf1e
mov rax, rbx
imul rax, rdx
xor rax, r11
not rax
shl rax, cl
xor r10, rax
and r14d, 0x8000003f
jge 0x14021cbf7
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r10, cl
movabs rcx, 0xfb29775c7524bf1f
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x8a38adb40e1
lea r14, [0x14035f060]
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7c03f5878
or r10, rax
mov rdi, qword [0x14035f070]
imul rdi, r11
sub rdi, r9
mov rax, r15
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a691375875
xor rdi, rax
movabs rax, 0xcccccccccccccccd
mul rbx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rbx
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, r9
imul rdx, rdi
shr rdx, cl
mov rax, rsi
sub rax, rdx
sub rax, rbx
movabs rbx, 0x78958945e65146f
add rbx, rax
xor rbx, r15
mov cl, sil
shl cl, 4
and cl, r12b
rol rbx, cl
not rbx
jmp 0x14021cd89
movabs rax, 0xaaaaaaaaaaaaaaab
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r10
sub rcx, rax
mov rax, r8
imul rax, qword [0x14035f080]
lea r14, [0x14035f060]
mov rdx, qword [r14 + rcx*8]
and rdx, rax
xor rdx, r10
and r10b, r12b
mov cl, r10b
mov r10, rdx
ror r10, cl
imul r10, r9
not r15
imul r15, rsi
movabs rax, 0x7cd8a7de4cc60994
imul r15, rax
mov rax, r10
imul rax, rbx
mov rbx, r15
xor rbx, rax
imul r14, qword [0x14035f060], 0xffffffffe113876a
mov rdx, qword [0x14035f068]
sub r14, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x14021cd76
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs r15, 0xfb29775c7524bf1f
add r15, r14
add r15, r13
movabs rcx, 0xff055d7bbc8d0359
xor r11, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r11, rax
xor r10, rbx
lea rax, [0x14035f060]
imul r10, qword [rax + r11*8]
not r9
imul r9, r8
imul r9, r15
imul r9, rdi
movabs rcx, 0xf5ed7e87bb3e4985
xor rcx, rsi
not rcx
xor rcx, r9
sub rcx, r10
call fcn.1401c74f0
mov qword [0x14036d9e8], rax
movdqa xmm0, xmmword [0x140338250]
movdqu xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x10], 0xfe5115bb
mov word [rbp - 0xc], 0xa18e
mov byte [rbp - 0xa], 0x1f
xor r15d, r15d
mov r12, qword [0x14035f040]
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adb96c2c4
div rcx
add dl, 0x30
mov r14b, dl
sar r14b, 7
or r14b, dl
mov sil, r14b
shl sil, 6
mov al, r14b
sar al, 2
or sil, al
mov r8b, r14b
sar r8b, 5
mov al, r14b
shl al, 3
or r8b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov dl, r14b
sar dl, 4
mov al, r14b
shl al, 4
or dl, al
mov r9b, r14b
add r9b, r9b
mov r11b, r14b
sar r11b, 7
mov bl, r14b
not bl
mov dil, byte [rbp + r15 - 0x20]
sub dil, sil
sub dil, 2
mov eax, 4
sub al, sil
xor dil, al
mov cl, r14b
shl cl, 7
mov al, r14b
sar al, 1
or cl, al
sub dil, cl
sub dil, byte [0x14035f050]
sub dil, byte [0x14035f058]
sub dil, 0x3f
add dil, sil
add dil, r14b
lea eax, [rsi + 7]
add al, r14b
xor dil, al
sub dil, r8b
sub dil, r14b
sub dil, byte [0x14035f048]
sub dil, 0x50
add dil, sil
add dil, r12b
mov al, dl
sub al, r8b
add al, sil
add al, r14b
xor dil, al
mov al, r14b
sub al, dl
xor al, r14b
sub dil, al
sub dil, r10b
add dil, 0x30
add dil, r14b
mov al, r11b
or al, r9b
sub al, 0x50
add al, r10b
xor dil, al
add sil, sil
add dil, sil
sub dil, r9b
add dil, 0x51
add dil, r12b
not dil
or r11b, r14b
sub dil, r11b
mov al, bl
xor al, byte [0x14035f038]
sub dil, al
mov al, r14b
xor al, byte [0x14035f030]
add dil, al
mov al, r14b
xor al, 0x40
sub dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor cl, dil
mov byte [rbp + r15 - 0x20], cl
inc r15
cmp r15, 0x17
jb 0x14021ce19
lea rax, [rbp - 0x20]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0x17
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0x904816d6
mov eax, 0xad4230a0
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0x248a773a
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x9d8127ca
add eax, ecx
xor eax, 0x630ddd2e
add eax, 0x43e26a70
xor eax, 0xf60812fe
lea edx, [rcx + 0x7e2a0bfe]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xadfc4da0
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x5203b25f
add ecx, 0xb1e0998f
add ecx, edx
xor ecx, 0x277a0e60
mov dword [rbp + 0x48], ecx
movsxd rdx, ecx
lea r8, [rbp - 0x20]
mov rcx, qword [rbp + 0x58]
call fcn.140053908
nop
and dword [rbp + 0x48], 0
xor eax, eax
and dword [rbp + 0x50], eax
mov dword [rbp + 0x50], 0x314e0662
mov eax, 0x60814cc6
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0xfa44b13e
sub eax, dword [0x14035f048]
mov r8, qword [0x14035f040]
lea edx, [r8 - 0x69c37be8]
add edx, eax
xor edx, 0xfc70bbdf
sub edx, 0x171466cc
xor edx, 0x301b8fde
mov ecx, dword [0x14035f030]
xor ecx, 0xa78c6f5
sub ecx, edx
mov eax, dword [0x14035f038]
xor eax, 0xf587390a
sub ecx, eax
sub ecx, r8d
sub ecx, 0x14495626
xor ecx, 0xb1375292
mov dword [rbp + 0x50], ecx
call fcn.1402ae5b0
mov rdx, rax
mov rcx, qword [rbp + 0x58]
call fcn.1402ae744
nop
and dword [rbp + 0x50], 0
xor edi, edi
mov esi, 0xa406564a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x14021d111
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x92f6ca4a
jmp 0x14021d103
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x14021d0dd
cmp r10d, edi
jne 0x14021d21a
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov ebx, ecx
add rbx, r10
shr rcx, 0x20
cmp rbx, r10
je 0x14021d21a
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x14021d21a
mov r13d, dword [rbx + 0x20]
dec r14d
lea rdx, [r10 + r14*4]
mov r11d, dword [rdx + r13]
add r11, r10
mov r15d, 0x92f6ca4a
jmp 0x14021d17d
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, 0x4764996c
mov edx, r15d
xor edx, r8d
mov r15d, r9d
imul r15d, edx
mov dl, byte [r11]
inc r11
test dl, dl
jne 0x14021d15a
cmp r15d, esi
je 0x14021d196
test r14d, r14d
jne 0x14021d144
jmp 0x14021d21a
mov edx, dword [rbx + 0x24]
add rdx, r10
movzx r8d, word [rdx + r14*2]
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r8*4]
add r9, r10
cmp r9, rbx
jbe 0x14021d222
lea rax, [rbx + rcx]
cmp r9, rax
jae 0x14021d222
mov edi, 0x92f6ca4a
mov esi, edi
jmp 0x14021d1df
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, edi
mov edi, eax
imul edi, ecx
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14021d1c5
jmp 0x14021d1ff
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, esi
mov esi, eax
imul esi, ecx
inc r9
mov al, byte [r9]
test al, al
jne 0x14021d1e8
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x14021d0b1
mov rcx, qword [rbp + 0x58]
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp r9