Function at 0x14012c590
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
test r9, r9
je 0x14012cc56
mov r11, rsp
sub rsp, 0x128
mov rax, qword [0x1401aaf00]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov r10d, dword [rcx + 0x18]
mov rax, r8
mov qword [r11 + 0x10], rbx
xor r8d, r8d
mov ebx, dword [rcx]
mov qword [r11 - 8], rbp
mov ebp, dword [rcx + 0xc]
mov qword [r11 - 0x10], rsi
mov esi, dword [rcx + 8]
mov dword [rsp + 0x60], r10d
mov r10d, dword [rcx + 0x1c]
mov qword [r11 - 0x18], rdi
mov edi, dword [rcx + 4]
mov dword [rsp + 0x64], r10d
mov r10d, dword [rcx + 0x20]
mov dword [rsp + 0x70], r10d
mov r10d, dword [rcx + 0x24]
mov qword [r11 - 0x20], r12
mov dword [rsp + 0x38], r10d
mov r10d, dword [rcx + 0x28]
mov qword [r11 - 0x28], r13
mov qword [r11 - 0x30], r14
mov r14d, dword [rcx + 0x10]
mov dword [rsp + 0x3c], r10d
mov r10d, dword [rcx + 0x2c]
mov qword [r11 - 0x38], r15
mov r11d, dword [rcx + 0x30]
mov r15d, dword [rcx + 0x38]
mov dword [rsp + 0x40], r10d
mov r10d, dword [rcx + 0x34]
mov qword [rsp + 0x88], r8
mov r8d, dword [rcx + 0x14]
mov qword [rsp + 0x90], rcx
mov ecx, dword [rcx + 0x3c]
mov dword [rsp + 0x48], ecx
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x68], rdx
mov dword [rsp + 0x4c], ebx
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x5c], r14d
mov dword [rsp + 0x28], r8d
mov dword [rsp + 8], r11d
mov dword [rsp + 0x10], r10d
mov dword [rsp + 0x44], r15d
cmp r9, 0x40
jae 0x14012c702
xorps xmm0, xmm0
xor r8d, r8d
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0xc0], xmm0
movups xmmword [rsp + 0xd0], xmm0
test r9, r9
je 0x14012c6db
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
inc r8d
mov byte [rsp + rcx + 0xa0], al
mov ecx, r8d
cmp rcx, r9
jb 0x14012c6c0
mov rax, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x28]
lea rdx, [rsp + 0xa0]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x68], rdx
mov ecx, dword [rsp + 0x60]
mov r15d, ebx
mov eax, dword [rsp + 0x64]
mov r12d, edi
mov r9d, dword [rsp + 0x70]
mov r13d, esi
mov ebx, dword [rsp + 0x38]
mov edx, ebp
mov ebp, dword [rsp + 0x44]
mov edi, r14d
mov dword [rsp + 0x1c], ecx
mov esi, r10d
mov ecx, dword [rsp + 0x40]
mov dword [rsp], ecx
mov ecx, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x24], ecx
mov dword [rsp + 0x18], r8d
mov dword [rsp + 4], eax
mov dword [rsp + reloc.WS2_32.dll_sendto], 0x14
nop dword [rax]
nop dword [rax + rax]
add r12d, dword [rsp + 0x18]
add r15d, edi
add r13d, dword [rsp + 0x1c]
xor esi, r12d
xor r11d, r15d
xor ebp, r13d
mov r8d, r11d
shl r11d, 0x10
shr r8d, 0x10
or r8d, r11d
add r9d, r8d
mov eax, r9d
xor eax, edi
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r15d, ecx
xor r8d, r15d
mov edi, r8d
shl r8d, 8
shr edi, 0x18
or edi, r8d
mov r8d, esi
shr r8d, 0x10
add r9d, edi
shl esi, 0x10
mov eax, r9d
xor eax, ecx
mov dword [rsp + 0x2c], r9d
mov r9d, dword [rsp + 4]
mov r14d, eax
shl eax, 7
or r8d, esi
add ebx, r8d
shr r14d, 0x19
or r14d, eax
mov eax, ebx
xor eax, dword [rsp + 0x18]
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r12d, ecx
xor r8d, r12d
mov esi, r8d
shl r8d, 8
shr esi, 0x18
or esi, r8d
mov r8d, ebp
shl ebp, 0x10
add ebx, esi
shr r8d, 0x10
mov eax, ebx
xor eax, ecx
mov dword [rsp + 0xc], ebx
mov r10d, eax
or r8d, ebp
shl eax, 7
add r9d, r8d
shr r10d, 0x19
or r10d, eax
mov eax, r9d
xor eax, dword [rsp + 0x1c]
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r13d, ecx
xor r8d, r13d
mov ebp, r8d
shl r8d, 8
shr ebp, 0x18
or ebp, r8d
add r9d, ebp
mov eax, r9d
mov dword [rsp + 4], r9d
xor eax, ecx
mov r11d, eax
shr r11d, 0x19
shl eax, 7
add edx, dword [rsp + 0x20]
or r11d, eax
mov eax, dword [rsp + 0x24]
add r15d, r10d
mov ebx, dword [rsp]
xor eax, edx
mov r8d, eax
add r12d, r11d
shl eax, 0x10
xor edi, r12d
shr r8d, 0x10
or r8d, eax
add ebx, r8d
mov eax, ebx
xor eax, dword [rsp + 0x20]
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add edx, ecx
xor r8d, edx
mov r9d, r8d
shl r8d, 8
shr r9d, 0x18
or r9d, r8d
add ebx, r9d
xor r9d, r15d
mov r8d, r9d
mov dword [rsp], ebx
shr r8d, 0x10
mov eax, ebx
xor eax, ecx
shl r9d, 0x10
mov ebx, eax
or r8d, r9d
mov r9d, dword [rsp + 4]
shl eax, 7
add r9d, r8d
shr ebx, 0x19
or ebx, eax
mov eax, r9d
xor eax, r10d
mov r10d, dword [rsp]
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r15d, ecx
xor r8d, r15d
mov eax, r8d
shl r8d, 8
shr eax, 0x18
or eax, r8d
mov r8d, edi
add r9d, eax
mov dword [rsp + 0x24], eax
shr r8d, 0x10
mov eax, r9d
xor eax, ecx
shl edi, 0x10
mov ecx, eax
mov dword [rsp + 4], r9d
shr ecx, 0x19
or r8d, edi
shl eax, 7
add r10d, r8d
or ecx, eax
mov eax, r10d
xor eax, r11d
mov dword [rsp + 0x18], ecx
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r12d, ecx
xor r8d, r12d
mov r11d, r8d
shl r8d, 8
shr r11d, 0x18
or r11d, r8d
add r10d, r11d
mov r9d, dword [rsp + 0x2c]
add r13d, ebx
xor esi, r13d
mov dword [rsp], r10d
mov r8d, esi
add edx, r14d
shr r8d, 0x10
xor ebp, edx
shl esi, 0x10
mov eax, r10d
xor eax, ecx
or r8d, esi
mov ecx, eax
add r9d, r8d
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, r9d
xor eax, ebx
mov dword [rsp + 0x1c], ecx
mov ebx, dword [rsp + 0xc]
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add r13d, ecx
xor r8d, r13d
mov esi, r8d
shl r8d, 8
shr esi, 0x18
or esi, r8d
mov r8d, ebp
shl ebp, 0x10
add r9d, esi
shr r8d, 0x10
mov eax, r9d
xor eax, ecx
or r8d, ebp
mov ecx, eax
add ebx, r8d
shl eax, 7
shr ecx, 0x19
or ecx, eax
mov eax, ebx
xor eax, r14d
mov dword [rsp + 0x20], ecx
mov ecx, eax
shl eax, 0xc
shr ecx, 0x14
or ecx, eax
add edx, ecx
xor r8d, edx
mov ebp, r8d
shl r8d, 8
shr ebp, 0x18
or ebp, r8d
add ebx, ebp
mov eax, ebx
xor eax, ecx
mov edi, eax
shl eax, 7
shr edi, 0x19
or edi, eax
add dword [rsp + 0x14], 0xfffffffe
jne 0x14012c760
mov eax, dword [rsp + 0x50]
mov r14d, dword [rsp + 0x1c]
add eax, r12d
add r14d, dword [rsp + 0x60]
mov r12d, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x44]
add r12d, edi
mov edi, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x24]
add edi, ebx
add ecx, dword [rsp + 0x48]
mov ebx, dword [rsp + 4]
add ebx, dword [rsp + 0x3c]
mov dword [rsp + 0x14], esi
mov esi, dword [rsp + 0x70]
add esi, r9d
mov dword [rsp + 0x2c], r11d
mov r11d, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x14]
add r11d, r10d
mov r10d, dword [rsp + 0x2c]
add r10d, dword [rsp + 8]
mov dword [rsp], ebp
add r8d, dword [rsp]
mov ebp, dword [rsp + 0x20]
add ebp, dword [rsp + 0x64]
mov dword [rsp + 0x74], r15d
mov r15d, dword [rsp + 0x18]
add r15d, dword [rsp + 0x28]
mov dword [rsp + 0xc], edx
mov rdx, qword [rsp + 0x68]
xor eax, dword [rdx + 4]
xor r12d, dword [rdx + 0x10]
xor r15d, dword [rdx + 0x14]
xor r14d, dword [rdx + 0x18]
xor ebp, dword [rdx + 0x1c]
xor esi, dword [rdx + 0x20]
xor edi, dword [rdx + 0x24]
xor ebx, dword [rdx + 0x28]
xor r11d, dword [rdx + 0x2c]
xor r10d, dword [rdx + 0x30]
xor r8d, dword [rdx + 0x38]
xor ecx, dword [rdx + 0x3c]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x54]
add eax, r13d
mov r13d, dword [rsp + 0xc]
xor eax, dword [rdx + 8]
add r13d, dword [rsp + 0x58]
xor r13d, dword [rdx + 0xc]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0xc], r13d
mov r13d, dword [rsp + 0x10]
add r9d, r13d
xor r9d, dword [rdx + 0x34]
add dword [rsp + 8], 1
lea eax, [r13 + 1]
cmovne eax, r13d
mov r13, qword [rsp + 0x30]
mov dword [rsp + 0x10], eax
mov eax, dword [rsp + 0x74]
add eax, dword [rsp + 0x4c]
xor eax, dword [rdx]
mov dword [r13], eax
mov eax, dword [rsp + 0x78]
mov dword [r13 + 4], eax
mov eax, dword [rsp + 0x68]
mov dword [r13 + 8], eax
mov rax, qword [rsp + 0x30]
mov r13d, dword [rsp + 0xc]
mov dword [rax + 0xc], r13d
mov dword [rax + 0x10], r12d
mov dword [rax + 0x14], r15d
mov dword [rax + 0x18], r14d
mov dword [rax + 0x1c], ebp
mov dword [rax + 0x20], esi
mov dword [rax + 0x24], edi
mov dword [rax + 0x28], ebx
mov dword [rax + 0x2c], r11d
mov dword [rax + 0x30], r10d
mov dword [rax + 0x34], r9d
mov r9, qword [rsp + 0x80]
mov dword [rax + 0x38], r8d
mov dword [rax + 0x3c], ecx
cmp r9, 0x40
jbe 0x14012cbb1
mov r10d, dword [rsp + 0x10]
sub r9, 0x40
mov r11d, dword [rsp + 8]
add rax, 0x40
mov ebx, dword [rsp + 0x4c]
add rdx, 0x40
mov edi, dword [rsp + 0x50]
mov esi, dword [rsp + 0x54]
mov ebp, dword [rsp + 0x58]
mov r14d, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x28]
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x80], r9
mov qword [rsp + 0x30], rax
jmp 0x14012c682
mov r15, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x100]
mov r12, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
mov rbp, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x138]
jae 0x14012cc25
test r9d, r9d
je 0x14012cc25
mov rcx, qword [rsp + 0x88]
sub rax, rcx
mov edx, r9d
mov qword [rsp + 0x30], rax
nop dword [rax + rax]
movzx eax, byte [rax + rcx]
mov byte [rcx], al
lea rcx, [rcx + 1]
mov rax, qword [rsp + 0x30]
sub rdx, 1
jne 0x14012cc10
mov rax, qword [rsp + 0x90]
mov r11d, dword [rsp + 8]
mov r10d, dword [rsp + 0x10]
mov dword [rax + 0x30], r11d
mov dword [rax + 0x34], r10d
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.14014be00
add rsp, 0x128
ret