Function at 0x140032970
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push r15
sub rsp, 0x50
mov rbx, rcx
mov esi, r9d
mov ecx, 0x2c0
mov r15, r8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
test rax, rax
je 0x140033128
mov qword [rsp + 0x70], rbp
mov r8, rbx
mov qword [rsp + 0x78], rdi
mov r9d, 3
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x48], r13
lea r13, [rax + 0x40]
lea rdi, [r13 + 0x140]
mov qword [rsp + 0x40], r14
mov rcx, r13
sub r8, r13
nop dword [rax]
mov edx, 0xa
nop word [rax + rax]
mov rax, qword [r8 + rcx]
mov qword [rcx], rax
add rcx, 8
sub rdx, 1
jne 0x1400329e0
sub r8, 0x50
sub r9, 1
jne 0x1400329d0
lea rcx, [r13 + 0xf0]
mov r8, rbx
sub r8, rcx
mov edx, 2
nop dword [rax]
mov rax, qword [r8 + rcx]
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x140032a10
mov rax, qword [rbx]
mov ebp, 0x100
mov qword [r13 + 0x100], rax
cmp esi, ebp
mov rax, qword [rbx + 8]
mov r10d, ebp
mov qword [r13 + 0x108], rax
cmovbe r10d, esi
mov rax, qword [rbx + 0x10]
xor esi, esi
mov qword [r13 + 0x110], rax
mov rax, qword [rbx + 0x18]
mov qword [r13 + 0x118], rax
mov rax, qword [rbx + 0x20]
mov qword [r13 + 0x120], rax
mov rax, qword [rbx + 0x28]
mov qword [r13 + 0x128], rax
mov rax, qword [rbx + 0x30]
mov qword [r13 + 0x130], rax
mov rax, qword [rbx + 0x38]
mov qword [r13 + 0x138], rax
mov eax, ebp
div r10d
mov r12d, eax
test eax, eax
je 0x140032b10
mov ebp, r10d
mov ebx, r10d
shr ebp, 3
mov r11d, esi
and ebx, 7
mov r14d, r12d
mov r9d, r11d
add r9, rdi
test ebp, ebp
je 0x140032ad1
mov r8, r15
mov edx, ebp
sub r8, r9
mov rcx, r9
nop dword [rax + rax]
mov rax, qword [r8 + rcx]
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x140032ac0
test ebx, ebx
je 0x140032b02
mov edx, r10d
sub edx, ebx
cmp edx, r10d
jae 0x140032b02
mov ecx, edx
mov r8, r15
add rcx, r9
sub r8, r9
mov eax, r10d
sub eax, edx
mov edx, eax
movzx eax, byte [r8 + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140032af1
add r11d, r10d
sub r14, 1
jne 0x140032aa6
mov ebp, 0x100
imul r10d, r12d
mov edx, ebp
sub edx, r10d
je 0x140032b91
mov r11d, r10d
mov eax, edx
add r11, rdi
shr eax, 3
test eax, eax
je 0x140032b51
mov r9, r15
mov r8d, eax
sub r9, r11
mov rcx, r11
nop word [rax + rax]
mov rax, qword [r9 + rcx]
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub r8, 1
jne 0x140032b40
mov eax, edx
and eax, 7
je 0x140032b91
mov r9d, edx
sub r9d, eax
cmp r9d, edx
jae 0x140032b91
mov ecx, r9d
mov r8, r15
add rcx, r11
sub r8, r11
sub edx, r9d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140032b80
mov rax, qword [r15]
lea r14, [rdi + 0x100]
mov qword [r14], rax
lea r12, [r13 + 0x260]
mov rax, qword [r15 + 8]
mov ebx, esi
mov qword [r14 + 8], rax
mov rax, qword [r15 + 0x10]
mov qword [r14 + 0x10], rax
mov rax, qword [r15 + 0x18]
mov r15d, reloc.WLDAP32.dll_Ordinal_32
mov qword [r14 + 0x18], rax
lea rax, [r12 + 1]
mov qword [rsp + 0x30], rax
nop
mov eax, ebx
mov qword [rsp + 0x20], r12
lea r8, [rax + rdi]
lea rcx, [rax + r13]
call fcn.140032730
mov rcx, qword [rsp + 0x30]
mov edx, esi
mov r8d, esi
mov r9d, esi
mov r10d, esi
mov r11d, 8
nop word [rax + rax]
movzx eax, byte [rcx - 1]
lea rcx, [rcx + 4]
add edx, eax
movzx eax, byte [rcx - 4]
add r10d, eax
movzx eax, byte [rcx - 3]
add r9d, eax
movzx eax, byte [rcx - 2]
add r8d, eax
sub r11, 1
jne 0x140032c00
lea eax, [r8 + r9]
add eax, r10d
lea rcx, [r12 + 0x1f]
add edx, eax
movzx ebx, dl
lea r8, [rdi + rbx]
lea rax, [r8 + 0x1f]
cmp r8, rcx
ja 0x140032c80
cmp rax, r12
jb 0x140032c80
mov r9, r12
mov rcx, r8
sub r9, r8
mov edx, reloc.WLDAP32.dll_Ordinal_32
nop word [rax + rax]
movzx eax, byte [rcx + r9]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140032c60
jmp 0x140032cab
movdqu xmm0, xmmword [r12]
movdqu xmm1, xmmword [r8]
pxor xmm1, xmm0
movdqu xmmword [r8], xmm1
movdqu xmm1, xmmword [r12 + 0x10]
movdqu xmm0, xmmword [r8 + 0x10]
pxor xmm1, xmm0
movdqu xmmword [r8 + 0x10], xmm1
cmp ebx, 0x20
jae 0x140032d32
mov r9d, reloc.WLDAP32.dll_Ordinal_32
lea r11d, [rbx + 0x100]
mov eax, reloc.WLDAP32.dll_Ordinal_32
sub eax, ebx
cmp eax, r9d
cmovbe r9d, eax
add r11, rdi
mov eax, r9d
shr eax, 3
test eax, eax
je 0x140032d01
mov r10, r8
mov edx, eax
sub r10, r11
mov rcx, r11
nop word [rax + rax]
mov rax, qword [r10 + rcx]
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x140032cf0
mov eax, r9d
and eax, 7
je 0x140032d32
mov edx, r9d
sub edx, eax
cmp edx, r9d
jae 0x140032d32
mov ecx, edx
add rcx, r11
sub r8, r11
nop dword [rax + rax]
movzx eax, byte [rcx + r8]
inc edx
mov byte [rcx], al
lea rcx, [rcx + 1]
cmp edx, r9d
jb 0x140032d20
mov eax, ebp
sub eax, ebx
cmp eax, 0x20
jae 0x140032db1
lea r8d, [rbx - 0xe0]
mov eax, r8d
shr eax, 3
test eax, eax
je 0x140032d71
mov r9, r14
mov edx, eax
sub r9, rdi
mov rcx, rdi
nop word [rax + rax]
mov rax, qword [r9 + rcx]
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x140032d60
mov eax, r8d
and eax, 7
je 0x140032db1
mov edx, r8d
sub edx, eax
cmp edx, r8d
jae 0x140032db1
mov ecx, edx
mov r9, r14
add rcx, rdi
sub r9, rdi
sub r8d, edx
mov edx, r8d
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx + r9]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140032da0
sub r15, 1
jne 0x140032bd0
cmp dword [rsp + 0xa0], ebp
mov edx, ebp
mov r14, qword [rsp + 0x40]
cmovbe edx, dword [rsp + 0xa0]
sub ebp, ebx
mov r12, qword [rsp + 0x80]
cmp ebp, edx
jb 0x140032ef6
lea r8, [rdi + rbx]
test edx, edx
je 0x140032e81
cmp edx, 0x20
jb 0x140032e57
lea eax, [rdx - 1]
lea r9, [r8 + rax]
add rax, r13
cmp r8, rax
ja 0x140032e08
cmp r9, r13
jae 0x140032e57
mov eax, edx
mov r9d, edx
and eax, 0x1f
sub r9d, eax
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rsi + r8]
lea eax, [rsi + 0x10]
movdqu xmm1, xmmword [rsi + r13]
pxor xmm1, xmm0
movdqu xmmword [rsi + r8], xmm1
add esi, 0x20
movdqu xmm1, xmmword [rax + r13]
movdqu xmm0, xmmword [rax + r8]
pxor xmm1, xmm0
movdqu xmmword [rax + r8], xmm1
cmp esi, r9d
jb 0x140032e20
cmp esi, edx
jae 0x140032e81
mov ecx, esi
sub r13, r8
add rcx, r8
mov r9d, edx
sub r9d, esi
nop dword [rax]
movzx eax, byte [rcx + r13]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r9, 1
jne 0x140032e70
mov r11, qword [rsp + 0x98]
mov eax, edx
shr eax, 3
test eax, eax
je 0x140032eb1
mov r10, r8
mov r9d, eax
sub r10, r11
mov rcx, r11
nop
mov rax, qword [r10 + rcx]
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub r9, 1
jne 0x140032ea0
mov eax, edx
and eax, 7
je 0x140033110
mov r9d, edx
sub r9d, eax
cmp r9d, edx
jae 0x140033110
mov ecx, r9d
sub r8, r11
add rcx, r11
sub edx, r9d
mov r9d, edx
nop word [rax + rax]
movzx eax, byte [rcx + r8]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r9, 1
jne 0x140032ee0
jmp 0x140033110
lea r9, [rdi + rbx]
mov r8d, esi
test ebp, ebp
je 0x140032fa1
cmp ebp, 0x20
jb 0x140032f6c
lea eax, [rbp - 1]
lea r10, [rax + r9]
add rax, r13
cmp r9, rax
ja 0x140032f1e
cmp r10, r13
jae 0x140032f6c
mov r10d, ebp
and r10d, 0xffffffe0
nop word [rax + rax]
mov eax, r8d
movdqu xmm0, xmmword [rax + r9]
movdqu xmm1, xmmword [rax + r13]
pxor xmm1, xmm0
movdqu xmmword [rax + r9], xmm1
lea eax, [r8 + 0x10]
add r8d, 0x20
movdqu xmm1, xmmword [rax + r13]
movdqu xmm0, xmmword [rax + r9]
pxor xmm1, xmm0
movdqu xmmword [rax + r9], xmm1
cmp r8d, r10d
jb 0x140032f30
cmp r8d, ebp
jae 0x140032fa1
mov ecx, r8d
mov r10, r13
add rcx, r9
sub r10, r9
mov eax, ebp
sub eax, r8d
mov r8d, eax
nop word [rax + rax]
movzx eax, byte [r10 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x140032f90
mov r8, rbp
mov ebx, ebp
add r8, r13
sub edx, ebp
je 0x140033031
cmp edx, 0x20
jb 0x140033004
lea eax, [rdx - 1]
lea r10, [rax + rdi]
add rax, r8
cmp rdi, rax
ja 0x140032fca
cmp r10, r8
jae 0x140033004
mov r10d, edx
and r10d, 0xffffffe0
movdqu xmm0, xmmword [rsi + rdi]
lea eax, [rsi + 0x10]
movdqu xmm1, xmmword [rsi + r8]
pxor xmm1, xmm0
movdqu xmmword [rsi + rdi], xmm1
add esi, 0x20
movdqu xmm1, xmmword [rax + r8]
movdqu xmm0, xmmword [rax + rdi]
pxor xmm1, xmm0
movdqu xmmword [rax + rdi], xmm1
cmp esi, r10d
jb 0x140032fd1
cmp esi, edx
jae 0x140033031
mov ecx, esi
sub r8, rdi
add rcx, rdi
mov r10d, edx
sub r10d, esi
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub r10, 1
jne 0x140033020
mov r11, qword [rsp + 0x98]
mov eax, ebp
shr eax, 3
test eax, eax
je 0x140033061
mov r10, r9
mov r8d, eax
sub r10, r11
mov rcx, r11
nop
mov rax, qword [r10 + rcx]
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub r8, 1
jne 0x140033050
mov eax, ebp
and eax, 7
je 0x1400330a1
mov r8d, ebp
sub r8d, eax
cmp r8d, ebp
jae 0x1400330a1
mov ecx, r8d
sub r9, r11
add rcx, r11
sub ebp, r8d
mov r8d, ebp
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r9]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x140033090
mov eax, edx
lea r10, [rbx + r11]
shr eax, 3
test eax, eax
je 0x1400330d1
mov r9, rdi
mov r8d, eax
sub r9, r10
mov rcx, r10
nop word [rax + rax]
mov rax, qword [r9 + rcx]
mov qword [rcx], rax
lea rcx, [rcx + 8]
sub r8, 1
jne 0x1400330c0
mov eax, edx
and eax, 7
je 0x140033110
mov r8d, edx
sub r8d, eax
cmp r8d, edx
jae 0x140033110
mov ecx, r8d
sub rdi, r10
add rcx, r10
sub edx, r8d
mov r8d, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rdi]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub r8, 1
jne 0x140033100
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
mov r13, qword [rsp + 0x48]
add rsp, 0x50
pop r15
pop rsi
pop rbx
ret
lea rdx, str.Out_of_memory_
xor ecx, ecx
call fcn.140033bd0
mov ecx, 2
call fcn.1400293d0
int3