Function at 0x140221554
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, 0xa2f5418e
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 0x1402215e0
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x4fa837c2
jmp 0x1402215d2
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 0x1402215b5
cmp r9d, ebx
jne 0x1402216dc
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 0x1402216dc
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x1402216dc
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0x4fa837c2
jmp 0x140221643
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 0x140221628
cmp r14d, edi
je 0x14022165b
test esi, esi
jne 0x140221613
jmp 0x1402216dc
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 0x1402216e4
lea rax, [r11 + rcx]
cmp r8, rax
jae 0x1402216e4
mov ebx, 0x4fa837c2
mov edi, ebx
jmp 0x1402216a3
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 0x14022168b
jmp 0x1402216c1
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 0x1402216ac
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140221589
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0x8ca33c68
mov eax, 0x32f25101
sub eax, dword [0x14033a058]
sub eax, dword [0x14033a050]
xor eax, 0x23690cfe
sub eax, dword [0x14033a048]
mov rcx, qword [0x14033a040]
add eax, 0xdc77439d
add eax, ecx
xor eax, 0xd1cedff6
add eax, 0x67ef2234
xor eax, 0xf6915d6a
lea edx, [rcx + 0x1d99e43f]
add edx, eax
not edx
mov eax, dword [0x14033a038]
xor eax, 0x2e311ffc
sub edx, eax
mov ecx, dword [0x14033a030]
xor ecx, 0xd1cee003
add ecx, 0x35c98aec
add ecx, edx
xor ecx, 0xff57dff4
mov dword [rbp + 0x48], ecx
movsxd rcx, ecx
call r8
mov qword [rbp + 0x58], rax
and dword [rbp + 0x48], 0
movabs rdi, 0x534c5e9aec287c3d
movabs rax, 0x444ed00000000000
movabs r11, 0x9ac9ac0d577c0671
mov r14, qword [0x14033a088]
imul r14, rax
movabs rax, 0xb244b00000000000
xor r14, rax
mov r13, r14
imul r13, rdi
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul r13
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r13
sub rcx, rax
lea r9, [0x14033a060]
mov r10, r14
and r10, rdi
imul r10, qword [r9 + rcx*8]
movabs rax, 0x2a17a33db5d00cb0
imul r10, rax
shr r10, 3
movabs rax, 0xed222c89788f1cc7
xor r10, rax
movabs rax, 0xffffff57a3675567
mov rsi, r14
imul rsi, rax
add rsi, 0x225b0fb0
xor rsi, r10
xor rsi, qword [0x14033a060]
mov rax, r10
imul rax, qword [0x14033a070]
movabs rcx, 0xb9de928baad4ea46
imul rax, rcx
not rax
and rsi, rax
ror rsi, 0xa
shr rsi, 8
movabs r12, 0xacb3a16513d783c3
lea rcx, [r14 + r12]
xor rcx, 0xffffffff945ae14b
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xbadcaa8c8cb6e5e0
mov rbx, qword [r9 + rcx*8]
imul rbx, rax
add rbx, rdi
movabs rcx, 0xde975364655113b4
mov rax, r10
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov r15, rbx
xor r15, r14
lea rcx, [rbx + r12]
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [r9 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x57
and ecx, 0x8000003f
jge 0x1402218d9
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r10
imul r12, r15, 0x225b0fb0
movabs r8, 0xacb3a16513d783c3
add r8, r12
mov r9, rbx
imul r9, rsi
sub r9, r8
xor r9, r11
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r9, cl
movabs rax, 0xf27b713cfecbfcf0
imul r15, rax
movabs rax, 0x804f0db875b2689
sub r15, rax
xor r9, r15
mov rax, r8
sub rax, qword [0x14033a078]
xor r9, rax
xor r9, r10
xor r9, r14
mov rax, r9
mov r15b, 0x3f
and eax, 1
je 0x140221c86
sub rax, 1
je 0x140221b56
sub rax, 1
je 0x140221a61
cmp rax, 1
jne 0x140221d36
mov r11, r8
imul r11, rbx
movabs rax, 0xa3d0739ae1412475
add rax, r9
xor r11, rax
ror r11, 0x30
shr r11, 0xc
xor r11, r14
not r11
movabs rcx, 0x83574825e444
mov rdx, qword [0x14033a088]
add rdx, rcx
movabs rax, 0xac31241d10e94705
xor rdx, rax
movzx eax, r9b
movzx ecx, r11b
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db910c508bf
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, rdi
mov eax, 0xc11eda55
add rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14033a060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xbf84eaf61dec9d5a
sub rdi, r11
shr rdi, cl
movabs rcx, 0xacbbc5ed47722e5d
add rcx, r12
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r13 + rcx*8]
imul rax, r9
sub rax, rsi
xor rdi, rax
jmp 0x140221d36
movabs rax, 0xaaaaaa1ac107276b
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed030afb27
imul rcx, rax
movabs rdx, 0xfff17ca816651117
mov rax, r10
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ae71715b7
imul r12, rax
movabs rbx, 0x26e569cc8f7a451c
add rbx, rcx
add rbx, r12
movabs rax, 0x277cd7be13d7f00b
mov rcx, rbx
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rbx
not r8
lea rdx, [0x14033a060]
imul r8, qword [rdx + rcx*8]
xor r8, 0xffffffff9452f1bb
lea ecx, [r9 - 0x17]
and cl, r15b
rol r8, cl
movabs rax, 0xd795ff39c2aa04f5
xor r13, rax
movabs rax, 0x7c7a7dc6fd55fb0a
and r13, rax
imul r8, r13
mov rcx, r8
ror rcx, 7
not rcx
movabs rax, 0x9b2de6b370edc8b0
imul rcx, rax
mov rax, rbx
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, r15b
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140221d36
movabs rax, 0x7d21a00860af0029
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xacb3a16513d783c2
mov rax, r14
imul rax, rdx
xor rax, r11
not rax
shl rax, cl
xor r10, rax
mov cl, r8b
and cl, r15b
rol r10, cl
movabs rcx, 0xacb3a16513d783c3
add rcx, r9
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x1e9aec287c3d
lea rax, [0x14033a060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a79dc35146
or r10, rax
mov rdi, qword [0x14033a070]
imul rdi, r11
sub rdi, r8
mov rax, rsi
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a6cccb514b
xor rdi, rax
movabs rax, 0xcccccccccccccccd
mul r14
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r14
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r8
imul rdx, rdi
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, r14
movabs r14, 0x789589403991d51
add r14, rax
xor r14, rsi
movzx eax, bl
imul ecx, eax, 0xee
and cl, r15b
rol r14, cl
not r14
jmp 0x140221d36
movabs rax, 0xaaaaaaaaaaaaaaab
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r10
sub rcx, rax
mov rax, r9
imul rax, qword [0x14033a080]
lea rdx, [0x14033a060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r10
and r10b, r15b
mov cl, r10b
mov r10, rdx
ror r10, cl
imul r10, r8
not rsi
imul rsi, rbx
movabs rax, 0x7cd8a7de113a00aa
imul rsi, rax
mov rax, r10
imul rax, r14
mov r14, rsi
xor r14, rax
imul rsi, qword [0x14033a060], 0x225b0fb0
mov rdx, qword [0x14033a068]
sub rsi, rdx
mov al, r14b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140221d23
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0xacb3a16513d783c3
add rsi, rax
add rsi, r12
movabs rcx, 0xff055d7be1710a67
xor r11, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r11, rax
xor r10, r14
lea rax, [0x14033a060]
imul r10, qword [rax + r11*8]
not r8
imul r8, r9
imul r8, rsi
imul r8, rdi
movabs rcx, 0xf5ed7e87e6c240bb
xor rcx, rbx
not rcx
xor rcx, r8
sub rcx, r10
call fcn.1401b3484
mov qword [0x1403489d0], rax
movdqa xmm0, xmmword [0x140315200]
movdqu xmmword [rbp - 0x20], xmm0
movdqa xmm1, xmmword [0x1403152d0]
movdqu xmmword [rbp - 0x10], xmm1
xor r15d, r15d
mov r12, qword [0x14033a040]
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adbfb7614
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 r11b, r14b
sar r11b, 3
mov al, r14b
shl al, 5
or r11b, al
mov dl, r14b
sar dl, 5
mov al, r14b
shl al, 3
or dl, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov r9b, r14b
add r9b, r9b
mov r10b, r14b
sar r10b, 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 [0x14033a050]
sub dil, byte [0x14033a058]
sub dil, 0x3f
add dil, sil
add dil, r14b
lea eax, [rsi + 7]
add al, r14b
xor dil, al
sub dil, dl
sub dil, r14b
sub dil, byte [0x14033a048]
sub dil, 0x50
add dil, sil
add dil, r12b
mov al, r8b
sub al, dl
add al, sil
add al, r14b
xor dil, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dil, al
sub dil, r11b
add dil, 0x30
add dil, r14b
mov al, r10b
or al, r9b
sub al, 0x50
add al, r11b
xor dil, al
add sil, sil
add dil, sil
sub dil, r9b
add dil, 0x51
add dil, r12b
not dil
or r10b, r14b
sub dil, r10b
mov al, bl
xor al, byte [0x14033a038]
sub dil, al
mov al, r14b
xor al, byte [0x14033a030]
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, 0x20
jb 0x140221dc2
lea rax, [rbp - 0x20]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0x20
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0x6260b98a
mov eax, 0x2939c7e8
sub eax, dword [0x14033a058]
sub eax, dword [0x14033a050]
xor eax, 0x1a939f4
sub eax, dword [0x14033a048]
mov rdx, qword [0x14033a040]
lea ecx, [rdx - 0x33934530]
add ecx, eax
xor ecx, 0x43c22236
add ecx, 0x6063f506
xor ecx, 0x97df0197
mov r8d, dword [0x14033a030]
xor r8d, 0x127662a9
sub r8d, ecx
mov eax, dword [0x14033a038]
xor eax, 0xed899d56
sub r8d, eax
sub r8d, edx
sub r8d, 0xb100ae9
xor r8d, 0xfb7c9c6
mov dword [rbp + 0x48], r8d
movsxd rdx, r8d
lea r8, [rbp - 0x20]
mov rcx, qword [rbp + 0x58]
call fcn.140052650
nop
and dword [rbp + 0x48], 0
and dword [rbp + 0x50], 0
mov dword [rbp + 0x50], 0x2dee7dac
mov eax, 0x252c5822
sub eax, dword [0x14033a058]
sub eax, dword [0x14033a050]
xor eax, 0x3de3cf38
sub eax, dword [0x14033a048]
mov rcx, qword [0x14033a040]
add eax, 0x1313a4c7
add eax, ecx
xor eax, 0x4081f52b
sub eax, 0x58cb6d8e
xor eax, 0x66419ad
lea edx, [rcx - 0x53e5ce04]
add edx, eax
not edx
mov eax, dword [0x14033a038]
xor eax, 0xb578f5a0
sub edx, eax
mov ecx, dword [0x14033a030]
xor ecx, 0x4a870a5f
add ecx, 0x36074197
add ecx, edx
xor ecx, 0xd8db6660
mov dword [rbp + 0x50], ecx
call fcn.14029b0c0
mov rdx, rax
mov rcx, qword [rbp + 0x58]
call fcn.14029b254
nop
and dword [rbp + 0x50], 0
xor edi, edi
mov esi, 0x1f8bcc8a
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 0x1402220c0
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xa6eec61a
jmp 0x1402220b2
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 0x14022208c
cmp r10d, edi
jne 0x1402221c9
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 0x1402221c9
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x1402221c9
mov r13d, dword [rbx + 0x20]
dec r14d
lea rdx, [r10 + r14*4]
mov r11d, dword [rdx + r13]
add r11, r10
mov r15d, 0xa6eec61a
jmp 0x14022212c
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 0x140222109
cmp r15d, esi
je 0x140222145
test r14d, r14d
jne 0x1402220f3
jmp 0x1402221c9
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 0x1402221d1
lea rax, [rcx + rbx]
cmp r9, rax
jae 0x1402221d1
mov edi, 0xa6eec61a
mov esi, edi
jmp 0x14022218e
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 0x140222174
jmp 0x1402221ae
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 0x140222197
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140222060
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