Function at 0x1400039c0
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov qword [r11 + 0x20], r12
push r13
push r14
push r15
sub rsp, 0x130
movaps xmmword [r11 - 0x28], xmm6
movaps xmmword [r11 - 0x38], xmm7
movaps xmmword [r11 - 0x48], xmm8
movaps xmmword [r11 - 0x58], xmm9
movaps xmmword [r11 - 0x68], xmm10
mov rax, qword [0x140030040]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov r14, r8
mov dword [rsp + 0x70], edx
xorps xmm0, xmm0
movups xmmword [rsp + 0xb8], xmm0
lea r12, [rsp + 0x148]
movabs r13, 0x7a5db90d33787107
mov qword [r11 - 0x88], r13
mov qword [r11 - 0x80], r12
mov r15, qword [r12]
xor r15, r13
mov qword [r11 - 0x90], r15
xor edi, edi
mov qword [r12], rdi
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitialize]
mov r9d, eax
mov esi, dword [0x140030010]
movdqa xmm8, xmmword [0x14002c560]
movdqa xmm6, xmmword [0x14002c610]
movdqa xmm9, xmmword [0x14002c580]
movdqa xmm7, xmmword [0x14002c600]
movdqa xmm10, xmmword [0x14002c5e0]
test eax, eax
je 0x140003c2a
movups xmm0, xmmword [str.fInF_BMALB]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [0x140028a08]
movups xmmword [rsp + 0x48], xmm1
movsd xmm0, qword [0x140028a18]
movsd qword [rsp + 0x58], xmm0
mov eax, dword [0x140028a20]
mov dword [rsp + 0x60], eax
mov ecx, edi
cmp esi, 2
jl 0x140003bda
movdqa xmmword [rsp + 0x80], xmm7
lea rdx, [rsp + 0x3c]
mov r8d, dword [rsp + 0x80]
nop dword [rax]
nop word [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x28
jl 0x140003af0
cmp ecx, 0x2c
jge 0x140003c1d
movsxd rax, ecx
lea r8, [rsp + 0x38]
add r8, rax
nop word [rax + rax]
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl al, 3
add dl, al
movzx eax, cl
sub al, dl
add al, 0x25
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x2c
jl 0x140003bf0
mov edx, r9d
lea rcx, [rsp + 0x38]
call fcn.140001010
mov qword [rsp + 0xa0], rdi
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
lea r9, [0x1400284e0]
xor edx, edx
mov r8d, 0x404
lea rcx, [0x1400284f0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
mov dword [rsp + 0x30], eax
test eax, eax
js 0x140004307
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rcx]
lea r8, [rsp + 0xa8]
xor edx, edx
call qword [rax + 0x18]
mov dword [rsp + 0xb0], edi
mov ebx, 0x80070002
mov dword [rsp + 0x30], ebx
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x90], rdi
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0x98]
mov edx, 1
call qword [rax + 0x18]
mov edi, eax
test eax, eax
js 0x1400042f3
mov eax, dword [rsp + 0xb0]
cmp eax, 1
jne 0x1400042e6
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
lea rdx, [rsp + 0x90]
call qword [rax + 0x38]
mov edi, eax
test eax, eax
jne 0x140004105
cmp dword [rsp + 0x70], eax
je 0x140003eef
mov rax, qword [rsp + 0x90]
mov r9, qword [rax + 0x18]
mov rax, r9
mov r8, r14
sub r8, r9
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140003d38
add rax, 2
test ecx, ecx
jne 0x140003d24
test edx, edx
jne 0x140003eef
movups xmm0, xmmword [str._rz_boCSECB]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [0x140028890]
movups xmmword [rsp + 0x48], xmm1
mov eax, dword [0x1400288a0]
mov dword [rsp + 0x58], eax
movzx eax, word [0x1400288a4]
mov word [rsp + 0x5c], ax
movzx eax, byte [0x1400288a6]
mov byte [rsp + 0x5e], al
xor ecx, ecx
cmp esi, 2
jl 0x140003e8a
movdqa xmmword [rsp + 0x80], xmm7
lea rdx, [rsp + 0x3c]
mov r8d, dword [rsp + 0x80]
nop word [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x20
jl 0x140003da0
cmp ecx, 0x27
jge 0x140003ecd
movsxd rax, ecx
lea r8, [rsp + 0x38]
add r8, rax
nop word [rax + rax]
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl al, 3
add dl, al
movzx eax, cl
sub al, dl
add al, 0x25
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x27
jl 0x140003ea0
mov rdx, r9
lea rcx, [rsp + 0x38]
call fcn.140001010
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov ebx, eax
jmp 0x1400040ca
mov rax, qword [rsp + 0x90]
mov r9, qword [rax + 0x18]
mov rax, r9
mov r8, r14
sub r8, r9
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140003f18
add rax, 2
test ecx, ecx
jne 0x140003f04
test edx, edx
jne 0x1400040ce
movups xmm0, xmmword [str._rz_bmCXMOIOIO_tKOM_QCU]
movups xmmword [rsp + 0x38], xmm0
movsd xmm0, qword [0x140028a90]
movsd qword [rsp + 0x48], xmm0
mov eax, dword [0x140028a98]
mov dword [rsp + 0x50], eax
movzx eax, word [0x140028a9c]
mov word [rsp + 0x54], ax
cmp byte [0x140028a9d], dl
je 0x1400040ad
xor ecx, ecx
cmp esi, 2
jl 0x14000406a
movdqa xmmword [rsp + 0x80], xmm7
lea rdx, [rsp + 0x3c]
mov r8d, dword [rsp + 0x80]
nop dword [rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x18
jl 0x140003f80
cmp ecx, 0x1e
jge 0x1400040ad
movsxd rax, ecx
lea r8, [rsp + 0x38]
add r8, rax
nop word [rax + rax]
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl al, 3
add dl, al
movzx eax, cl
sub al, dl
add al, 0x25
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x1e
jl 0x140004080
mov rdx, r9
lea rcx, [rsp + 0x38]
call fcn.140001010
mov rcx, qword [rsp + 0x98]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov ebx, eax
mov dword [rsp + 0x30], eax
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx + 0x10]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x1400042b9
test ebx, ebx
jns 0x1400042b9
cmp ebx, 0x800704d5
je 0x1400042b9
movups xmm0, xmmword [str._az_bjE_I]
movups xmmword [rsp + 0x38], xmm0
movups xmm1, xmmword [0x140028990]
movups xmmword [rsp + 0x48], xmm1
movups xmm0, xmmword [0x1400289a0]
movups xmmword [rsp + 0x58], xmm0
mov eax, dword [0x1400289b0]
mov dword [rsp + 0x68], eax
movzx eax, word [0x1400289b4]
mov word [rsp + 0x6c], ax
xor ecx, ecx
cmp esi, 2
jl 0x14000426a
movdqa xmmword [rsp + 0x80], xmm7
lea rdx, [rsp + 0x3c]
mov r8d, dword [rsp + 0x80]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm8
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm9
psubd xmm2, xmm0
andps xmm2, xmm10
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x30
jl 0x140004180
cmp ecx, 0x36
jge 0x1400042ad
movsxd rax, ecx
lea r8, [rsp + 0x38]
add r8, rax
nop word [rax + rax]
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dl
shl al, 3
add dl, al
movzx eax, cl
sub al, dl
add al, 0x25
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x36
jl 0x140004280
mov edx, ebx
lea rcx, [rsp + 0x38]
call fcn.140001010
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x1400042d8
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsp + 0x98], 0
test edi, edi
js 0x1400042f3
mov eax, dword [rsp + 0xb0]
cmp eax, 1
mov edi, 0
je 0x140003ca0
jmp 0x1400042f9
mov ebx, edi
mov dword [rsp + 0x30], ebx
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0xa0]
test rcx, rcx
je 0x14000431a
mov rax, qword [rcx]
call qword [rax + 0x10]
call qword [sym.imp.ole32.dll_CoUninitialize]
nop
jmp 0x14000433f
xor r15, r13
mov qword [r12], r15
mov eax, ebx
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140025fd0
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
ret