Function at 0x14003591c
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, 0x554155ce
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 0x1400359a8
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xdb53db46
jmp 0x14003599a
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 0x14003597d
cmp r9d, ebx
jne 0x140035aa8
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 0x140035aa8
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x140035aa8
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0xdb53db46
jmp 0x140035a0b
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 0x1400359f0
cmp r14d, edi
je 0x140035a23
test esi, esi
jne 0x1400359db
jmp 0x140035aa8
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 0x140035ab0
lea rax, [rcx + r11]
cmp r8, rax
jae 0x140035ab0
mov ebx, 0xdb53db46
mov edi, ebx
jmp 0x140035a6d
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 0x140035a53
jmp 0x140035a8d
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 0x140035a76
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140035951
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0xd958f7d7
mov eax, 0x5271367
sub eax, dword [0x140278058]
sub eax, dword [0x140278050]
xor eax, 0x992ce0bf
sub eax, dword [0x140278048]
mov rcx, qword [0x140278040]
add eax, 0x1bda39bd
add eax, ecx
xor eax, 0xaaf77721
sub eax, 0x14d5bcfe
xor eax, 0x5ed9a685
lea edx, [rcx - 0x25d40323]
add edx, eax
not edx
mov eax, dword [0x140278038]
xor eax, 0xd3936792
sub edx, eax
mov ecx, dword [0x140278030]
xor ecx, 0x2c6c986d
add ecx, 0x2ed365a7
add ecx, edx
xor ecx, 0x64d9c92a
mov dword [rbp + 0x48], ecx
movsxd rcx, ecx
call r8
mov r15, rax
mov qword [rbp - 0x30], rax
and dword [rbp + 0x48], 0
movabs rax, 0x6287018fd6cc0000
mov r13, qword [0x140278080]
mov r14, r13
imul r14, rax
movabs rax, 0xa9dcd4e7645f0000
xor r14, rax
movabs r8, 0xb0a105c5c8e1f03c
mov rcx, r14
imul rcx, r8
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rsi, [0x140278060]
mov rdi, r14
and rdi, r8
imul rdi, qword [rsi + rcx*8]
movabs rax, 0xa743ac7991aafec0
imul rdi, rax
shr rdi, 3
movabs rax, 0xcedddbcbe8131135
xor rdi, rax
movabs rax, 0xffffff57c08b1573
mov rbx, r14
imul rbx, rax
sub rbx, 0x87dc240
xor rbx, rdi
xor rbx, qword [0x140278060]
mov rax, rdi
mov r12, qword [0x140278070]
imul rax, r12
movabs rcx, 0xb9de928bc938aa52
imul rax, rcx
not rax
and rbx, rax
ror rbx, 0x1f
shr rbx, 8
movabs r8, 0x4f5efa3a371e0fc4
lea rcx, [r14 + r8]
xor rcx, 0xfffffffff7b6a15f
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xa8701aba2842c280
mov r11, qword [rsi + rcx*8]
imul r11, rax
sub r11, r8
movabs rcx, 0x5ced8a1c063f5b30
mov rax, rdi
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov r9, r11
xor r9, r14
lea rcx, [r11 + r8]
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [rsi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x43
and ecx, 0x8000003f
jge 0x140035ca1
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r9, cl
not r9
imul r9, rdi
imul rsi, r9, 0xfffffffff7823dc0
add r8, rsi
mov r10, r11
imul r10, rbx
sub r10, r8
movabs rax, 0xd62aa3b2035b981d
xor r10, rax
mov cl, r8b
xor cl, 0xfc
and cl, 0xf
rol r10, cl
movabs rax, 0xd184867e622a7900
imul r9, rax
movabs rax, 0x4837e31deae88e10
sub r9, rax
xor r10, r9
mov rcx, r8
sub rcx, qword [0x140278078]
xor r10, rcx
xor r10, rdi
xor r10, r14
movabs rax, 0xaaaaaaaaaaaaaaab
mul rdi
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, rdi
sub rdx, rax
mov rax, r10
imul rax, r13
lea r9, [0x140278060]
mov r9, qword [r9 + rdx*8]
and r9, rax
xor r9, rdi
and dil, 0x3f
mov cl, dil
ror r9, cl
imul r9, r8
not rbx
imul rbx, r11
movabs rax, 0x7cd8a7de72d640be
imul rbx, rax
mov rax, r9
imul rax, r14
xor rbx, rax
imul r8, qword [0x140278060], 0xfffffffff7823dc0
mov rdx, qword [0x140278068]
sub r8, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140035d9c
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r8, cl
lea rcx, [rsi + r8]
movabs rax, 0xb0a105c5c8e1f03c
imul rcx, rax
movabs rax, 0x4837e31deae88e10
sub rcx, rax
movabs rax, 0xb0a105c5c8e1f03b
sub rax, rsi
imul rcx, rax
imul rcx, r10
movabs rax, 0xf5ed7e87852e00af
xor r11, rax
not r11
xor rcx, r11
xor r9, rbx
imul r9, r12
sub rcx, r9
call fcn.1400347fc
mov qword [0x140279198], rax
movdqa xmm0, xmmword [0x1402595f0]
movdqu xmmword [rbp - 0x18], xmm0
mov byte [rbp - 8], 0x17
xor r12d, r12d
mov r13, qword [0x140278040]
xor edx, edx
mov rax, r12
movabs rcx, 0x13cce94adba3b8a4
div rcx
add dl, 0x35
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 + r12 - 0x18]
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 [0x140278050]
sub dl, byte [0x140278058]
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 [0x140278048]
sub dl, 0x50
add dl, sil
add dl, r13b
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, r13b
not bl
mov al, r14b
sar al, 7
or al, r14b
sub bl, al
mov al, r11b
xor al, byte [0x140278038]
sub bl, al
mov al, r14b
xor al, 0x40
sub bl, al
mov al, r14b
xor al, byte [0x140278030]
add bl, al
movsx eax, r14b
movsx ecx, r11b
imul ecx, eax
xor bl, cl
mov byte [rbp + r12 - 0x18], bl
inc r12
cmp r12, 0x11
jb 0x140035e17
lea rax, [rbp - 0x18]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], 0x11
and dword [rbp + 0x50], 0
mov dword [rbp + 0x50], 0x9e83f31b
mov eax, 0x4b4b1cf5
sub eax, dword [0x140278058]
sub eax, dword [0x140278050]
xor eax, 0x7f82735f
sub eax, dword [0x140278048]
mov rcx, qword [0x140278040]
add eax, 0xf98c98c9
add eax, ecx
xor eax, 0x8e245ec1
sub eax, 0x6516d9e
xor eax, 0x9236305b
lea edx, [rcx - 0x3e6875bb]
add edx, eax
not edx
mov eax, dword [0x140278038]
xor eax, 0xd3f87cf2
sub edx, eax
mov ecx, dword [0x140278030]
xor ecx, 0x2c07830d
add ecx, 0x940e2287
add ecx, edx
xor ecx, 0xee2c2e4a
mov dword [rbp + 0x50], ecx
movsxd rdx, ecx
lea r8, [rbp - 0x18]
mov rcx, r15
call fcn.14006180c
nop
and dword [rbp + 0x50], 0
xor eax, eax
and dword [rbp + 0x58], eax
mov dword [rbp + 0x58], 0x7f2d9437
mov eax, 0x9abf7781
sub eax, dword [0x140278058]
sub eax, dword [0x140278050]
xor eax, 0x9f018e19
sub eax, dword [0x140278048]
mov rcx, qword [0x140278040]
add eax, 0xe3a53ef8
add eax, ecx
xor eax, 0xb183db4b
sub eax, 0x16972d00
xor eax, 0x15b8afb3
lea edx, [rcx + 0x5fc1835f]
add edx, eax
not edx
mov eax, dword [0x140278038]
xor eax, 0xd37c70b8
sub edx, eax
mov ecx, dword [0x140278030]
xor ecx, 0x2c838f47
add ecx, 0x178394cd
add ecx, edx
xor ecx, 0x78a20b08
mov dword [rbp + 0x58], ecx
call fcn.1401ee548
mov rdx, rax
mov rcx, r15
call fcn.1401ee694
nop
and dword [rbp + 0x58], 0
xor edi, edi
mov esi, 0x4117e762
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 0x140036108
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xd390aa6c
jmp 0x1400360fa
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 0x1400360d4
cmp r10d, edi
jne 0x140036218
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 0x140036218
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x140036218
mov r13d, dword [rbx + 0x20]
dec r14d
lea rdx, [r14*4]
add rdx, r13
mov r11d, dword [rdx + r10]
add r11, r10
mov r15d, 0xd390aa6c
jmp 0x14003617b
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 0x140036158
cmp r15d, esi
je 0x140036194
test r14d, r14d
jne 0x14003613b
jmp 0x140036218
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 0x140036220
lea rax, [rbx + rcx]
cmp r9, rax
jae 0x140036220
mov edi, 0xd390aa6c
mov esi, edi
jmp 0x1400361dd
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 0x1400361c3
jmp 0x1400361fd
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 0x1400361e6
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1400360a8
mov rcx, qword [rbp - 0x30]
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp r9