Function at 0x140087384
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 r9d, r9d
mov edi, r9d
mov esi, 0xd887614e
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 0x140087414
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x9cc185ee
jmp 0x140087403
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 0x1400873e3
cmp r9d, edi
jne 0x140087539
xor r9d, r9d
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 0x140087539
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x140087539
mov r13d, dword [rbx + 0x20]
dec r14d
lea rdx, [r14*4]
add rdx, r13
mov r11d, dword [rdx + r10]
add r11, r10
mov r15d, 0x9cc185ee
mov dl, byte [r11]
inc r11
test dl, dl
je 0x1400874a0
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 0x14008746c
mov r13d, dword [rbx + 0x20]
xor r9d, r9d
cmp r15d, esi
je 0x1400874af
test r14d, r14d
jne 0x140087447
jmp 0x140087539
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r14*2]
mov r8d, dword [rdx + rax*4]
add r8, r10
cmp r8, rbx
jbe 0x140087544
lea rax, [rbx + rcx]
cmp r8, rax
jae 0x140087544
mov edi, 0x9cc185ee
mov esi, edi
jmp 0x1400874fb
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, 0x4764996c
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x1400874de
jmp 0x14008751e
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, 0x4764996c
mov eax, esi
xor eax, ecx
mov esi, edx
imul esi, eax
inc r8
mov al, byte [r8]
test al, al
jne 0x140087504
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
xor r9d, r9d
jmp 0x1400873b7
mov dword [rbp + 0x50], r9d
mov dword [rbp + 0x50], 0x1b3497d4
mov eax, 0xe8d319c0
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
xor eax, 0xee265f8d
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0xcd6c9bd5
add eax, ecx
xor eax, 0xa66505f
sub eax, 0x73493d2c
xor eax, 0x24b1ad9c
lea edx, [rcx - 0x5472db6c]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xd244bc44
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x2dbb43bb
add ecx, 0xde99b3d8
add ecx, edx
xor ecx, 0xf2751ac
mov dword [rbp + 0x50], ecx
movsxd rcx, ecx
call r8
mov qword [rbp - 0x28], rax
xor r8d, r8d
mov dword [rbp + 0x50], r8d
movabs rbx, 0xf55e020953086457
movabs rsi, 0x8d31f70f80f11012
movabs rax, 0xc37e1e0000000000
mov rdi, qword [0x1402b2080]
imul rdi, rax
movabs rax, 0x7df5410000000000
xor rdi, rax
mov rcx, rdi
imul rcx, rsi
mov qword [rbp - 0x20], rcx
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r9, [0x1402b2060]
mov r11, rdi
and r11, rsi
imul r11, qword [r9 + rcx*8]
movabs rax, 0x59353e7a7db870ee
imul r11, rax
shr r11, 3
movabs rax, 0xf4c466bf690825b2
xor r11, rax
movabs rax, 0xffffff57c011846d
mov r15, rdi
imul r15, rax
sub r15, 0xfc18e3e
xor r15, r11
xor r15, qword [0x1402b2060]
mov rax, r11
imul rax, qword [0x1402b2070]
movabs rcx, 0xb9de928bc9a23b4c
imul rax, rcx
not rax
and r15, rax
ror r15, 0x2f
shr r15, 8
movabs r10, 0x72ce08f07f0eefee
lea rcx, [rdi + r10]
xor rcx, 0xfffffffff72c3041
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x2a9d42fcfafab8f8
mov r14, qword [r9 + rcx*8]
imul r14, rax
sub r14, r10
movabs rcx, 0x2bf3a40d4b0df878
mov rax, r11
imul rax, rcx
xor r14, rax
shr r14, 0x1f
not r14
mov r12, r14
xor r12, rdi
lea rcx, [r14 + r10]
mov rax, r8
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r14b
movzx ecx, byte [r9 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x5d
mov eax, 0x8000003f
and ecx, eax
jge 0x14008773f
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r12, cl
not r12
imul r12, r11
imul r13, r12, 0xfffffffff03e71c2
lea r9, [r10 + r13]
mov r10, r14
imul r10, r15
sub r10, r9
xor r10, rbx
movzx r8d, r9b
mov ecx, r8d
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x140087779
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r10, cl
mov rax, r9
sub rax, qword [0x1402b2078]
xor r10, rax
movabs rax, 0xeb9d3b0ae3221fa4
imul r12, rax
movabs rax, 0x7ae76ed2bd19bebc
add r12, rax
xor r10, r12
xor r10, r11
xor r10, rdi
mov rax, r10
not rax
and eax, 2
je 0x140087b18
sub rax, 1
je 0x1400879d4
sub rax, 1
je 0x1400878d8
cmp rax, 1
jne 0x140087bce
mov rbx, r9
imul rbx, r14
movabs rax, 0x8bc0f918f2475456
add rax, r10
xor rbx, rax
ror rbx, 0x16
shr rbx, 0xc
xor rbx, rdi
not rbx
movabs rcx, 0x83572b53354a
mov r8, qword [0x1402b2088]
add r8, rcx
movabs rax, 0x724c8d881f46fa20
xor r8, rax
mov eax, r10d
imul eax, ebx
and eax, 0x3f
mov ecx, 0x40
sub ecx, eax
mov rdx, r8
shl rdx, cl
mov ecx, eax
shr r8, cl
or rdx, r8
shl rdx, 0xf
movabs rax, 0xf7ca7db973b3d9b5
sub rax, r14
mov r14, rdx
xor r14, rax
mov rcx, r14
imul rcx, rsi
mov eax, 0xa2680b5f
add rcx, rax
movabs r12, 0xaaaaaaaaaaaaaaab
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r8, [0x1402b2060]
mov cl, byte [r8 + rcx*8]
and cl, 0xf
movabs rsi, 0xfcd6d029fddeacff
sub rsi, rbx
shr rsi, cl
movabs rcx, 0x72d62d78cffb6b82
add rcx, r13
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r8 + rcx*8]
imul rax, r10
sub rax, r15
xor rsi, rax
jmp 0x140087bd8
movabs rax, 0xaaaaaa1aa271f661
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed607c2a2d
imul rcx, rax
movabs rdx, 0xfff17ca87513c01d
mov rax, r11
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a8461c4bd
imul r13, rax
movabs r14, 0xcdce8c0b63491f73
add r14, rcx
add r14, r13
movabs rax, 0x277cd7be70a12101
mov rcx, r14
xor rcx, rax
movabs r12, 0xaaaaaaaaaaaaaaab
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r14
not r9
lea r8, [0x1402b2060]
imul r9, qword [r8 + rcx*8]
xor r9, 0xfffffffff72420b1
lea ecx, [r10 - 0x1d]
and cl, 0x3f
rol r9, cl
movabs rcx, 0xd79ff37d61dcd5ff
mov rax, qword [rbp - 0x20]
xor rax, rcx
movabs rcx, 0x7c7a7dc69e232a00
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 0x2b
not rcx
movabs rax, 0x9b2de6b2fd368c98
imul rcx, rax
mov rax, r14
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r15b
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x140087bd8
movabs rax, 0xe4b86400dcbcba3c
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x72ce08f07f0eefed
mov rax, rdi
imul rax, rdx
xor rax, rbx
not rax
shl rax, cl
xor r11, rax
and r8d, 0x8000003f
jge 0x140087a2e
dec r8d
or r8d, 0xffffffc0
inc r8d
mov cl, r8b
rol r11, cl
movabs rcx, 0x72ce08f07f0eefee
add rcx, r10
movabs r12, 0xaaaaaaaaaaaaaaab
mov rax, r12
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff70f80f11012
lea r8, [0x1402b2060]
mov rax, qword [r8 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7feb5804c
or r11, rax
mov rsi, qword [0x1402b2070]
imul rsi, rbx
sub rsi, r9
mov rax, r15
sub rax, r11
xor rsi, rax
movabs rax, 0xc7a7c6a6afbd8041
xor rsi, rax
movabs rax, 0xcccccccccccccccd
mul rdi
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rdi
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, rsi
shr rdx, cl
mov rax, r14
sub rax, rdx
sub rax, rdi
movabs rdi, 0x789589460efcc5b
add rdi, rax
xor rdi, r15
movzx eax, r14b
imul ecx, eax, 0xe4
and cl, 0x3f
rol rdi, cl
not rdi
jmp 0x140087bd8
movabs r12, 0xaaaaaaaaaaaaaaab
mov rax, r12
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r11
sub rcx, rax
mov rax, r10
imul rax, qword [0x1402b2080]
lea r8, [0x1402b2060]
mov rdx, qword [r8 + rcx*8]
and rdx, rax
xor rdx, r11
and r11b, 0x3f
mov cl, r11b
mov r11, rdx
ror r11, cl
imul r11, r9
not r15
imul r15, r14
movabs rax, 0x7cd8a7de724cd1a0
imul r15, rax
mov rax, r11
imul rax, rdi
mov rdi, r15
xor rdi, rax
imul r8, qword [0x1402b2060], 0xfffffffff03e71c2
mov rdx, qword [0x1402b2068]
sub r8, rdx
mov al, dil
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140087bb9
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r8, cl
movabs r15, 0x72ce08f07f0eefee
add r15, r8
add r15, r13
jmp 0x140087bd8
movabs r12, 0xaaaaaaaaaaaaaaab
movabs rcx, 0xff055d7b8207db6d
xor rbx, rcx
mov rax, r12
mul rbx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rbx, rax
xor r11, rdi
lea rax, [0x1402b2060]
imul r11, qword [rax + rbx*8]
not r9
imul r9, r10
imul r9, r15
imul r9, rsi
movabs rcx, 0xf5ed7e8785b491b1
xor rcx, r14
not rcx
xor rcx, r9
sub rcx, r11
call fcn.14005f570
mov qword [0x1402b3150], rax
mov word [rbp + 0x48], 0xe1a
xor r13d, r13d
mov r15d, r13d
mov r12, qword [0x1402b2040]
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adbe8f3f8
div rcx
add dl, 0x37
mov r14b, dl
sar r14b, 7
or r14b, dl
mov al, r14b
sar al, 2
mov sil, r14b
shl sil, 6
mov dil, sil
or dil, 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 r11b, r14b
not r11b
mov bl, r14b
ror bl, 7
lea eax, [r10 - 0x50]
add bl, al
mov dl, byte [rbp + r15 + 0x48]
sub dl, dil
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 [0x1402b2050]
sub dl, byte [0x1402b2058]
sub dl, 0x3f
add dl, sil
add dl, r14b
lea eax, [rdi + 7]
add al, r14b
xor dl, al
sub dl, r9b
sub dl, r14b
sub dl, byte [0x1402b2048]
sub dl, 0x50
add dl, sil
add dl, r12b
mov al, r8b
sub al, r9b
add al, dil
add al, r14b
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor bl, dl
mov al, r14b
add al, al
sub bl, al
add bl, 0x51
add bl, sil
add bl, dil
add bl, r12b
not bl
mov al, r14b
sar al, 7
or al, r14b
sub bl, al
mov al, r11b
xor al, byte [0x1402b2038]
sub bl, al
mov al, r14b
xor al, 0x40
sub bl, al
mov al, r14b
xor al, byte [0x1402b2030]
add bl, al
movsx eax, r14b
movsx ecx, r11b
imul ecx, eax
xor bl, cl
mov byte [rbp + r15 + 0x48], bl
inc r15
cmp r15, 2
jb 0x140087c4c
lea rax, [rbp + 0x48]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], 2
mov dword [rbp + 0x58], r13d
mov dword [rbp + 0x58], 0xa916b7a9
mov eax, 0x904847e0
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
xor eax, 0xb0dd0091
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0xfb832931
add eax, ecx
xor eax, 0xc591f183
sub eax, 0x23349668
xor eax, 0xe83cb5c
lea edx, [rcx + 0x70db8d8d]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xd3361c40
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x2cc9e3bf
add ecx, 0xd0e8cfd5
add ecx, edx
xor ecx, 0xbeabd3c0
mov dword [rbp + 0x58], ecx
movsxd rdx, ecx
lea r8, [rbp + 0x48]
mov rcx, qword [rbp - 0x28]
call fcn.14008c3c0
nop
mov dword [rbp + 0x58], r13d
mov dword [rbp - 0x30], r13d
mov dword [rbp - 0x30], 0xa3b42ff7
mov eax, 0x1db74b5a
sub eax, dword [0x1402b2058]
sub eax, dword [0x1402b2050]
xor eax, 0xf878bff3
sub eax, dword [0x1402b2048]
mov rcx, qword [0x1402b2040]
add eax, 0x1b383f22
add eax, ecx
xor eax, 0x15fde7f5
sub eax, 0x5abfd182
xor eax, 0xf5c6dbaa
lea edx, [rcx + 0x356fba02]
add edx, eax
not edx
mov eax, dword [0x1402b2038]
xor eax, 0xd21c155e
sub edx, eax
mov ecx, dword [0x1402b2030]
xor ecx, 0x2de3eaa1
add ecx, 0xb607def2
add ecx, edx
xor ecx, 0x478b5c1e
mov dword [rbp - 0x30], ecx
call fcn.140227c2c
mov rdx, rax
mov rcx, qword [rbp - 0x28]
call fcn.140227d78
nop
mov dword [rbp - 0x30], r13d
mov edi, r13d
mov esi, 0xa2559bc2
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 0x140087f3f
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0x97c03e04
jmp 0x140087f31
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 0x140087f0b
cmp r10d, edi
jne 0x140088063
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 0x140088063
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x140088063
mov r13d, dword [rbx + 0x20]
xor r8d, r8d
dec r14d
lea rdx, [r10 + r14*4]
mov r11d, dword [rdx + r13]
add r11, r10
mov r15d, 0x97c03e04
mov dl, byte [r11]
inc r11
test dl, dl
je 0x140087fc7
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 0x140087f93
mov r13d, dword [rbx + 0x20]
xor r8d, r8d
cmp r15d, esi
je 0x140087fd9
test r14d, r14d
jne 0x140087f75
xor r13d, r13d
jmp 0x140088063
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 0x14008806b
lea rax, [rcx + rbx]
cmp r9, rax
jae 0x14008806b
mov edi, 0x97c03e04
mov esi, edi
jmp 0x140088022
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 0x140088008
inc r9
xor r13d, r13d
jmp 0x14008804b
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 0x140088031
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140087edf
mov rcx, qword [rbp - 0x28]
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp r9