Function at 0x140002e40
Capabilities:
Encode data using xor
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov rax, qword [0x140037018]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov r14, rdx
mov rbx, rcx
mov qword [rbp + 7], rcx
xor esi, esi
mov dword [rbp - 9], esi
mov dword [rbp - 0x59], 0x7c
mov eax, dword [rbp - 0x59]
xor al, 0x77
mov byte [rbp - 0x55], al
mov eax, dword [rbp - 0x59]
inc al
xor al, 0x62
mov byte [rbp - 0x54], al
mov eax, dword [rbp - 0x59]
add al, 2
xor al, 0x52
mov byte [rbp - 0x53], al
mov eax, dword [rbp - 0x59]
add al, 3
xor al, 0x6b
mov byte [rbp - 0x52], al
mov eax, dword [rbp - 0x59]
add al, 4
xor al, 0x35
mov byte [rbp - 0x51], al
mov eax, dword [rbp - 0x59]
add al, 5
xor al, 0x73
mov byte [rbp - 0x50], al
mov eax, dword [rbp - 0x59]
add al, 6
xor al, 0x2b
mov byte [rbp - 0x4f], al
mov eax, dword [rbp - 0x59]
add al, 7
xor al, 0x38
mov byte [rbp - 0x4e], al
mov eax, dword [rbp - 0x59]
add al, 8
xor al, 0x75
mov byte [rbp - 0x4d], al
mov eax, dword [rbp - 0x59]
add al, 9
xor al, 0x43
mov byte [rbp - 0x4c], al
mov eax, dword [rbp - 0x59]
add al, 0xa
xor al, 0x32
mov byte [rbp - 0x4b], al
mov eax, dword [rbp - 0x59]
add al, 0xb
xor al, 0x5a
mov byte [rbp - 0x4a], al
mov eax, dword [rbp - 0x59]
add al, 0xc
xor al, 0x33
mov byte [rbp - 0x49], al
mov eax, dword [rbp - 0x59]
add al, 0xd
xor al, 0x4f
mov byte [rbp - 0x48], al
mov eax, dword [rbp - 0x59]
add al, 0xe
xor al, 0x44
mov byte [rbp - 0x47], al
mov eax, dword [rbp - 0x59]
add al, 0xf
xor al, 0x47
mov byte [rbp - 0x46], al
mov eax, dword [rbp - 0x59]
add al, 0x10
xor al, 0x71
mov byte [rbp - 0x45], al
mov eax, dword [rbp - 0x59]
add al, 0x11
xor al, 0x50
mov byte [rbp - 0x44], al
mov eax, dword [rbp - 0x59]
add al, 0x12
xor al, 0x2f
mov byte [rbp - 0x43], al
mov eax, dword [rbp - 0x59]
add al, 0x13
xor al, 0x54
mov byte [rbp - 0x42], al
mov eax, dword [rbp - 0x59]
add al, 0x14
xor al, 0x7a
mov byte [rbp - 0x41], al
mov eax, dword [rbp - 0x59]
add al, 0x15
xor al, 0x58
mov byte [rbp - 0x40], al
mov eax, dword [rbp - 0x59]
add al, 0x16
xor al, 0x34
mov byte [rbp - 0x3f], al
mov eax, dword [rbp - 0x59]
add al, 0x17
xor al, 0x4b
mov byte [rbp - 0x3e], al
mov eax, dword [rbp - 0x59]
add al, 0x18
xor al, 0x68
mov byte [rbp - 0x3d], al
mov eax, dword [rbp - 0x59]
add al, 0x19
xor al, 0x31
mov byte [rbp - 0x3c], al
mov eax, dword [rbp - 0x59]
add al, 0x1a
xor al, 0x72
mov byte [rbp - 0x3b], al
mov eax, dword [rbp - 0x59]
add al, 0x1b
xor al, 0x59
mov byte [rbp - 0x3a], al
mov eax, dword [rbp - 0x59]
add al, 0x1c
xor al, 0x65
mov byte [rbp - 0x39], al
mov eax, dword [rbp - 0x59]
add al, 0x1d
xor al, 0x69
mov byte [rbp - 0x38], al
mov eax, dword [rbp - 0x59]
add al, 0x1e
xor al, 0x55
mov byte [rbp - 0x37], al
mov eax, dword [rbp - 0x59]
add al, 0x1f
xor al, 0x4c
mov byte [rbp - 0x36], al
mov eax, dword [rbp - 0x59]
add al, 0x20
xor al, 0x56
mov byte [rbp - 0x35], al
mov eax, dword [rbp - 0x59]
add al, 0x21
xor al, 0x66
mov byte [rbp - 0x34], al
mov eax, dword [rbp - 0x59]
add al, 0x22
xor al, 0x30
mov byte [rbp - 0x33], al
mov eax, dword [rbp - 0x59]
add al, 0x23
xor al, 0x70
mov byte [rbp - 0x32], al
mov eax, dword [rbp - 0x59]
add al, 0x24
xor al, 0x6d
mov byte [rbp - 0x31], al
mov eax, dword [rbp - 0x59]
add al, 0x25
xor al, 0x79
mov byte [rbp - 0x30], al
mov eax, dword [rbp - 0x59]
add al, 0x26
xor al, 0x49
mov byte [rbp - 0x2f], al
mov eax, dword [rbp - 0x59]
add al, 0x27
xor al, 0x6f
mov byte [rbp - 0x2e], al
mov eax, dword [rbp - 0x59]
add al, 0x28
xor al, 0x53
mov byte [rbp - 0x2d], al
mov eax, dword [rbp - 0x59]
add al, 0x29
xor al, 0x6a
mov byte [rbp - 0x2c], al
mov eax, dword [rbp - 0x59]
add al, 0x2a
xor al, 0x42
mov byte [rbp - 0x2b], al
mov eax, dword [rbp - 0x59]
add al, 0x2b
xor al, 0x6e
mov byte [rbp - 0x2a], al
mov eax, dword [rbp - 0x59]
add al, 0x2c
xor al, 0x74
mov byte [rbp - 0x29], al
mov eax, dword [rbp - 0x59]
add al, 0x2d
xor al, 0x57
mov byte [rbp - 0x28], al
mov eax, dword [rbp - 0x59]
add al, 0x2e
xor al, 0x41
mov byte [rbp - 0x27], al
mov eax, dword [rbp - 0x59]
add al, 0x2f
xor al, 0x78
mov byte [rbp - 0x26], al
mov eax, dword [rbp - 0x59]
add al, 0x30
xor al, 0x4d
mov byte [rbp - 0x25], al
mov eax, dword [rbp - 0x59]
add al, 0x31
xor al, 0x39
mov byte [rbp - 0x24], al
mov eax, dword [rbp - 0x59]
add al, 0x32
xor al, 0x76
mov byte [rbp - 0x23], al
mov eax, dword [rbp - 0x59]
add al, 0x33
xor al, 0x37
mov byte [rbp - 0x22], al
mov eax, dword [rbp - 0x59]
add al, 0x34
xor al, 0x6c
mov byte [rbp - 0x21], al
mov eax, dword [rbp - 0x59]
add al, 0x35
xor al, 0x4e
mov byte [rbp - 0x20], al
mov eax, dword [rbp - 0x59]
add al, 0x36
xor al, 0x48
mov byte [rbp - 0x1f], al
mov eax, dword [rbp - 0x59]
add al, 0x37
xor al, 0x64
mov byte [rbp - 0x1e], al
mov eax, dword [rbp - 0x59]
add al, 0x38
xor al, 0x63
mov byte [rbp - 0x1d], al
mov eax, dword [rbp - 0x59]
add al, 0x39
xor al, 0x45
mov byte [rbp - 0x1c], al
mov eax, dword [rbp - 0x59]
add al, 0x3a
xor al, 0x4a
mov byte [rbp - 0x1b], al
mov eax, dword [rbp - 0x59]
add al, 0x3b
xor al, 0x67
mov byte [rbp - 0x1a], al
mov eax, dword [rbp - 0x59]
add al, 0x3c
xor al, 0x36
mov byte [rbp - 0x19], al
mov eax, dword [rbp - 0x59]
add al, 0x3d
xor al, 0x51
mov byte [rbp - 0x18], al
mov eax, dword [rbp - 0x59]
add al, 0x3e
xor al, 0x61
mov byte [rbp - 0x17], al
mov eax, dword [rbp - 0x59]
add al, 0x3f
xor al, 0x46
mov byte [rbp - 0x16], al
xor eax, eax
mov byte [rbp - 0x15], al
movzx eax, byte [rbp - 0x55]
mov edx, esi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rbp + rdx - 0x55]
mov ecx, dword [rbp - 0x59]
add cl, dl
xor cl, al
mov byte [rbp + rdx - 0x55], cl
inc rdx
cmp rdx, 0x40
jb 0x140003120
mov byte [rbp - 0x15], sil
mov qword [rbp + 0xf], rsi
mov qword [rbp + 0x1f], rsi
mov qword [rbp + 0x27], 0xf
mov byte [rbp + 0xf], sil
lea rax, [rbp - 0x55]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], sil
jne 0x140003160
lea rdx, [rbp - 0x55]
lea rcx, [rbp + 0xf]
call fcn.140003d00
nop
mov qword [rbx], rsi
mov qword [rbx + 0x10], rsi
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov dword [rbp - 9], 1
mov edi, esi
mov rcx, r14
cmp qword [r14 + 0x18], 0x10
jb 0x1400031a4
mov rcx, qword [r14]
mov rdx, rcx
jmp 0x1400031a7
mov rdx, r14
mov r15, rcx
mov rax, qword [r14 + 0x10]
add rax, rdx
mov qword [rbp - 1], rax
mov r13, qword [rbp + 0xf]
cmp rcx, rax
je 0x14000327a
mov r12, qword [rbp + 0x1f]
nop word [rax + rax]
movsx eax, byte [r15]
cmp al, 0x3d
je 0x14000327a
lea r14, [rbp + 0xf]
cmp qword [rbp + 0x27], 0x10
cmovae r14, r13
test r12, r12
je 0x140003205
mov edx, eax
mov r8, r12
mov rcx, r14
call fcn.140009dc0
test rax, rax
je 0x140003205
sub rax, r14
jmp 0x14000320c
mov rax, 0xffffffffffffffff
shl esi, 6
or esi, eax
add edi, 6
cmp edi, 8
jl 0x14000326d
nop dword [rax]
sub edi, 8
mov eax, esi
mov ecx, edi
sar eax, cl
mov rdx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
cmp rdx, r8
jae 0x140003254
lea rcx, [rdx + 1]
mov qword [rbx + 0x10], rcx
mov rcx, rbx
cmp r8, 0x10
jb 0x14000324a
mov rcx, qword [rbx]
mov byte [rcx + rdx], al
mov byte [rcx + rdx + 1], 0
jmp 0x140003260
movzx r9d, al
mov rcx, rbx
call fcn.140003ee0
cmp edi, 8
jge 0x140003220
mov r12, qword [rbp + 0x1f]
mov r13, qword [rbp + 0xf]
inc r15
cmp r15, qword [rbp - 1]
jne 0x1400031d0
mov rax, qword [rbp + 0x27]
cmp rax, 0x10
jb 0x1400032b1
lea rdx, [rax + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x1400032a9
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400032e1
mov rcx, r13
call fcn.1400076d0
mov rax, rbx
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.1400076b0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14000de38
int3