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

Disassembly:
push rbp
push rbx
push rsi
push r12
push r14
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x14016a080]
xor rax, rsp
mov qword [rbp + 0x50], rax
mov rax, qword [rbp + 0xe8]
xor ebx, ebx
mov qword [rbp - 0x40], rax
mov r12, rdx
mov eax, 0x5a4d
mov qword [rbp - 0x50], rcx
mov r14, rcx
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x40], rbx
cmp word [rdx], ax
jne 0x1400da68d
movsxd rsi, dword [rdx + 0x3c]
add rsi, rdx
cmp dword [rsi], 0x4550
jne 0x1400da68d
mov eax, 0x20b
cmp word [rsi + 0x18], ax
je 0x1400da03f
mov dword [rbp - 0x20], 0xfc07fc72
mov ecx, 0x3d7
mov dword [rbp - 0x1c], 0xfc0cfc76
mov dword [rbp - 0x18], 0xfc43fc64
mov dword [rbp - 0x14], 0xfc57fc4e
mov dword [rbp - 0x10], 0xfc12fc54
mov dword [rbp - 0xc], 0xfc47fc5a
mov dword [rbp - 8], 0xfc58fc15
mov dword [rbp - 4], 0xfc4cfc58
mov dword [rbp], 0xfc0cfc19
mov dword [rbp + 4], 0xfc1cfc0f
mov dword [rbp + 8], 0xfc57fc5f
mov dword [rbp + 0xc], 0xfc4b
mov byte [rbp + 0x10], 1
nop
movzx eax, bx
sub ax, cx
xor word [rbp + rbx*2 - 0x20], ax
inc rbx
cmp rbx, 0x17
jb 0x1400da000
mov byte [rbp + 0x10], 0
lea rdx, [rbp - 0x20]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.1400d4d70
lea rdx, [0x1400d4f50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
xor eax, eax
jmp 0x1400da54e
xor ecx, ecx
mov qword [rsp + 0x1b0], rdi
mov edi, dword [rsi + 0x50]
mov r8d, 0x3000
mov edx, edi
mov qword [rsp + 0x160], r15
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r15, rax
test rax, rax
je 0x1400da53e
movzx eax, word [rsi + 0x14]
lea r8, [rbp + 0x20]
mov rcx, r14
mov qword [rsp + 0x168], r13
mov eax, dword [rax + rsi + 0x24]
sub edi, eax
mov dword [rbp - 0x28], eax
mov eax, edi
mov edx, edi
mov qword [rbp - 0x48], rax
mov qword [rbp + 0x20], rbx
call fcn.1400d99f0
mov qword [rbp - 0x38], rax
mov r13, rax
test rax, rax
jne 0x1400da1b1
mov dword [rsp + 0x40], 0xfc07fc72
mov ecx, 0x3d7
mov dword [rsp + 0x44], 0xfc0cfc76
mov dword [rsp + 0x48], 0xfc4ffc6b
mov dword [rsp + 0x4c], 0xfc5cfc46
mov dword [rsp + 0x50], 0xfc56fc54
mov dword [rsp + 0x54], 0xfc40fc13
mov dword [rsp + 0x58], 0xfc16fc5a
mov dword [rsp + 0x5c], 0xfc54fc56
mov dword [rsp + 0x60], 0xfc55fc55
mov dword [rsp + 0x64], 0xfc5dfc58
mov dword [rsp + 0x68], 0xfc5bfc49
mov dword [rsp + 0x6c], 0xfc32fc1f
mov dword [rsp + 0x70], 0xfc2ffc24
mov dword [rsp + 0x74], 0xfc30fc2c
mov dword [rsp + 0x78], 0xfc66fc20
mov dword [rsp + 0x7c], 0xfc25fc2e
mov dword [rbp - 0x80], 0xfc2dfc28
mov dword [rbp - 0x7c], 0xfc6cfc2e
mov dword [rbp - 0x78], 0xfc20fc24
mov dword [rbp - 0x74], 0xfc3bfc6f
mov dword [rbp - 0x70], 0xfc20fc34
mov dword [rbp - 0x6c], 0xfc31fc3d
mov dword [rbp - 0x68], 0xfc39
mov byte [rbp - 0x64], 1
nop dword [rax]
movzx eax, bx
sub ax, cx
xor word [rsp + rbx*2 + 0x40], ax
inc rbx
cmp rbx, 0x2d
jb 0x1400da170
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rsp + 0x40]
mov byte [rbp - 0x64], 0
call fcn.1400d4d70
lea rdx, [0x1400d4f50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov r12, r14
jmp 0x1400da669
mov r8d, dword [rsi + 0x54]
mov rdx, r12
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
movzx edi, word [rsi + 0x14]
mov r14d, ebx
add rdi, 0x28
cmp bx, word [rsi + 6]
jae 0x1400da201
add rdi, rsi
test dword [rdi + 0x14], 0x80
ja 0x1400da1f1
mov edx, dword [rdi + 4]
mov ecx, dword [rdi - 4]
add rdx, r12
mov r8d, dword [rdi]
add rcx, r15
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [rsi + 6]
inc r14d
add rdi, 0x28
cmp r14d, eax
jl 0x1400da1d4
mov eax, dword [rbp - 0x28]
lea rcx, [rbp - 0x20]
mov r14, r13
mov rdx, r15
sub r13, rax
mov rdi, r13
sub rdi, qword [rsi + 0x30]
call fcn.1400db910
mov rdx, rdi
mov rcx, rax
call fcn.1400da750
mov rdx, r15
lea rcx, [rbp - 0x20]
call fcn.1400dba60
mov r12, qword [rbp - 0x50]
mov rdx, rax
mov rcx, r12
call fcn.1400da850
test al, al
jne 0x1400da2f3
mov dword [rsp + 0x40], 0xfc07fc72
mov ecx, 0x3d7
mov dword [rsp + 0x44], 0xfc0cfc76
mov dword [rsp + 0x48], 0xfc4ffc6b
mov dword [rsp + 0x4c], 0xfc5cfc46
mov dword [rsp + 0x50], 0xfc56fc54
mov dword [rsp + 0x54], 0xfc40fc13
mov dword [rsp + 0x58], 0xfc16fc5a
mov dword [rsp + 0x5c], 0xfc5dfc45
mov dword [rsp + 0x60], 0xfc55fc4a
mov dword [rsp + 0x64], 0xfc4afc57
mov dword [rsp + 0x68], 0xfc1efc58
mov dword [rsp + 0x6c], 0xfc2dfc56
mov dword [rsp + 0x70], 0xfc2dfc31
mov dword [rsp + 0x74], 0xfc30fc31
mov dword [rsp + 0x78], 0xfc36
mov byte [rsp + 0x7c], 1
nop dword [rax]
movzx eax, bx
sub ax, cx
xor word [rsp + rbx*2 + 0x40], ax
inc rbx
cmp rbx, 0x1d
jb 0x1400da2d0
mov byte [rsp + 0x7c], 0
lea rdx, [rsp + 0x40]
jmp 0x1400da64d
mov eax, dword [rbp - 0x28]
add rax, r15
je 0x1400da569
mov rdi, qword [rbp - 0x48]
test rdi, rdi
je 0x1400da569
mov qword [rsp + 0x38], rbx
lea r8, [rbp - 0x20]
mov qword [rbp - 0x10], rax
mov r9d, Ordinal_45
lea rax, [rbp - 0x28]
mov qword [rbp - 0x18], rbx
mov qword [rsp + 0x30], rax
mov edx, 0x80862007
mov dword [rsp + 0x28], ebx
mov rcx, r12
mov qword [rsp + 0x20], rbx
mov qword [rbp - 0x20], gethostname
mov qword [rbp - 8], r14
mov qword [rbp], rdi
mov dword [rbp - 0x28], ebx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x1400da569
mov esi, dword [rsi + 0x28]
lea rdx, [rbp + 0x30]
mov rax, qword [rbp + 0x20]
lea rcx, [rbp + 0x40]
mov r9, rdi
mov qword [rsp + 0x20], rax
mov r8, r14
add rsi, r13
call fcn.1400de1b0
test al, al
jne 0x1400da442
mov dword [rsp + 0x40], 0xfc07fc72
mov ecx, 0x3d7
mov dword [rsp + 0x44], 0xfc0cfc76
mov dword [rsp + 0x48], 0xfc4ffc6e
mov dword [rsp + 0x4c], 0xfc5cfc43
mov dword [rsp + 0x50], 0xfc53fc53
mov dword [rsp + 0x54], 0xfc5ffc50
mov dword [rsp + 0x58], 0xfc44fc15
mov dword [rsp + 0x5c], 0xfc4cfc52
mov dword [rsp + 0x60], 0xfc48fc4c
mov dword [rsp + 0x64], 0xfc4ffc55
mov dword [rsp + 0x68], 0xfc58fc1d
mov dword [rsp + 0x6c], 0xfc2cfc5e
mov dword [rsp + 0x70], 0xfc27fc32
mov dword [rsp + 0x74], 0xfc64fc6f
mov dword [rsp + 0x78], 0xfc27fc23
mov dword [rsp + 0x7c], 0xfc24fc2e
mov dword [rbp - 0x80], 0xfc2efc2c
mov dword [rbp - 0x7c], 0xfc6a
mov byte [rbp - 0x78], 1
nop
movzx eax, bx
sub ax, cx
xor word [rsp + rbx*2 + 0x40], ax
inc rbx
cmp rbx, 0x23
jb 0x1400da420
mov byte [rbp - 0x78], 0
lea rdx, [rsp + 0x40]
jmp 0x1400da64d
mov rax, qword [rbp + 0x30]
lea rdx, [rbp + 0x18]
mov r9, qword [rbp + 0x40]
mov r8, rsi
mov rcx, r12
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x18], ebx
call fcn.1400dac30
test al, al
jne 0x1400da514
mov dword [rsp + 0x40], 0xfc0afc7d
mov ecx, 0x3da
mov dword [rsp + 0x44], 0xfc09fc75
mov dword [rsp + 0x48], 0xfc4afc6c
mov dword [rsp + 0x4c], 0xfc41fc45
mov dword [rsp + 0x50], 0xfc4bfc4b
mov dword [rsp + 0x54], 0xfc45fc10
mov dword [rsp + 0x58], 0xfc13fc5d
mov dword [rsp + 0x5c], 0xfc54fc57
mov dword [rsp + 0x60], 0xfc5bfc5a
mov dword [rsp + 0x64], 0xfc5dfc18
mov dword [rsp + 0x68], 0xfc52fc48
mov dword [rsp + 0x6c], 0xfc58fc4a
mov dword [rsp + 0x70], 0xfc1ffc4c
mov dword [rsp + 0x74], 0xfc2ffc25
mov dword [rsp + 0x78], 0xfc31fc36
mov dword [rsp + 0x7c], 0xfc3d
mov byte [rbp - 0x80], 1
movzx eax, bx
sub ax, cx
xor word [rsp + rbx*2 + 0x40], ax
inc rbx
cmp rbx, 0x1f
jb 0x1400da4f2
mov byte [rbp - 0x80], 0
lea rdx, [rsp + 0x40]
jmp 0x1400da64d
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x1400da522
mov ecx, dword [rbp + 0x18]
mov dword [rax], ecx
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rax, r14
mov r13, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x1b0]
mov r15, qword [rsp + 0x160]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.140142f30
add rsp, 0x170
pop r14
pop r12
pop rsi
pop rbx
pop rbp
ret
mov dword [rsp + 0x40], 0xfc0afc7d
mov ecx, 0x3da
mov dword [rsp + 0x44], 0xfc09fc75
mov dword [rsp + 0x48], 0xfc4afc6c
mov dword [rsp + 0x4c], 0xfc41fc45
mov dword [rsp + 0x50], 0xfc4bfc4b
mov dword [rsp + 0x54], 0xfc45fc10
mov dword [rsp + 0x58], 0xfc13fc5d
mov dword [rsp + 0x5c], 0xfc47fc43
mov dword [rsp + 0x60], 0xfc43fc5f
mov dword [rsp + 0x64], 0xfc19fc5d
mov dword [rsp + 0x68], 0xfc54fc56
mov dword [rsp + 0x6c], 0xfc5cfc5f
mov dword [rsp + 0x70], 0xfc1ffc52
mov dword [rsp + 0x74], 0xfc2cfc29
mov dword [rsp + 0x78], 0xfc24fc23
mov dword [rsp + 0x7c], 0xfc65fc21
mov dword [rbp - 0x80], 0xfc28fc32
mov dword [rbp - 0x7c], 0xfc3bfc68
mov dword [rbp - 0x78], 0xfc26fc2f
mov dword [rbp - 0x74], 0xfc39fc23
mov dword [rbp - 0x70], 0xfc6ffc2b
mov dword [rbp - 0x6c], 0xfc3cfc39
mov dword [rbp - 0x68], 0xfc34fc33
mov dword [rbp - 0x64], 0xfc31
mov byte [rbp - 0x60], 1
nop word [rax + rax]
movzx eax, bx
sub ax, cx
xor word [rsp + rbx*2 + 0x40], ax
inc rbx
cmp rbx, 0x2f
jb 0x1400da630
mov byte [rbp - 0x60], 0
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.1400d4d70
lea rdx, [0x1400d4f50]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rdx, qword [rbp - 0x38]
mov rcx, r12
call fcn.1400cf4c0
xor eax, eax
jmp 0x1400da536
mov dword [rsp + 0x40], 0xfc0afc7d
mov ecx, 0x3da
mov dword [rsp + 0x44], 0xfc09fc75
mov dword [rsp + 0x48], 0xfc45fc63
mov dword [rsp + 0x4c], 0xfc4cfc5a
mov dword [rsp + 0x50], 0xfc46fc42
mov dword [rsp + 0x54], 0xfc11fc54
mov dword [rsp + 0x58], 0xfc5cfc54
mov dword [rsp + 0x5c], 0xfc58fc46
mov dword [rsp + 0x60], 0xfc43fc57
mov dword [rsp + 0x64], 0xfc56fc18
mov dword [rsp + 0x68], 0xfc1bfc5c
mov dword [rsp + 0x6c], 0xfc78fc6c
mov dword [rsp + 0x70], 0xfc56fc1e
mov dword [rsp + 0x74], 0xfc20fc2d
mov dword [rsp + 0x78], 0xfc26fc25
mov word [rsp + 0x7c], bx
mov byte [rsp + 0x7e], 1
nop dword [rax]
nop dword [rax + rax]
movzx eax, bx
sub ax, cx
xor word [rsp + rbx*2 + 0x40], ax
inc rbx
cmp rbx, 0x1e
jb 0x1400da720
mov byte [rsp + 0x7e], 0
lea rdx, [rsp + 0x40]
jmp 0x1400da01c