Function at 0x1400b1050
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 - 0x1a70]
mov eax, 0x1b70
call fcn.1401089d0
sub rsp, rax
mov rax, qword [0x1401ffe18]
xor rax, rsp
mov qword [rbp + 0x1a60], rax
mov r13, rcx
mov qword [rbp - 0x70], rcx
mov rax, qword [rcx]
cmp rax, qword [rcx + 8]
je 0x1400b1b67
test rax, rax
je 0x1400b1b67
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1400b1b67
mov ecx, dword [rax + 0x3c]
mov qword [rsp + 0x58], rcx
lea rsi, [rax + rcx]
test rsi, rsi
je 0x1400b1b67
cmp dword [rsi], 0x4550
jne 0x1400b1b67
mov edx, 4
lea rcx, [rbp + 0x6b0]
call fcn.1400b1ba0
nop
mov r15, qword [rbp + 0x6c0]
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
sub rax, r15
cmp rax, 1
jb 0x1400b1b99
lea r12, [rbp + 0x6b0]
cmp qword [rbp + 0x6c8], 0x10
cmovae r12, qword [rbp + 0x6b0]
mov qword [rbp + 0x690], 0
lea r14, [r15 + 1]
mov edi, reloc.WS2_32.dll_ntohs
lea rbx, [rbp + 0x690]
lea rdx, [rdi - 0x10]
cmp r14, rdi
jbe 0x1400b11b1
mov rdi, r14
or rdi, 0xf
cmp rdi, rcx
jbe 0x1400b1159
mov rdi, rcx
jmp 0x1400b1165
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmp rdi, rax
cmovb rdi, rax
mov rcx, rdi
add rcx, 1
cmovb rcx, rdx
cmp rcx, 0x1000
jb 0x1400b1199
add rcx, 0x27
call fcn.14010809c
test rax, rax
je 0x1400b120e
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1400b11aa
test rcx, rcx
je 0x1400b11a8
call fcn.14010809c
mov rbx, rax
jmp 0x1400b11aa
xor ebx, ebx
mov qword [rbp + 0x690], rbx
mov qword [rbp + 0x6a0], r14
mov qword [rbp + 0x6a8], rdi
mov byte [rbx], reloc.WLDAP32.dll_Ordinal_46
lea rcx, [rbx + 1]
mov r8, r15
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r14], 0
mov rdx, qword [rbp + 0x6c8]
cmp rdx, 0x10
jb 0x1400b121a
inc rdx
mov rcx, qword [rbp + 0x6b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b1215
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400b1215
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401080d8
movups xmm0, xmmword [rbp + 0x690]
movups xmmword [rbp + 0x6b0], xmm0
movups xmm1, xmmword [rbp + 0x6a0]
movups xmmword [rbp + 0x6c0], xmm1
xor ebx, ebx
mov qword [rbp + 0x30], rbx
mov dword [rbp + 0x38], ebx
mov dword [rbp + 0x44], ebx
lea rdx, [rbp + 0x6b0]
movq rcx, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rax, xmm0
cmp rax, 0x10
cmovae rdx, rcx
movq r8, xmm1
lea rcx, [rbp + 0x30]
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [rsi + 0x108]
test rdx, rdx
je 0x1400b1b1e
mov r14d, dword [rdx + 8]
mov dword [rsp + 0x38], r14d
movzx eax, word [rsi + 6]
dec ax
movzx eax, ax
mov qword [rbp - 0x68], rax
lea r8, [rax*4 + 0x21]
add r8, rax
lea r8, [rsi + r8*8]
test r8, r8
je 0x1400b1b1e
mov r9d, dword [r8 + 0xc]
add r9d, 0x1000
mov dword [rsp + 0x3c], r9d
mov dword [rbp + 0x3c], r9d
mov r12d, dword [rdx + 0x10]
mov qword [rbp - 0x78], r12
mov esi, dword [r8 + 0x14]
add esi, dword [r8 + 0x10]
mov dword [rbp + 0x644], esi
mov dword [rbp + 0x44], esi
mov qword [rbp + 0x48], rbx
mov dword [rbp + 0x50], ebx
mov eax, dword [rdx + 0x24]
mov dword [rbp + 0x54], eax
mov edi, dword [rdx + 0x14]
mov eax, r9d
sub eax, dword [rdx + 0xc]
mov dword [rsp + 0x40], eax
mov r9, qword [r13 + 8]
mov rcx, qword [r13]
mov rax, r9
sub rax, rcx
lea rdx, [rax + r12]
cmp rdx, rax
jae 0x1400b1319
lea rax, [rdx + rcx]
mov qword [r13 + 8], rax
jmp 0x1400b134b
jbe 0x1400b134b
mov rax, qword [r13 + 0x10]
sub rax, rcx
cmp rdx, rax
jbe 0x1400b1336
lea r8, [rsp + 0x30]
mov rcx, r13
call fcn.1400b0840
jmp 0x1400b134b
lea rbx, [r12 + r9]
mov r8, r12
xor edx, edx
mov rcx, r9
call sub.VCRUNTIME140.dll_memset
mov qword [r13 + 8], rbx
mov rax, qword [r13]
mov qword [rbp - 0x60], rdi
mov ebx, esi
mov r8, r14
lea rdx, [rdi + rax]
lea rcx, [rax + rsi]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [r13]
add rcx, rdi
mov r8, r12
xor edx, edx
call sub.VCRUNTIME140.dll_memset
xor edx, edx
lea r8d, [rdx + 2]
lea rcx, [rbp + 0x690]
call fcn.14010b750
mov r15, qword [r13]
add r15, rbx
xor ebx, ebx
mov dword [rbp + 0x640], ebx
xorps xmm0, xmm0
movups xmmword [rbp + 0x650], xmm0
movups xmmword [rbp + 0x660], xmm0
movups xmmword [rbp + 0x670], xmm0
movups xmmword [rbp + 0x680], xmm0
movss dword [rbp + 0x650], xmm0
mov qword [rbp + 0x658], rbx
mov qword [rbp + 0x660], rbx
lea ecx, [rbx + 0x28]
call fcn.14010809c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x658], rax
mov qword [rbp + 0x668], rbx
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x670], xmm0
mov qword [rbp + 0x680], 7
mov qword [rbp + 0x688], 8
movss xmm0, dword [0x14011407c]
movss dword [rbp + 0x650], xmm0
mov r8, rax
lea edx, [rbx + 0x10]
lea rcx, [rbp + 0x668]
call fcn.1400b1da0
nop
call sub.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_
mov edx, eax
movabs rax, 0x5555555555555555
mov qword [rbp + 0x1a58], rax
mov qword [rbp + 0x6d8], rdx
lea ecx, [rbx + 1]
movabs r8, 0x5851f42d4c957f2d
nop dword [rax]
mov rax, rdx
shr rax, 0x3e
xor rdx, rax
imul rdx, r8
add rdx, rcx
mov qword [rbp + rcx*8 + 0x6d8], rdx
inc rcx
cmp rcx, 0x138
jb 0x1400b1460
mov dword [rbp + 0x6d0], pe_nt_image_headers64
mov r12d, ebx
mov dword [rsp + 0x34], ebx
mov eax, esi
sub eax, edi
mov dword [rsp + 0x50], eax
mov r8d, r14d
sub r8d, dword [rbp + 0x640]
lea r9, [rbp + 0x60]
mov rdx, r15
lea rcx, [rbp + 0x690]
call fcn.14010b680
shr eax, 0x1f
not eax
test al, 1
je 0x1400b180c
movzx ebx, byte [rsp + 0x30]
movzx edi, byte [rsp + 0x30]
mov rax, r15
sub rax, qword [r13]
mov qword [rsp + 0x78], rax
lea rax, [rbp + 0x6d0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 0x40
mov qword [rsp + 0x70], 0xffffffffffffffff
mov edx, 8
lea rcx, [rsp + 0x60]
call fcn.1400b0dd0
add al, 3
movzx esi, al
mov qword [rsp + 0x48], rsi
mov r12d, esi
mov ecx, esi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov byte [rax], 0xeb
lea ecx, [rsi - 2]
mov byte [rax + 1], cl
mov esi, 2
cmp rsi, r12
je 0x1400b157e
mov edi, r12d
nop dword [rax]
lea rax, [rbp + 0x6d0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], 0x40
mov qword [rsp + 0x70], 0xffffffffffffffff
mov edx, 0x100
lea rcx, [rsp + 0x60]
call fcn.1400b0dd0
mov byte [rsi + r14], al
inc rsi
cmp rsi, rdi
jne 0x1400b1540
movzx edi, byte [rsp + 0x30]
lea r9, [r12 + r14]
mov rdx, qword [r13]
mov rsi, qword [rsp + 0x78]
add rdx, rsi
mov byte [rsp + 0x20], bl
mov r8, r14
mov rcx, r13
call fcn.1400b0620
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test byte [rbp + 0x490], 0x80
je 0x1400b1718
cmp dword [rbp + 0x53c], 1
jne 0x1400b1718
cmp byte [r12 + r15], 0xeb
jne 0x1400b161f
mov byte [rsp + 0x30], 5
mov ecx, 5
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov byte [rax], 0xe9
movzx ecx, byte [rbp + 0x68]
add rcx, r12
cmp byte [rcx + r15 - 1], 0x7f
ja 0x1400b1605
xor eax, eax
mov dword [r14 + 1], eax
movzx ecx, byte [rbp + 0x68]
add rcx, r12
movzx eax, byte [rcx + r15 - 1]
mov byte [r14 + 1], al
jmp 0x1400b1670
mov dword [rax + 1], 0xffffffff
movzx eax, byte [rbp + 0x68]
add rax, r12
movzx eax, byte [rax + r15 - 1]
mov byte [r14 + 1], al
jmp 0x1400b1670
mov byte [rsp + 0x30], 6
mov ecx, 6
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov byte [rax], reloc.WS2_32.dll_ntohs
movzx eax, byte [r12 + r15]
add al, 0x10
mov byte [r14 + 1], al
movzx eax, byte [rbp + 0x68]
add rax, r12
cmp byte [rax + r15 - 1], 0x7f
ja 0x1400b1657
xor eax, eax
mov dword [r14 + 2], eax
jmp 0x1400b165f
mov dword [r14 + 2], 0xffffffff
movzx eax, byte [rbp + 0x68]
add rax, r12
movzx eax, byte [rax + r15 - 1]
mov byte [r14 + 2], al
mov r8, qword [r13]
lea rax, [r8 + rsi]
movzx ecx, byte [rbp + 0x68]
lea r15, [rax + r12]
lea rdx, [rax + r12]
add rdx, rcx
cmp r15, rdx
je 0x1400b16af
mov rsi, qword [r13 + 8]
sub rsi, rdx
mov r8, rsi
mov rcx, r15
call sub.VCRUNTIME140.dll_memmove
lea rax, [rsi + r15]
mov qword [r13 + 8], rax
mov r8, qword [r13]
mov rsi, qword [rsp + 0x78]
movzx r15d, byte [rsp + 0x30]
lea r9, [r14 + r15]
lea rdx, [r12 + r8]
add rdx, rsi
mov byte [rsp + 0x20], dil
mov r8, r14
mov rcx, r13
call fcn.1400b0620
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea r8, [rbp + 0x640]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
movzx eax, byte [rbp + 0x68]
mov byte [rcx + 0x20], al
lea r8, [rbp + 0x640]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
mov byte [rcx + 0x1c], r15b
mov rcx, qword [rbp - 0x60]
add rcx, qword [r13]
mov qword [rsp + 0x78], rcx
mov r14d, dword [rbp - 0x78]
add r14, rcx
movzx r15d, byte [rbp + 0x68]
add r15, r12
add r15, qword [r13]
add r15, rsi
mov rsi, qword [rsp + 0x48]
movzx eax, sil
mov r12d, dword [rsp + 0x34]
add r12d, eax
mov dword [rsp + 0x34], r12d
lea r8, [rbp + 0x640]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
mov byte [rcx + 0x18], sil
lea r8, [rbp + 0x640]
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
movzx edx, byte [rcx + 0x1c]
test dl, dl
je 0x1400b17a5
sub dl, byte [rbp + 0x68]
movzx eax, dl
add r15, rax
movzx eax, dl
add r12d, eax
mov dword [rsp + 0x34], r12d
lea r8, [rbp + 0x640]
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
mov dword [rcx + 0x14], r12d
movzx eax, byte [rbp + 0x68]
mov ecx, dword [rbp + 0x640]
add ecx, eax
mov dword [rbp + 0x640], ecx
mov r8d, dword [rsp + 0x38]
sub r8d, ecx
lea r9, [rbp + 0x60]
mov rdx, r15
lea rcx, [rbp + 0x690]
call fcn.14010b680
shr eax, 0x1f
not eax
test al, 1
jne 0x1400b14d2
mov r15, qword [rsp + 0x78]
mov esi, dword [rbp + 0x644]
xor ebx, ebx
jmp 0x1400b1816
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x58]
mov dword [rbp + 0x640], ebx
mov dword [rsp + 0x48], ebx
lea r8, [rsp + 0x48]
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rdx, qword [r13]
mov ecx, esi
mov rax, qword [rax]
movzx edi, byte [rax + 0x18]
add rdi, rcx
add rdi, rdx
lea rsi, [rcx + rdx]
mov r8d, dword [rsp + 0x38]
sub r8d, dword [rbp + 0x640]
lea r9, [rbp + 0x60]
mov rdx, rdi
lea rcx, [rbp + 0x690]
call fcn.14010b680
shr eax, 0x1f
not eax
test al, 1
je 0x1400b1a6e
mov r12d, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x40]
test byte [rbp + 0x490], 0x80
je 0x1400b1990
movzx eax, byte [rbp + 0x621]
movzx ecx, byte [rbp + 0x609]
add rax, rdi
movsxd rax, dword [rcx + rax]
movzx ebx, byte [rbp + 0x68]
add rax, rdi
add rbx, rax
lea r8, [rbp + 0x640]
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
mov eax, dword [rcx + 0x14]
mov rcx, rbx
sub rcx, rax
mov eax, dword [rsp + 0x50]
sub rcx, rax
cmp rcx, r15
jb 0x1400b194a
cmp rcx, r14
jae 0x1400b194a
lea r8, [rbp + 0x640]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
sub ebx, esi
sub ebx, dword [rcx + 0x14]
mov dword [rbp + 0x644], ebx
lea r8, [rbp + 0x644]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
movzx eax, byte [rbp + 0x68]
mov edx, esi
sub edx, eax
sub edx, edi
add edx, dword [rcx + 0x14]
add edx, dword [rbp + 0x644]
movzx eax, byte [rbp + 0x621]
movzx ecx, byte [rbp + 0x609]
add rax, rdi
mov dword [rcx + rax], edx
jmp 0x1400b1990
movzx eax, byte [rbp + 0x78]
test al, al
jne 0x1400b1958
lea rdx, [rbp - 0x50]
jmp 0x1400b196a
imul rcx, rax, 0x68
cmp dword [rbp + rcx + 0x44], 0xcb
je 0x1400b1990
lea rdx, [rbp - 0x60]
lea r8, [rbp + 0x640]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
mov ecx, dword [rcx + 0x14]
movzx edx, byte [rbp + 0x609]
add ecx, r13d
sub dword [rdx + rdi], ecx
lea r8, [rbp + 0x640]
lea rdx, [rsp + 0x78]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
lea r8, [rbp + 0x640]
cmp byte [rcx + 0x20], 0
lea rcx, [rbp + 0x650]
jne 0x1400b19e1
movzx eax, byte [rbp + 0x68]
add dword [rbp + 0x640], eax
lea rdx, [rbp]
call fcn.1400b0940
mov rcx, qword [rax]
movzx edx, byte [rcx + 0x18]
movzx eax, byte [rbp + 0x68]
add eax, edx
jmp 0x1400b1a38
lea rdx, [rbp + 0x10]
call fcn.1400b0940
mov rcx, qword [rax]
movsx ebx, byte [rcx + 0x1c]
lea r8, [rbp + 0x640]
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
movzx eax, byte [rcx + 0x20]
add dword [rbp + 0x640], eax
lea r8, [rbp + 0x640]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
movzx eax, byte [rcx + 0x18]
add eax, ebx
cdqe
add rdi, rax
mov r8d, r12d
sub r8d, dword [rbp + 0x640]
lea r9, [rbp + 0x60]
mov rdx, rdi
lea rcx, [rbp + 0x690]
call fcn.14010b680
shr eax, 0x1f
not eax
test al, 1
jne 0x1400b1882
mov r13, qword [rbp - 0x70]
mov r12d, dword [rsp + 0x34]
mov eax, dword [rsp + 0x38]
add eax, r12d
mov dword [rbp + 0x38], eax
mov rsi, qword [rbp - 0x78]
add esi, r12d
mov dword [rbp + 0x40], esi
mov rax, qword [rbp - 0x68]
lea rcx, [rax + rax*4]
mov rax, qword [r13]
lea rdx, [rax + rcx*8]
movups xmm0, xmmword [rbp + 0x30]
mov rdi, qword [rsp + 0x58]
movups xmmword [rdx + rdi + 0x130], xmm0
movups xmm1, xmmword [rbp + 0x40]
movups xmmword [rdx + rdi + 0x140], xmm1
movsd xmm0, qword [rbp + 0x50]
movsd qword [rdx + rdi + 0x150], xmm0
mov rbx, qword [r13]
inc word [rdi + rbx + 6]
mov eax, dword [rsp + 0x40]
add dword [rdi + rbx + 0x28], eax
mov eax, dword [rdi + rbx + 0x28]
sub eax, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], eax
lea r8, [rsp + 0x3c]
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x650]
call fcn.1400b0940
mov rcx, qword [rax]
mov ecx, dword [rcx + 0x14]
add dword [rdi + rbx + 0x28], ecx
mov ecx, dword [rdi + rbx + 0x50]
add ecx, 0xfff
add ecx, esi
and ecx, 0xfffff000
mov dword [rdi + rbx + 0x50], ecx
lea rcx, [rbp + 0x650]
call fcn.1400b0c50
mov bl, 1
mov rdx, qword [rbp + 0x6c8]
cmp rdx, 0x10
jb 0x1400b1b62
inc rdx
mov rcx, qword [rbp + 0x6b0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b1b5d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400b1b5d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401080d8
movzx eax, bl
jmp 0x1400b1b69
xor al, al
mov rcx, qword [rbp + 0x1a60]
xor rcx, rsp
call fcn.140108a30
lea r11, [rsp + 0x1b70]
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.140059e10
nop
int3