Function at 0x140015df0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Parse pe header

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x100c8]
mov eax, 0x101a0
call fcn.140024690
sub rsp, rax
mov rax, qword [0x14003f010]
xor rax, rsp
mov qword [rbp + 0x10090], rax
xor r13d, r13d
lea rcx, [rbp + 0x90]
xor edx, edx
mov dword [rsp + 0x20], r13d
mov r8d, 0x10000
mov r14d, r13d
mov r15d, r13d
call sub.VCRUNTIME140.dll_memset
mov edi, 0x52534d42
xor r9d, r9d
mov ecx, edi
xor r8d, r8d
xor edx, edx
call qword [0x140042550]
mov ebx, eax
test eax, eax
jne 0x140016013
mov dword [rbp - 0x38], 0x3a
lea esi, [rbx + 0xf]
mov eax, dword [rbp - 0x38]
mov dl, 0x65
xor al, 0x47
mov cl, 0x61
mov byte [rbp - 0x34], al
mov eax, dword [rbp - 0x38]
inc al
xor al, dl
mov byte [rbp - 0x33], al
mov eax, dword [rbp - 0x38]
add al, 2
xor al, 0x74
mov byte [rbp - 0x32], al
mov eax, dword [rbp - 0x38]
add al, 3
xor al, 0x53
mov byte [rbp - 0x31], al
mov eax, dword [rbp - 0x38]
add al, 4
xor al, 0x79
mov byte [rbp - 0x30], al
mov eax, dword [rbp - 0x38]
add al, 5
xor al, 0x73
mov byte [rbp - 0x2f], al
mov eax, dword [rbp - 0x38]
add al, 6
xor al, 0x74
mov byte [rbp - 0x2e], al
mov eax, dword [rbp - 0x38]
add al, 7
xor al, dl
mov byte [rbp - 0x2d], al
mov eax, dword [rbp - 0x38]
add al, 8
xor al, 0x6d
mov byte [rbp - 0x2c], al
mov eax, dword [rbp - 0x38]
add al, 9
xor al, 0x46
mov byte [rbp - 0x2b], al
mov eax, dword [rbp - 0x38]
add al, 0xa
xor al, 0x69
mov byte [rbp - 0x2a], al
mov eax, dword [rbp - 0x38]
add al, 0xb
xor al, 0x72
mov byte [rbp - 0x29], al
mov eax, dword [rbp - 0x38]
add al, 0xc
xor al, 0x6d
mov byte [rbp - 0x28], al
mov eax, dword [rbp - 0x38]
add al, 0xd
xor al, 0x77
mov byte [rbp - 0x27], al
mov eax, dword [rbp - 0x38]
add al, 0xe
xor al, cl
mov byte [rbp - 0x26], al
mov eax, dword [rbp - 0x38]
add al, sil
xor al, 0x72
mov byte [rbp - 0x25], al
mov eax, dword [rbp - 0x38]
add al, 0x10
xor al, dl
mov byte [rbp - 0x24], al
mov eax, dword [rbp - 0x38]
add al, 0x11
xor al, 0x54
mov byte [rbp - 0x23], al
mov eax, dword [rbp - 0x38]
add al, 0x12
xor al, cl
mov byte [rbp - 0x22], al
mov eax, dword [rbp - 0x38]
add al, 0x13
xor al, 0x62
mov byte [rbp - 0x21], al
mov eax, dword [rbp - 0x38]
add al, 0x14
xor al, 0x6c
mov byte [rbp - 0x20], al
mov eax, dword [rbp - 0x38]
add al, 0x15
xor al, dl
mov byte [rbp - 0x1f], al
mov eax, dword [rbp - 0x38]
add al, 0x16
xor al, 0x20
mov byte [rbp - 0x1e], al
mov eax, dword [rbp - 0x38]
add al, 0x17
xor al, 0x66
mov byte [rbp - 0x1d], al
mov eax, dword [rbp - 0x38]
add al, 0x18
xor al, cl
mov byte [rbp - 0x1c], al
mov eax, dword [rbp - 0x38]
add al, 0x19
xor al, 0x69
mov byte [rbp - 0x1b], al
mov eax, dword [rbp - 0x38]
add al, 0x1a
xor al, 0x6c
mov byte [rbp - 0x1a], al
mov eax, dword [rbp - 0x38]
add al, 0x1b
xor al, dl
mov edx, r13d
mov byte [rbp - 0x19], al
mov eax, dword [rbp - 0x38]
add al, 0x1c
xor al, 0x64
mov byte [rbp - 0x18], al
mov eax, dword [rbp - 0x38]
add al, 0x1d
xor al, 0x21
mov byte [rbp - 0x17], al
xor eax, eax
mov byte [rbp - 0x16], al
mov al, byte [rbp - 0x34]
mov al, byte [rbp + rdx - 0x34]
mov ecx, dword [rbp - 0x38]
add cl, dl
xor cl, al
mov byte [rbp + rdx - 0x34], cl
inc rdx
cmp rdx, 0x1e
jb 0x140015fb2
mov byte [rbp - 0x16], r13b
lea rax, [rbp - 0x34]
mov qword [rsp + 0x28], r13
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], rsi
inc rbx
cmp byte [rax + rbx], r13b
jne 0x140015fe5
mov r8, rbx
lea rdx, [rbp - 0x34]
lea rcx, [rsp + 0x28]
call fcn.1400066d0
lea rcx, [rsp + 0x28]
call fcn.140018f38
mov eax, 1
jmp 0x140016510
mov r9d, ebx
lea r8, [rbp + 0x90]
xor edx, edx
mov ecx, edi
call qword [0x140042550]
test eax, eax
jne 0x140016117
mov dword [rbp + 0x48], 0x75
xor eax, eax
mov byte [rbp + 0x4c], 0x32
mov rdx, r13
mov byte [rbp + 0x4d], 0x10
mov byte [rbp + 0x4e], 1
mov byte [rbp + 0x4f], 0x26
mov byte [rbp + 0x50], 0xc
mov byte [rbp + 0x51], 6
mov byte [rbp + 0x52], 1
mov byte [rbp + 0x53], 0x10
mov byte [rbp + 0x54], 0x18
mov byte [rbp + 0x55], 0x33
mov byte [rbp + 0x56], 0x1c
mov byte [rbp + 0x57], 7
mov byte [rbp + 0x58], 0x18
mov byte [rbp + 0x59], 2
mov byte [rbp + 0x5a], 0x14
mov byte [rbp + 0x5b], 7
mov byte [rbp + 0x5c], 0x10
mov byte [rbp + 0x5d], 0x21
mov byte [rbp + 0x5e], 0x14
mov byte [rbp + 0x5f], 0x17
mov byte [rbp + 0x60], 0x19
mov byte [rbp + 0x61], 0x10
mov byte [rbp + 0x62], 0x55
mov byte [rbp + 0x63], 0x13
mov byte [rbp + 0x64], 0x14
mov byte [rbp + 0x65], 0x1c
mov byte [rbp + 0x66], 0x19
mov byte [rbp + 0x67], 0x10
mov byte [rbp + 0x68], 0x11
mov byte [rbp + 0x69], 0x47
mov byte [rbp + 0x6a], 0x54
mov byte [rbp + 0x6b], al
mov al, byte [rbp + 0x4c]
mov al, byte [rbp + rdx + 0x4c]
mov ecx, dword [rbp + 0x48]
xor cl, al
mov byte [rbp + rdx + 0x4c], cl
inc rdx
cmp rdx, 0x1f
jb 0x1400160bd
mov esi, 0xf
mov byte [rbp + 0x6b], r13b
mov qword [rsp + 0x60], rsi
lea rax, [rbp + 0x4c]
mov qword [rsp + 0x48], r13
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x58], r13
inc rbx
cmp byte [rax + rbx], r13b
jne 0x1400160f3
mov r8, rbx
lea rdx, [rbp + 0x4c]
lea rcx, [rsp + 0x48]
call fcn.1400066d0
lea rcx, [rsp + 0x48]
jmp 0x140016004
mov rdx, qword [rbp + 0x94]
lea eax, [rbx - 8]
lea rdi, [rbp + 0x98]
cmp edx, eax
je 0x1400161e7
mov dword [rbp + 0x30], 0x74
xor eax, eax
mov byte [rbp + 0x34], 0x27
mov rdx, r13
mov byte [rbp + 0x35], 0x19
mov byte [rbp + 0x36], 0x16
mov byte [rbp + 0x37], 0x1d
mov byte [rbp + 0x38], 0x1b
mov byte [rbp + 0x39], 7
mov byte [rbp + 0x3a], 0x54
mov byte [rbp + 0x3b], 0x18
mov byte [rbp + 0x3c], 0x11
mov byte [rbp + 0x3d], 0x1a
mov byte [rbp + 0x3e], 0x13
mov byte [rbp + 0x3f], r13b
mov byte [rbp + 0x40], 0x1c
mov byte [rbp + 0x41], 0x54
mov byte [rbp + 0x42], 0x11
mov byte [rbp + 0x43], 6
mov byte [rbp + 0x44], 6
mov byte [rbp + 0x45], 0x1b
mov byte [rbp + 0x46], 6
mov byte [rbp + 0x47], al
mov al, byte [rbp + 0x34]
mov al, byte [rbp + rdx + 0x34]
mov ecx, dword [rbp + 0x30]
xor cl, al
mov byte [rbp + rdx + 0x34], cl
inc rdx
cmp rdx, 0x13
jb 0x14001618e
mov esi, 0xf
mov byte [rbp + 0x47], r13b
mov qword [rbp - 0x80], rsi
lea rax, [rbp + 0x34]
mov qword [rsp + 0x68], r13
or rbx, 0xffffffffffffffff
mov qword [rsp + 0x78], r13
inc rbx
cmp byte [rax + rbx], r13b
jne 0x1400161c3
mov r8, rbx
lea rdx, [rbp + 0x34]
lea rcx, [rsp + 0x68]
call fcn.1400066d0
lea rcx, [rsp + 0x68]
jmp 0x140016004
or rbx, 0xffffffffffffffff
mov r12d, r13d
mov esi, 0xf
test edx, edx
je 0x14001645b
cmp byte [rdi], 4
jb 0x140016398
jne 0x140016384
mov al, byte [rdi + 7]
test al, al
jne 0x14001621a
lea rdx, str.Not_Specified
jmp 0x140016278
movzx edx, byte [rdi + 1]
add rdx, rdi
jmp 0x14001623c
cmp byte [rdx], r13b
je 0x140016245
mov rcx, rbx
inc rcx
cmp byte [rdx + rcx], r13b
jne 0x14001622b
inc rdx
add rdx, rcx
add al, 0xff
cmp al, 1
ja 0x140016223
cmp byte [rdx], r13b
jne 0x14001624e
lea rdx, str.BAD_INDEX
jmp 0x140016278
mov rcx, rbx
inc rcx
cmp byte [rdx + rcx], r13b
jne 0x140016251
test rcx, rcx
je 0x140016278
mov r8, rdx
mov al, byte [r8]
sub al, 0x20
cmp al, 0x5e
jbe 0x14001626f
mov byte [r8], 0x2e
inc r8
sub rcx, 1
jne 0x140016262
mov qword [rbp + 0x70], r13
mov r8, rbx
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x88], rsi
inc r8
cmp byte [rdx + r8], r13b
jne 0x14001628d
lea rcx, [rbp + 0x70]
call fcn.1400066d0
mov dword [rbp], 0x46
or r14d, 1
mov eax, dword [rbp]
mov rdx, r13
xor al, 0x51
mov byte [rbp + 4], al
mov eax, dword [rbp]
inc al
xor al, 0x45
mov byte [rbp + 5], al
mov eax, dword [rbp]
add al, 2
xor al, 0x4d
mov byte [rbp + 6], al
mov eax, dword [rbp]
add al, 3
xor al, 0x55
mov byte [rbp + 7], al
xor eax, eax
mov byte [rbp + 8], al
mov al, byte [rbp + 4]
mov al, byte [rbp + rdx + 4]
mov ecx, dword [rbp]
add cl, dl
xor cl, al
mov byte [rbp + rdx + 4], cl
inc rdx
cmp rdx, 4
jb 0x1400162db
lea rdx, [rbp + 4]
mov byte [rbp + 8], r13b
lea rcx, [rbp + 0x70]
call fcn.140016540
cmp rax, rbx
je 0x140016324
movzx ecx, byte [rdi + 0x15]
mov r15d, 1
movzx eax, byte [rdi + 0x14]
shl ecx, 8
add ecx, eax
cmp ecx, 0x7d0
je 0x140016327
mov r15d, r13d
mov rdx, qword [rbp + 0x88]
and r14d, 0xfffffffe
cmp rdx, 0x10
jb 0x140016369
mov rcx, qword [rbp + 0x70]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140016364
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140016454
call fcn.140023a1c
mov rdx, qword [rbp + 0x94]
mov qword [rbp + 0x80], r13
mov qword [rbp + 0x88], rsi
mov byte [rbp + 0x70], r13b
jmp 0x140016398
cmp byte [rdi], 0x11
jne 0x140016398
movzx ecx, byte [rdi + 0xd]
movzx eax, byte [rdi + 0xc]
shl ecx, 8
add ecx, eax
je 0x1400163ae
movzx eax, byte [rdi + 1]
add rdi, rax
jmp 0x1400163a4
inc rdi
cmp word [rdi], r13w
jne 0x1400163a1
add rdi, 2
inc r12d
cmp r12d, edx
jb 0x1400161fb
test r15d, r15d
je 0x14001645b
mov byte [rbp - 0x10], 0x5d
mov rcx, r13
mov byte [rbp - 0xf], 0x7a
mov byte [rbp - 0xe], 0x5f
mov byte [rbp - 0xd], 0x22
mov byte [rbp - 0xc], 0x55
mov byte [rbp - 0xb], 0x43
mov byte [rbp - 0xa], 0x50
mov byte [rbp - 9], 0x46
mov byte [rbp - 8], 0x44
mov byte [rbp - 7], 0x51
mov byte [rbp - 6], 0x5a
mov byte [rbp - 5], r13b
mov al, byte [rbp - 0x10]
mov al, byte [rbp + rcx - 0x10]
sub al, 2
mov byte [rbp + rcx - 0x10], al
inc rcx
cmp rcx, 0xb
jb 0x1400163f9
mov qword [rbp - 0x78], r13
lea rax, [rbp - 0x10]
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], rsi
inc rbx
cmp byte [rax + rbx], r13b
jne 0x14001641c
mov r8, rbx
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x78]
call fcn.1400066d0
lea rcx, [rbp - 0x78]
call fcn.140018f38
call qword [0x140042460]
mov rcx, rax
xor edx, edx
call qword [0x140042500]
jmp 0x14001650e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov byte [rbp + 0x10], 0x62
mov rcx, r13
mov byte [rbp + 0x11], 0x32
mov byte [rbp + 0x12], 0x64
mov byte [rbp + 0x13], 0x27
mov byte [rbp + 0x14], 0x4d
mov byte [rbp + 0x15], 0x70
mov byte [rbp + 0x16], 0x79
mov byte [rbp + 0x17], 0x74
mov byte [rbp + 0x18], 0x7e
mov byte [rbp + 0x19], 0x68
mov byte [rbp + 0x1a], 0x79
mov byte [rbp + 0x1b], 0x6c
mov byte [rbp + 0x1c], 0x27
mov byte [rbp + 0x1d], 0x4a
mov byte [rbp + 0x1e], 0x6f
mov byte [rbp + 0x1f], 0x6c
mov byte [rbp + 0x20], 0x6a
mov byte [rbp + 0x21], 0x72
mov byte [rbp + 0x22], 0x27
mov byte [rbp + 0x23], 0x57
mov byte [rbp + 0x24], 0x68
mov byte [rbp + 0x25], 0x7a
mov byte [rbp + 0x26], 0x7a
mov byte [rbp + 0x27], 0x6c
mov byte [rbp + 0x28], 0x6b
mov byte [rbp + 0x29], r13b
mov al, byte [rbp + 0x10]
mov al, byte [rbp + rcx + 0x10]
sub al, 7
mov byte [rbp + rcx + 0x10], al
inc rcx
cmp rcx, 0x19
jb 0x1400164c9
mov qword [rbp - 0x58], r13
lea rax, [rbp + 0x10]
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], rsi
inc rbx
cmp byte [rax + rbx], r13b
jne 0x1400164ec
mov r8, rbx
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x58]
call fcn.1400066d0
lea rcx, [rbp - 0x58]
call fcn.140018f38
xor eax, eax
mov rcx, qword [rbp + 0x10090]
xor rcx, rsp
call fcn.140023770
lea r11, [rsp + 0x101a0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret