Function at 0x14005643c
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, 0x60
xor ebx, ebx
mov edi, 0x6ecf7bee
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 0x1400564c8
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xd66528c
jmp 0x1400564ba
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 0x14005649d
cmp r9d, ebx
jne 0x1400565c6
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 0x1400565c6
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x1400565c6
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0xd66528c
jmp 0x14005652b
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 0x140056510
cmp r14d, edi
je 0x140056543
test esi, esi
jne 0x1400564fb
jmp 0x1400565c6
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 0x1400565ce
lea rax, [rcx + r11]
cmp r8, rax
jae 0x1400565ce
mov ebx, 0xd66528c
mov edi, ebx
jmp 0x14005658d
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 0x140056573
jmp 0x1400565ab
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 0x140056596
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140056471
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0x94a42d03
mov eax, 0xe31286a1
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0x4d72875a
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x36a39fcc
add eax, ecx
xor eax, 0x55eb1a9c
sub eax, 0x346f66a
xor eax, 0x718f4585
lea edx, [rcx - 0x6e5a2b75]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd4bda7f6
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x2b425809
add ecx, 0x59fc098c
add ecx, edx
xor ecx, 0x4bd377a6
mov dword [rbp + 0x48], ecx
movsxd rcx, ecx
call r8
mov qword [rbp - 0x38], rax
and dword [rbp + 0x48], 0
movabs rdi, 0x5ae511741e1c5f21
xor ebx, ebx
movabs rax, 0xf13840edfe8affbc
movabs r15, 0x95d3599cb419c80e
movabs r10, 0x5164ba9bf1d67dc6
mov r14, qword [0x14031d070]
imul r14, rax
not r14
movabs rcx, 0xae9b4564030a415e
mov r13, qword [0x14031d060]
mov rax, r13
xor rax, rcx
and r14, rax
ror r14, 0x1a
shr r14, 8
movabs rax, 0x861f2cba1ef0ced0
mov r11, r13
imul r11, rax
add r11, rdi
movabs rax, 0x4e1edc2600000000
xor r11, rax
shr r11, 0x1f
not r11
movabs r8, 0xa51aee8be1e3a0df
lea rcx, [r11 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rdx, [0x14031d060]
movzx eax, r11b
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x1b
mov edx, 0x8000003f
and ecx, edx
jge 0x140056727
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r11
ror rax, cl
not rax
movabs rcx, 0xc65572b91efd1590
mov r12, rax
imul r12, rcx
lea r9, [r12 + r8]
mov r8, r11
imul r8, r14
sub r8, r9
xor r8, r15
movzx esi, r9b
mov ecx, esi
xor ecx, 4
and ecx, 0xf
and ecx, edx
jge 0x140056769
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0x4763ddd225603790
imul rax, rcx
movabs rcx, 0x76ed4158ae918241
sub rax, rcx
xor r8, rax
mov rax, r9
sub rax, qword [0x14031d078]
xor r8, rax
xor r8, r10
mov rax, r8
and eax, 1
je 0x140056a87
sub rax, 1
je 0x140056980
sub rax, 1
movabs rsi, 0xaaaaaaaaaaaaaaab
je 0x1400568b4
cmp rax, 1
jne 0x140056b0b
mov r15, r9
imul r15, r11
movabs rax, 0x85283f4063e2ed75
add rax, r8
xor r15, rax
ror r15, 0x20
shr r15, 0xc
not r15
movabs rcx, 0x835738b0b710
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xa5986bf392483755
xor rdx, rax
movzx eax, r8b
movzx ecx, r15b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db960505bf3
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
imul rcx, rdi
mov eax, 0xb18b8919
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14031d060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0xbcaa6a539510b4e
sub rdi, r15
shr rdi, cl
movabs rcx, 0xa523131424f39ab5
add rcx, r12
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r13 + rcx*8]
imul rax, r8
sub rax, r14
xor rdi, rax
jmp 0x140056b12
movabs rcx, 0xaaaaaa1ab1927427
mov r11, r8
xor r11, rcx
movabs rcx, 0x1206ed739fa86b
imul r11, rcx
movabs rcx, 0xffff7e8a978246fb
imul r12, rcx
movabs rcx, 0x62554ef2f2c5bc03
add r11, rcx
add r11, r12
movabs rax, 0x277cd7be6342a347
mov rcx, r11
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
lea r13, [0x14031d060]
imul r9, qword [r13 + rcx*8]
xor r9, 0xffffffffe4c7a2f7
lea ecx, [r8 - 0x1b]
and cl, 0x3f
rol r9, cl
movabs rax, 0x687844c600000000
imul r9, rax
mov rcx, r9
ror rcx, 0x34
not rcx
movabs rax, 0x9b2de6b2b2b88580
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140056b12
movabs rax, 0xb8e63eb2d21dbe4f
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, 0x6a2ca6634be637f1
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
and esi, 0x8000003f
jge 0x1400569cf
dec esi
or esi, 0xffffffc0
inc esi
mov cl, sil
rol r10, cl
movabs rcx, 0xa51aee8be1e3a0df
add rcx, r8
movabs rsi, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x11741e1c5f21
lea r13, [0x14031d060]
mov rax, qword [r13 + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7ed56020a
or r10, rax
mov rdi, qword [0x14031d070]
imul rdi, r15
sub rdi, r9
mov rax, r14
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a6bc5e0207
xor rdi, rax
mov rax, r8
imul rax, r9
imul rax, rdi
mov rbx, r11
sub rbx, rax
movabs rax, 0x7895894730c4e1d
add rbx, rax
xor rbx, r14
movzx eax, r11b
imul ecx, eax, 0xe2
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x140056b12
mov rcx, r8
imul rcx, qword [0x14031d080]
and rcx, qword [0x14031d080]
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 6
imul r10, r9
mov rbx, r14
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de61af53e6
imul rbx, rax
imul rsi, r13, 0xfffffffff2dc3c98
mov rdx, qword [0x14031d068]
sub rsi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140056aee
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs r14, 0xa51aee8be1e3a0df
add r14, rsi
add r14, r12
movabs rsi, 0xaaaaaaaaaaaaaaab
lea r13, [0x14031d060]
movabs rcx, 0xff055d7b91e4592b
xor r15, rcx
mov rax, rsi
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r10, rbx
imul r10, qword [r13 + r15*8]
not r9
imul r9, r8
imul r9, r14
imul r9, rdi
movabs rcx, 0xf5ed7e87965713f7
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r10
call fcn.140054f58
mov qword [0x140321f48], rax
and dword [rbp + 0x58], 0
mov dword [rbp + 0x58], 0x37da3a17
mov eax, 0x6784c74d
mov r13, qword [0x14031d058]
sub eax, r13d
sub eax, dword [0x14031d050]
xor eax, 0xcaead6e8
sub eax, dword [0x14031d048]
mov r12, qword [0x14031d040]
add eax, 0xdbdf8047
add eax, r12d
xor eax, 0x844ec6aa
add eax, 0x614b4907
xor eax, 0x5528f25b
mov r15d, dword [0x14031d030]
xor r15d, 0x215fc399
sub r15d, eax
mov eax, dword [0x14031d038]
xor eax, 0xdea03c66
sub r15d, eax
sub r15d, r12d
sub r15d, 0x399e648
xor r15d, 0xab9fcaf6
mov dword [rbp + 0x48], r15d
mov dword [rbp + 0x58], r15d
movdqa xmm0, xmmword [0x1402f6770]
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x10], 0x5f68
xor r15d, r15d
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adba99340
div rcx
add dl, 0x38
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov r11b, sil
or r11b, al
movsx rcx, r14b
or sil, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov bl, r14b
not bl
mov dil, r14b
ror dil, 7
lea eax, [r10 - 0x50]
add dil, al
mov dl, byte [rbp + r15 - 0x20]
sub dl, r11b
sub dl, 2
mov eax, 4
sub al, sil
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x14031d050]
sub dl, r13b
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, r14b
sub dl, byte [0x14031d048]
sub dl, r9b
sub dl, 0x50
add dl, sil
add dl, r12b
sub r11b, r9b
add r11b, r14b
add r11b, r8b
xor dl, r11b
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor dil, dl
mov al, r14b
add al, al
sub dil, al
add sil, sil
add dil, 0x51
add dil, sil
add dil, r12b
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, byte [0x14031d038]
xor al, bl
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x14031d030]
add dil, al
movsx eax, bl
movsx ecx, r14b
imul ecx, eax
xor dil, cl
mov byte [rbp + r15 - 0x20], dil
inc r15
cmp r15, 0x12
jb 0x140056c04
lea rax, [rbp - 0x20]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0x12
and dword [rbp + 0x50], 0
mov dword [rbp + 0x50], 0x1a877901
mov eax, 0x5e18af13
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0xcf2fbf48
sub eax, dword [0x14031d048]
mov rdx, qword [0x14031d040]
lea ecx, [rdx - 0x1e6bc925]
add ecx, eax
xor ecx, 0x891a320a
add ecx, 0x5e668f67
xor ecx, 0x17431ffb
mov r8d, dword [0x14031d030]
xor r8d, 0x217093f9
sub r8d, ecx
mov eax, dword [0x14031d038]
xor eax, 0xde8f6c06
sub r8d, eax
sub r8d, edx
sub r8d, 0x18900180
xor r8d, 0xdd2783d6
mov dword [rbp + 0x50], r8d
movsxd rdx, r8d
mov r9d, dword [rbp + 0x48]
lea r8, [rbp - 0x20]
mov r13, qword [rbp - 0x38]
mov rcx, r13
call fcn.14003eebc
nop
and dword [rbp + 0x50], 0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x10], ax
and dword [rbp + 0x58], eax
and dword [rbp - 0x40], eax
mov dword [rbp - 0x40], 0xbe83d8d4
mov eax, 0x1b7c0fb1
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
xor eax, 0xcf478362
sub eax, dword [0x14031d048]
mov r8, qword [0x14031d040]
lea edx, [r8 - 0x5e4c0582]
add edx, eax
xor edx, 0x8934e2f4
add edx, 0x5e61d76d
xor edx, 0x4b4ed3f7
mov ecx, dword [0x14031d030]
xor ecx, 0x2170f193
sub ecx, edx
mov eax, dword [0x14031d038]
xor eax, 0xde8f0e6c
sub ecx, eax
sub ecx, r8d
add ecx, 0x66fb7bb4
xor ecx, 0xb3f8f404
mov dword [rbp - 0x40], ecx
call fcn.14027f118
mov rdx, rax
mov rcx, r13
call fcn.14027f2ac
nop
and dword [rbp - 0x40], 0
xor ebx, ebx
mov edi, 0xaa554252
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 ebx, ebx
je 0x140056f0b
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xad167ee8
jmp 0x140056efd
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x140056edd
cmp r9d, ebx
jne 0x14005700f
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 0x14005700f
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x14005700f
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r9d, dword [rdx + r10]
add r9, r10
mov r14d, 0xad167ee8
jmp 0x140056f71
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, 0x4764996c
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
mov dl, byte [r9]
inc r9
test dl, dl
jne 0x140056f53
cmp r14d, edi
je 0x140056f89
test esi, esi
jne 0x140056f3e
jmp 0x14005700f
mov edx, dword [r11 + 0x24]
add rdx, r10
movzx r8d, word [rdx + rsi*2]
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r8*4]
add r9, r10
cmp r9, r11
jbe 0x140057017
lea rax, [r11 + rcx]
cmp r9, rax
jae 0x140057017
mov ebx, 0xad167ee8
mov edi, ebx
jmp 0x140056fd4
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, ebx
mov ebx, eax
imul ebx, ecx
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x140056fba
jmp 0x140056ff4
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]
test al, al
jne 0x140056fdd
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140056eb1
mov rcx, r13
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp r9