Function at 0x140224640
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, 0x80
xor ebx, ebx
mov edi, 0xb3b87e8e
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 0x1402246d4
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xb2811252
jmp 0x1402246c6
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, r13d
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x1402246a4
cmp r10d, ebx
jne 0x1402247d4
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 0x1402247d4
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x1402247d4
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0xb2811252
jmp 0x140224737
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 0x14022471c
cmp r14d, edi
je 0x14022474f
test esi, esi
jne 0x140224707
jmp 0x1402247d4
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 0x1402247dc
lea rax, [rcx + r11]
cmp r8, rax
jae 0x1402247dc
mov ebx, 0xb2811252
mov edi, ebx
jmp 0x140224799
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r13d
mov eax, ebx
xor eax, ecx
mov ebx, edx
imul ebx, eax
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x14022477f
jmp 0x1402247b9
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r13d
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
inc r8
mov al, byte [r8]
test al, al
jne 0x1402247a2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140224678
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0xe922602d
mov eax, 0x8c41bbc9
sub eax, dword [0x14033e058]
sub eax, dword [0x14033e050]
xor eax, 0x1f757cf9
sub eax, dword [0x14033e048]
mov rcx, qword [0x14033e040]
add eax, 0xe0e945a0
add eax, ecx
xor eax, 0xcddb4ff0
add eax, 0x63fb723a
xor eax, 0xf6897648
lea edx, [rcx + 0x24842045]
add edx, eax
not edx
mov eax, dword [0x14033e038]
xor eax, 0x3224b000
sub edx, eax
mov ecx, dword [0x14033e030]
xor ecx, 0xcddb4fff
add ecx, 0x39fd1b74
add ecx, edx
xor ecx, 0xd4db5000
mov dword [rbp + 0x48], ecx
movsxd rcx, ecx
call r8
mov r14, rax
mov qword [rbp + 0x58], rax
and dword [rbp + 0x48], 0
movabs rax, 0x88ef8bc800000000
mov r12, qword [0x14033e060]
mov rsi, r12
imul rsi, rax
movabs rax, 0xb66cba8b00000000
xor rsi, rax
movabs r8, 0x9629d4519aad3948
mov rcx, rsi
imul rcx, r8
movabs r9, 0xaaaaaaaaaaaaaaab
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r10, [0x14033e060]
mov rdi, rsi
and rdi, r8
imul rdi, qword [r10 + rcx*8]
movabs rax, 0xf458e4959c15eff0
imul rdi, rax
shr rdi, 3
movabs rax, 0xe90817ddd1cc806f
xor rdi, rax
movabs rax, 0xffffff57a200cba7
mov r11, rsi
imul r11, rax
add r11, 0x26307cf0
xor r11, rdi
xor r11, r12
mov rax, rdi
mov r15, qword [0x14033e070]
imul rax, r15
movabs rcx, 0xb9de928babb37486
imul rax, rcx
not rax
and r11, rax
ror r11, 0x3f
shr r11, 8
movabs r8, 0x69d62bae6552c6b8
lea rcx, [rsi + r8]
xor rcx, 0xffffffff953d7f8b
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x591ee29a30d12a60
mov rbx, qword [r10 + rcx*8]
imul rbx, rax
sub rbx, r8
movabs rcx, 0x25b3306623be2f20
mov rax, rdi
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov r10, rbx
xor r10, rsi
lea rcx, [rbx + r8]
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
lea rdx, [0x14033e060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x97
and ecx, 0x8000003f
jge 0x1402249d2
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r10, cl
not r10
imul r10, rdi
imul r8, r10, 0x26307cf0
movabs rax, 0x69d62bae6552c6b8
add r8, rax
mov r9, rbx
imul r9, r11
sub r9, r8
movabs rax, 0xf6514a6857a49380
imul r10, rax
movabs rax, 0x20fda24ee7dedbc0
add r10, rax
xor r9, r10
mov rcx, r8
sub rcx, qword [0x14033e078]
xor r9, rcx
xor r9, rdi
xor r9, rsi
movabs rcx, 0x9ab937ad73f8d1d1
xor r9, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, rdi
sub rdx, rax
mov rax, r9
imul rax, qword [0x14033e080]
lea rcx, [0x14033e060]
mov r10, qword [rcx + rdx*8]
and r10, rax
xor r10, rdi
and dil, 0x3f
mov cl, dil
ror r10, cl
imul r10, r8
not r11
imul r11, rbx
movabs rax, 0x7cd8a7de105d9e6a
imul r11, rax
mov rax, r10
imul rax, rsi
xor r11, rax
imul rdi, r12, 0x26307cf0
mov rdx, qword [0x14033e068]
sub rdi, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140224acc
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rdi, cl
lea rcx, [r8 + rdi]
not r8
imul r8, r9
imul rcx, r8
movabs rax, 0x9629d4519aad3948
imul rcx, rax
movabs rax, 0xf5ed7e87e7a5de7b
xor rbx, rax
not rbx
xor rcx, rbx
xor r10, r11
imul r10, r15
sub rcx, r10
call fcn.1401b6f64
mov qword [0x14034c9d8], rax
movdqa xmm0, xmmword [0x140318320]
movdqu xmmword [rbp - 0x50], xmm0
movdqa xmm1, xmmword [0x140318230]
movdqu xmmword [rbp - 0x40], xmm1
movdqa xmm0, xmmword [0x140318180]
movdqu xmmword [rbp - 0x30], xmm0
movdqa xmm1, xmmword [0x140318160]
movdqu xmmword [rbp - 0x20], xmm1
mov dword [rbp - 0x10], 0x18f9e5e4
mov word [rbp - 0xc], 0xc8b7
mov byte [rbp - 0xa], 0x19
xor esi, esi
mov r15, qword [0x14033e040]
xor edx, edx
mov rax, rsi
movabs rcx, 0x13cce94adbce3bb0
div rcx
add dl, 0x37
mov dil, dl
sar dil, 7
or dil, dl
mov bl, dil
shl bl, 6
mov al, dil
sar al, 2
or bl, al
mov r8b, dil
sar r8b, 5
mov al, dil
shl al, 3
or r8b, al
mov r9b, dil
sar r9b, 3
mov al, dil
shl al, 5
or r9b, al
mov dl, dil
sar dl, 4
mov al, dil
shl al, 4
or dl, al
mov r11b, dil
not r11b
mov cl, dil
ror cl, 1
mov r10b, byte [rbp + rsi - 0x50]
sub r10b, bl
sub r10b, 2
mov eax, 4
sub al, bl
xor r10b, al
sub r10b, byte [0x14033e050]
sub r10b, byte [0x14033e058]
add r10b, bl
add r10b, dil
sub r10b, cl
sub r10b, 0x3f
lea eax, [rbx + 7]
add al, dil
xor r10b, al
sub r10b, r8b
sub r10b, dil
sub r10b, byte [0x14033e048]
sub r10b, 0x50
add r10b, bl
add r10b, r15b
mov al, dl
sub al, r8b
add al, bl
add al, dil
xor r10b, al
mov al, dil
sub al, dl
xor al, dil
sub r10b, al
sub r10b, r9b
add r10b, 0x30
add r10b, dil
mov al, dil
ror al, 7
sub r9b, 0x50
add al, r9b
xor r10b, al
mov al, dil
add al, al
sub r10b, al
add bl, bl
add r10b, 0x51
add r10b, bl
add r10b, r15b
not r10b
mov al, dil
sar al, 7
or al, dil
sub r10b, al
mov al, r11b
xor al, byte [0x14033e038]
sub r10b, al
mov al, dil
xor al, byte [0x14033e030]
add r10b, al
mov al, dil
xor al, 0x40
sub r10b, al
movsx eax, dil
movsx ecx, r11b
imul ecx, eax
xor cl, r10b
mov byte [rbp + rsi - 0x50], cl
inc rsi
cmp rsi, 0x47
jb 0x140224b63
lea rax, [rbp - 0x50]
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], 0x47
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0x9f2f839e
mov eax, 0xb01b4f81
sub eax, dword [0x14033e058]
sub eax, dword [0x14033e050]
xor eax, 0xf2025e22
sub eax, dword [0x14033e048]
mov rdx, qword [0x14033e040]
lea ecx, [rdx - 0x1c2fd25e]
add ecx, eax
xor ecx, 0x71320fc4
add ecx, 0xa75be11
xor ecx, 0xe4496cca
mov r8d, dword [0x14033e030]
xor r8d, 0x1a193bd5
sub r8d, ecx
mov eax, dword [0x14033e038]
xor eax, 0xe5e6c42a
sub r8d, eax
sub r8d, edx
add r8d, 0xf1ce96e
xor r8d, 0xe450e4f2
mov dword [rbp + 0x48], r8d
movsxd rdx, r8d
lea r8, [rbp - 0x50]
mov rcx, r14
call fcn.140052e70
nop
and dword [rbp + 0x48], 0
xor eax, eax
and dword [rbp + 0x50], eax
mov dword [rbp + 0x50], 0x2f7a402
mov eax, 0xc85a79bc
sub eax, dword [0x14033e058]
sub eax, dword [0x14033e050]
xor eax, 0x49509586
sub eax, dword [0x14033e048]
mov r8, qword [0x14033e040]
lea edx, [r8 - 0x1d6fb8]
add edx, eax
xor edx, 0x886a659b
sub edx, 0x5d522d6a
xor edx, 0x80a1e11d
mov ecx, dword [0x14033e030]
xor ecx, 0x72167fa3
sub ecx, edx
mov eax, dword [0x14033e038]
xor eax, 0x8de9805c
sub ecx, eax
sub ecx, r8d
sub ecx, 0xbbbee25
xor ecx, 0x32425e94
mov dword [rbp + 0x50], ecx
call fcn.14029e440
mov rdx, rax
mov rcx, r14
call fcn.14029e5d4
nop
and dword [rbp + 0x50], 0
xor edi, edi
mov esi, 0x9706ef3a
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 0x140224e4e
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xc3108346
jmp 0x140224e40
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, r13d
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140224e1e
cmp r10d, edi
jne 0x140224f64
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 0x140224f64
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x140224f64
mov r13d, dword [rbx + 0x20]
dec r14d
lea rdx, [r14*4]
add rdx, r13
mov r11d, dword [rdx + r10]
add r11, r10
mov r15d, 0xc3108346
jmp 0x140224ec1
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 0x140224e9e
cmp r15d, esi
je 0x140224ee0
test r14d, r14d
jne 0x140224e81
mov r13d, 0x4764996c
jmp 0x140224f64
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 0x140224f6c
lea rax, [rbx + rcx]
cmp r9, rax
jae 0x140224f6c
mov edi, 0xc3108346
mov esi, edi
mov r13d, 0x4764996c
mov al, byte [r9]
cmp al, 0x2e
je 0x140224f49
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 r9
jmp 0x140224f13
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r13d
xor ecx, esi
mov esi, eax
imul esi, ecx
inc r9
mov al, byte [r9]
test al, al
jne 0x140224f34
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140224df2
mov rcx, qword [rbp + 0x58]
mov rbx, qword [rsp + 0xc0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp r9