Function at 0x140224504
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, 0x6ab7402e
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 0x140224590
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x9a64e530
jmp 0x140224582
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 0x140224565
cmp r9d, ebx
jne 0x14022468c
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov r11d, ecx
add r11, r10
shr rcx, 0x20
cmp r11, r10
je 0x14022468c
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x14022468c
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r9d, dword [rdx + r10]
add r9, r10
mov r14d, 0x9a64e530
jmp 0x1402245f3
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 [r9]
inc r9
test dl, dl
jne 0x1402245d8
cmp r14d, edi
je 0x14022460b
test esi, esi
jne 0x1402245c3
jmp 0x14022468c
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov eax, dword [r11 + 0x24]
add rax, r10
movzx eax, word [rax + rsi*2]
mov r9d, dword [rdx + rax*4]
add r9, r10
cmp r9, r11
jbe 0x140224694
lea rax, [r11 + rcx]
cmp r9, rax
jae 0x140224694
mov ebx, 0x9a64e530
mov edi, ebx
jmp 0x140224653
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 r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14022463b
jmp 0x140224671
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
mov al, byte [r9]
test al, al
jne 0x14022465c
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140224539
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0xf9c0565a
mov eax, 0x202b50aa
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0x6e0f7bda
sub eax, dword [0x14035f048]
mov rdx, qword [0x14035f040]
lea ecx, [rdx + 0x75eb8df7]
add ecx, eax
xor ecx, 0x3b87af2c
add ecx, 0x77594585
xor ecx, 0x897f05ac
mov r8d, dword [0x14035f030]
xor r8d, 0x23e24c0b
sub r8d, ecx
mov eax, dword [0x14035f038]
xor eax, 0xdc1db3f4
sub r8d, eax
sub r8d, edx
add r8d, 0x5b1d718c
xor r8d, 0x801b2b7c
mov dword [rbp + 0x48], r8d
movsxd rcx, r8d
call r9
mov r13, rax
mov qword [rbp + 0x58], rax
and dword [rbp + 0x48], 0
movabs rsi, 0xf15bf8372970e6f0
movabs rdi, 0x60dc4f65dc1b880b
xor ebx, ebx
movabs rax, 0xe191497dd7298200
movabs r11, 0xf6ac09f1002ad15d
mov r14, qword [0x14035f070]
imul r14, rax
not r14
movabs rcx, 0x953f60ef84f563b
mov r12, qword [0x14035f060]
mov rax, r12
xor rax, rcx
and r14, rax
ror r14, 0x3a
shr r14, 8
movabs rax, 0xf3cb90d0cdea5980
mov r10, r12
imul r10, rax
add r10, rdi
movabs rax, 0x4598172500000000
xor r10, rax
shr r10, 0x1f
not r10
movabs r8, 0x9f23b09a23e477f5
lea rcx, [r10 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rdx, [0x14035f060]
movzx eax, r10b
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x11
and ecx, 0x8000003f
jge 0x1402247f3
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rdx, r10
ror rdx, cl
not rdx
movabs rax, 0x65ddc7765728760e
mov r15, rdx
imul r15, rax
add r8, r15
mov r9, r10
imul r9, r14
sub r9, r8
xor r9, rsi
mov cl, r8b
xor cl, 0xfe
and cl, 0xf
rol r9, cl
mov rax, r8
sub rax, qword [0x14035f078]
xor r9, rax
movabs rax, 0x824d4ca1b8ee829a
imul rdx, rax
movabs rax, 0x7bd77776e29db079
sub rdx, rax
xor r9, rdx
xor r9, r11
mov rax, r9
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x140224b30
sub rax, 1
movabs r12, 0xaaaaaaaaaaaaaaab
je 0x140224a40
sub rax, 1
je 0x140224979
cmp rax, 1
jne 0x140224bb0
mov rsi, r8
imul rsi, r10
movabs rax, 0x63d78c0e51cbd95
add rax, r9
xor rsi, rax
ror rsi, 2
shr rsi, 0xc
not rsi
movabs rcx, 0x83571b3c6406
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x9fa135e273c33375
xor rdx, rax
movzx eax, r9b
movzx ecx, sil
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db943dc88f9
sub rax, r10
mov r10, rdx
xor r10, rax
mov rcx, r10
imul rcx, rdi
mov eax, 0x92075a13
add rcx, rax
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14035f060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rdi, 0x5c73d2712feea254
sub rdi, rsi
shr rdi, cl
movabs rcx, 0x9f2bd5228467a2d5
add rcx, r15
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
lea rdx, [0x14035f060]
imul rax, qword [rdx + rcx*8]
imul rax, r9
sub rax, r14
xor rdi, rax
jmp 0x140224bb0
movabs rcx, 0xaaaaaa1a921ea72d
mov r10, r9
xor r10, rcx
movabs rcx, 0x1206ed50137b61
imul r10, rcx
movabs rcx, 0xffff7e8ab40e95f1
imul r15, rcx
movabs rcx, 0xeaeddc1a0604dc8a
add r10, rcx
add r10, r15
movabs rax, 0x277cd7be40ce704d
mov rcx, r10
xor rcx, rax
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r10
not r8
lea rax, [0x14035f060]
imul r8, qword [rax + rcx*8]
xor r8, 0xffffffffc74b71fd
lea ecx, [r9 - 0x11]
and cl, 0x3f
rol r8, cl
movabs rax, 0x18506100a0000000
imul r8, rax
mov rcx, r10
sub rcx, r8
mov rax, r8
not rax
movabs rdx, 0x9b2de6b23c8bc9a8
imul rax, rdx
lea rdx, [rax + rcx*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140224bb0
movabs rax, 0xd7019921418e2ab
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, 0xea407c8d68f190f
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov cl, r8b
and cl, 0x3f
rol r11, cl
movabs rcx, 0x9f23b09a23e477f5
add rcx, r9
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xf65dc1b880b
lea rax, [0x14035f060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7cedad100
or r11, rax
mov rdi, qword [0x14035f070]
imul rdi, rsi
sub rdi, r8
mov rax, r14
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a69fd2d10d
xor rdi, rax
mov rax, r9
imul rax, r8
imul rax, rdi
mov rbx, r10
sub rbx, rax
movabs rax, 0x789589450809d17
add rbx, rax
xor rbx, r14
movzx eax, r10b
imul ecx, eax, 0xe8
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x140224bb0
mov rcx, r9
imul rcx, qword [0x14035f080]
mov rdx, qword [0x14035f068]
and rcx, rdx
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x1d
imul r11, r8
mov rbx, r14
not rbx
imul rbx, r10
movabs rax, 0x7cd8a7de422380ec
imul rbx, rax
imul r14, r12, 0xfffffffff8658766
sub r14, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140224b93
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0x9f23b09a23e477f5
add r14, rax
add r14, r15
movabs r12, 0xaaaaaaaaaaaaaaab
movabs rcx, 0xff055d7bb2688a21
xor rsi, rcx
mov rax, r12
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rsi, rax
xor r11, rbx
lea rax, [0x14035f060]
imul r11, qword [rax + rsi*8]
not r8
imul r8, r9
imul r8, r14
imul r8, rdi
movabs rcx, 0xf5ed7e87b5dbc0fd
xor rcx, r10
not rcx
xor rcx, r8
sub rcx, r11
call fcn.1401c6704
mov qword [0x14036d9b8], rax
movdqa xmm0, xmmword [0x140338260]
movdqu xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x10], 0xbb045bbf
mov dword [rbp - 0xc], 0x38f5a5e2
mov byte [rbp - 8], 0xa6
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, 0x19
jb 0x140224c3a
lea rax, [rbp - 0x20]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0x19
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0xb75daec9
mov eax, 0xd443a618
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0xe17780e1
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x3c790ad7
add eax, ecx
xor eax, 0xfc27d453
sub eax, 0x66fd8eb8
xor eax, 0xc672d435
lea edx, [rcx - 0x60985bff]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd276aff0
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x2d89500f
add ecx, 0x10bf0b84
add ecx, edx
xor ecx, 0xc35f4f10
mov dword [rbp + 0x48], ecx
movsxd rdx, ecx
lea r8, [rbp - 0x20]
mov rcx, r13
call fcn.140053908
nop
and dword [rbp + 0x48], 0
xor eax, eax
and dword [rbp + 0x50], eax
mov dword [rbp + 0x50], 0x70ab998b
mov eax, 0xd05e71ca
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0x89df3e4b
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0x876627ff
add eax, ecx
xor eax, 0x99c7a90d
sub eax, 0x8d53b9a
xor eax, 0x6f507f7a
lea edx, [rcx - 0x347be698]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd3cfad06
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x2c3052f9
add ecx, 0x6b531f1b
add ecx, edx
xor ecx, 0x38b36d6
mov dword [rbp + 0x50], ecx
call fcn.1402ae5b0
mov rdx, rax
mov rcx, r13
call fcn.1402ae744
nop
and dword [rbp + 0x50], 0
xor edi, edi
mov esi, 0xb0bdc0ba
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 0x140224f32
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xade56426
jmp 0x140224f24
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 0x140224efe
cmp r10d, edi
jne 0x14022503b
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 0x14022503b
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x14022503b
mov r13d, dword [rbx + 0x20]
dec r14d
lea rdx, [r10 + r14*4]
mov r11d, dword [rdx + r13]
add r11, r10
mov r15d, 0xade56426
jmp 0x140224f9e
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 0x140224f7b
cmp r15d, esi
je 0x140224fb7
test r14d, r14d
jne 0x140224f65
jmp 0x14022503b
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 0x140225043
lea rax, [rcx + rbx]
cmp r9, rax
jae 0x140225043
mov edi, 0xade56426
mov esi, edi
jmp 0x140225000
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 0x140224fe6
jmp 0x140225020
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 0x140225009
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140224ed2
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