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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x98]
sub rsp, 0x198
mov ebx, edx
mov rdi, rcx
xor r12d, r12d
mov dword [rsp + 0x48], r12d
lea rdx, [rbp + 0xd8]
xor r8d, r8d
lea rcx, [rsp + 0x50]
call fcn.140002980
nop
call fcn.14001bdf0
movsx r13d, al
call fcn.14001bde0
movsx ecx, al
imul r13d, ecx
call fcn.14001be20
movsx r15d, al
mov dword [rbp + 0xe8], r15d
imul ecx, r13d, 7
movsx eax, byte [0x14057e016]
add ecx, r15d
add eax, ecx
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
cmp eax, ecx
je 0x1400121b2
movsx eax, byte [0x14057e014]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14057e013]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov eax, r12d
cmp ebx, 0xbadf33d
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rbp + 0xf0], xmm1
lea r10d, [r15 + r13*8]
movsx eax, byte [0x14057e016]
add eax, r10d
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
cmp eax, ecx
je 0x140011f5b
call fcn.14001be00
movsx edx, al
movsx eax, byte [0x14057eb98]
imul edx, eax
lea r8d, [rdx + rdx*2]
call fcn.14001be30
movsx ecx, al
sub r8d, ecx
call fcn.14001be10
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14057e013]
add ecx, r8d
je 0x140011f5b
mov r9d, 2
jmp 0x140011fc9
lea edx, [r13*4]
add edx, r13d
movsx eax, byte [0x14057e016]
add eax, r15d
lea eax, [rax + rdx*2]
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
cmp eax, ecx
je 0x140011fc2
movsx eax, byte [0x14057e016]
add eax, r15d
lea eax, [rax + r13*4]
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0xf0]
cvttsd2si r9d, xmm0
jmp 0x140011fc9
mov r9d, dword [rbp + 0xe8]
movsx eax, byte [0x14057e016]
add eax, r10d
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x1400121b2
mov rcx, qword [0x14057ec30]
test rcx, rcx
jne 0x1400121ae
mov r11d, r12d
mov r10d, 0x8441a236
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x14001207d
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x6813bbec
cmp rcx, r8
je 0x140012074
nop
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0xfff5db
add rcx, 2
cmp rcx, r8
jne 0x140012060
cmp edx, r11d
jne 0x14001217d
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
shr r15, 0x20
mov edi, ecx
add rdi, r9
cmp rdi, r9
je 0x14001217d
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x14001217d
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
mov edx, 0x6813bbec
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400120f6
nop dword [rax]
movsx eax, al
xor eax, edx
imul edx, eax, 0xfff5db
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
test al, al
jne 0x1400120e0
cmp edx, r10d
je 0x140012102
test r8d, r8d
jne 0x1400120c0
jmp 0x14001217d
mov ecx, dword [rdi + 0x1c]
add rcx, r9
mov eax, dword [rdi + 0x24]
add rax, r9
movzx eax, word [rax + r8*2]
mov ecx, dword [rcx + rax*4]
add rcx, r9
cmp rcx, rdi
jbe 0x1400122e7
lea rax, [rdi + r15]
cmp rcx, rax
jae 0x1400122e7
mov r11d, 0x6813bbec
mov r10d, r11d
movzx eax, byte [rcx]
cmp al, 0x2e
je 0x140012157
nop
movsx eax, al
xor eax, r11d
imul r11d, eax, 0xfff5db
inc rcx
movzx eax, byte [rcx]
cmp al, 0x2e
jne 0x140012140
inc rcx
movzx eax, byte [rcx]
test al, al
je 0x140012179
movsx eax, al
xor eax, r10d
imul r10d, eax, 0xfff5db
lea rcx, [rcx + 1]
movzx eax, byte [rcx]
test al, al
jne 0x140012161
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140012193
cmp qword [rax + 0x30], 0
jne 0x140012030
xor r12d, r12d
mov ecx, r12d
mov qword [0x14057ec30], rcx
mov rdi, qword [rbp + 0xe0]
mov r15d, dword [rbp + 0xe8]
call rcx
mov ebx, eax
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x400
mov r8d, ebx
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov r11d, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
lea r14, [rdi + 0x10]
lea rsi, [rdi + 0x18]
mov qword [r14], r12
mov ebx, 0xf
mov qword [rsi], rbx
mov byte [rdi], 0
mov dword [rsp + 0x48], 1
lea ecx, [r15 + r13]
movsx eax, byte [0x14057e016]
lea ecx, [rcx + r13*8]
add eax, ecx
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
cmp eax, ecx
je 0x14001271b
movsx eax, byte [0x14057e014]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14057e013]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r12
cmp qword [rsp + 0x40], 0
setne al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rbp + 0xf0], xmm1
movsx eax, byte [0x14057e016]
add eax, r15d
lea eax, [rax + r13*8]
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
mov r10, rsi
movsx ecx, byte [0x14057e012]
cmp eax, ecx
je 0x1400122f3
call fcn.14001be00
movsx edx, al
movsx eax, byte [0x14057eb98]
imul edx, eax
lea r8d, [rdx + rdx*2]
call fcn.14001be30
movsx ecx, al
sub r8d, ecx
call fcn.14001be10
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14057e013]
add ecx, r8d
lea r14, [rdi + 0x10]
je 0x1400122ef
mov r9d, 2
jmp 0x14001238f
xor r12d, r12d
jmp 0x140012199
lea r10, [rdi + 0x18]
call fcn.14001bdf0
movsx edx, al
call fcn.14001bde0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.14001be20
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14057e016]
add eax, ecx
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
cmp eax, ecx
je 0x140012388
call fcn.14001bdf0
movsx edx, al
call fcn.14001bde0
movsx ecx, al
imul edx, ecx
call fcn.14001be20
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [0x14057e016]
add eax, ecx
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0xf0]
cvttsd2si r9d, xmm0
mov rsi, r10
jmp 0x14001238f
mov r9d, dword [rbp + 0xe8]
call fcn.14001bdf0
movsx edx, al
call fcn.14001bde0
movsx ecx, al
imul edx, ecx
call fcn.14001be20
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [0x14057e016]
add eax, ecx
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x14001271b
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8, r11
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x68]
call fcn.1400014c0
lea rax, [rsp + 0x68]
cmp rdi, rax
je 0x14001245e
mov rdx, qword [rsi]
cmp rdx, 0xf
jbe 0x140012440
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140012437
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140012492
mov rcx, r8
lea rsi, [rdi + 0x18]
call fcn.14001f764
lea r14, [rdi + 0x10]
mov qword [rsi], rbx
mov byte [rdi], 0
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x78]
movups xmmword [rdi + 0x10], xmm1
mov byte [rsp + 0x68], 0
jmp 0x140012462
mov rbx, qword [rbp - 0x80]
cmp rbx, 0xf
jbe 0x14001249e
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012499
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140012499
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14001f764
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LocalFree]
call fcn.14001bde0
movsx edx, al
call fcn.14001bdf0
movsx ecx, al
imul edx, ecx
call fcn.14001be20
movsx ecx, al
lea eax, [rcx + rdx*8]
mov dword [rbp + 0xe8], eax
call fcn.14001bde0
movsx edx, al
call fcn.14001bdf0
movsx ecx, al
imul edx, ecx
call fcn.14001be20
movsx ecx, al
lea eax, [rcx + rdx*4]
mov dword [rbp + 0xf8], eax
call fcn.14001bde0
movsx r13d, al
call fcn.14001bdf0
movsx ecx, al
imul r13d, ecx
call fcn.14001be20
movsx ecx, al
mov dword [rbp + 0xf0], ecx
lea eax, [r13*4]
add eax, r13d
lea r12d, [rcx + rax*2]
mov r15d, dword [rbp + 0xe8]
nop word [rax + rax]
mov rdi, qword [r14]
mov rax, qword [rbp + 0xe0]
mov rbx, rax
cmp qword [rsi], 0xf
jbe 0x140012546
mov rbx, qword [rax]
test rdi, rdi
je 0x1400125a7
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp - 0x70]
call sub.VCRUNTIME140.dll_memset
lea rcx, [0x140022888]
lea rdi, [0x14002288a]
nop word [rax + rax]
movzx eax, byte [rcx]
mov byte [rbp + rax - 0x70], 1
inc rcx
cmp rcx, rdi
jne 0x140012570
mov rcx, qword [r14]
add rcx, rbx
mov r10, rbx
cmp rbx, rcx
jae 0x1400125a7
nop
movzx eax, byte [r10]
cmp byte [rbp + rax - 0x70], 0
jne 0x140012651
inc r10
cmp r10, rcx
jb 0x140012590
mov r10, 0xffffffffffffffff
movsx eax, byte [0x14057e014]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14057e013]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xor eax, eax
cmp r10, 0xffffffffffffffff
setne al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rbp - 0x78], xmm1
movsx eax, byte [0x14057e016]
add eax, dword [rbp + 0xe8]
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
cmp eax, ecx
je 0x140012659
call fcn.14001be00
movsx edx, al
movsx eax, byte [0x14057eb98]
imul edx, eax
lea r8d, [rdx + rdx*2]
call fcn.14001be30
movsx ecx, al
sub r8d, ecx
call fcn.14001be10
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14057e013]
add ecx, r8d
je 0x140012659
mov r15d, 2
jmp 0x1400126c1
sub r10, rbx
jmp 0x1400125ae
lea eax, [r13*4]
add eax, r13d
mov ecx, dword [rbp + 0xf0]
lea r12d, [rcx + rax*2]
movsx eax, byte [0x14057e016]
add eax, r12d
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
cmp eax, ecx
je 0x1400126c1
movsx eax, byte [0x14057e016]
add eax, dword [rbp + 0xf8]
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp - 0x78]
cvttsd2si r15d, xmm0
movsx eax, byte [0x14057e016]
add eax, r12d
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
sub eax, ecx
imul eax, r15d
test eax, eax
je 0x140012711
mov qword [rsp + 0x20], 0
lea r9, [0x1400227b6]
mov r8d, 1
mov rdx, r10
mov rcx, qword [rbp + 0xe0]
call fcn.14001c790
jmp 0x140012530
mov rdi, qword [rbp + 0xe0]
xor r12d, r12d
call fcn.14001bdf0
movsx r9d, al
call fcn.14001bde0
movsx ecx, al
imul r9d, ecx
call fcn.14001be20
movsx eax, al
add eax, r9d
movsx ecx, byte [0x14057e016]
add eax, ecx
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [0x14057e014]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [0x14057e013]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rbp + 0xe0], xmm1
call fcn.14001bdf0
movsx edx, al
call fcn.14001bde0
movsx ecx, al
imul edx, ecx
call fcn.14001be20
movsx ecx, al
lea eax, [rcx + rdx*8]
movsx ecx, byte [0x14057e016]
add eax, ecx
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
cmp eax, ecx
je 0x14001280b
call fcn.14001be00
movsx edx, al
movsx eax, byte [0x14057eb98]
imul edx, eax
lea r8d, [rdx + rdx*2]
call fcn.14001be30
movsx ecx, al
sub r8d, ecx
call fcn.14001be10
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14057e013]
add ecx, r8d
jne 0x1400128a7
call fcn.14001bdf0
movsx edx, al
call fcn.14001bde0
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.14001be20
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14057e016]
add eax, ecx
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
cmp eax, ecx
je 0x14001289c
call fcn.14001bdf0
movsx edx, al
call fcn.14001bde0
movsx ecx, al
imul edx, ecx
call fcn.14001be20
movsx ecx, al
lea eax, [rcx + rdx*4]
movsx ecx, byte [0x14057e016]
add eax, ecx
movsx ecx, byte [0x14057e015]
xor edx, edx
div ecx
movsx ecx, byte [0x14057e012]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rbp + 0xe0]
cvttsd2si eax, xmm0
jmp 0x1400128a2
mov eax, dword [rbp + 0xe8]
cmp r12d, eax
jge 0x1400128be
mov rcx, qword [rsp + 0x50]
xor rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov qword [rax], rcx
mov rax, rdi
jmp 0x1400128d0
mov rcx, qword [rsp + 0x50]
xor rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
mov qword [rax], rcx
add rsp, 0x198
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret