Function at 0x140085f40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x288], rbx
mov rax, qword [0x1403d88e8]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov r13d, r8d
mov dword [rsp + 0x44], r8d
mov rbx, rdx
mov rdi, rcx
cmp qword [rcx + 0x1658], 0
jne 0x140085fb4
lea r8, str.JackInfo.cpp
mov edx, 0x93
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
xor eax, eax
jmp 0x140086416
xor esi, esi
mov dword [rsp + 0x40], esi
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x20]
call fcn.14029ff20
mov dword [rsp + 0x58], esi
movups xmm0, xmmword [str._alsC]
movaps xmmword [rbp - 0x80], xmm0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.14005f420
test eax, eax
jne 0x14008602b
lea r8, str.JackInfo.cpp
mov edx, 0xa6
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
xor eax, eax
jmp 0x140086416
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x140086411
lea rdx, [rax + rax*2]
mov eax, 4
mul rdx
mov r15, 0xffffffffffffffff
cmovo rax, r15
mov rcx, rax
call fcn.1400f816c
mov r12, rax
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x140086082
lea r8, str.JackInfo.cpp
mov edx, 0xae
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
xor eax, eax
jmp 0x140086416
mov eax, dword [rsp + 0x40]
lea edx, [rax + rax*2]
shl edx, 2
mov dword [rsp + 0x5c], esi
movups xmm0, xmmword [str._alsC]
movaps xmmword [rbp - 0x70], xmm0
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, [rbp - 0x70]
mov rcx, rbx
call fcn.14005f420
test eax, eax
jne 0x1400860ec
mov rcx, r12
call fcn.1400f8164
lea r8, str.JackInfo.cpp
mov edx, 0xbc
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
xor eax, eax
jmp 0x140086416
mov r14d, dword [rsp + 0x40]
lea rsi, [r14*8]
mov r8, rsi
mov rdx, r12
lea rcx, [rbp + 0x20]
call fcn.14029f520
lea r8, [r14*4]
shr rsi, 2
lea rdx, [r12 + rsi*4]
lea rcx, [rbp - 0x60]
call fcn.14029f520
xor ebx, ebx
test r14d, r14d
je 0x1400862b4
mov esi, dword [rsp + 0x68]
mov r14d, dword [rsp + 0x64]
mov r13d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x4c]
mov r12d, dword [rsp + 0x48]
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rbp + rbx*8 + 0x20]
mov eax, r13d
xor eax, ecx
movzx eax, al
xor r13d, eax
mov dword [rsp + 0x60], r13d
mov eax, ecx
shr eax, 8
xor eax, r14d
and eax, 0xf
xor r14d, eax
mov dword [rsp + 0x64], r14d
and esi, 0xfff00000
shr ecx, 0xc
or esi, ecx
mov eax, dword [rdi + 0x14]
add eax, ebx
imul rcx, rax, 0xac
movsd xmm0, qword [rsp + 0x60]
movsd qword [rcx + rdi + 0xbc], xmm0
mov dword [rcx + rdi + 0xc4], esi
mov ecx, dword [rbp + rbx*8 + 0x24]
mov eax, r12d
xor eax, ecx
movzx eax, al
xor r12d, eax
mov dword [rsp + 0x48], r12d
shr ecx, 8
xor ecx, r15d
movzx eax, cx
xor r15d, eax
mov dword [rsp + 0x4c], r15d
mov eax, dword [rdi + 0x14]
add eax, ebx
imul rcx, rax, 0xac
mov rax, qword [rsp + 0x48]
mov qword [rcx + rdi + 0x144], rax
mov eax, dword [rdi + 0x14]
add eax, ebx
imul rcx, rax, 0xac
mov eax, dword [rbp + rbx*4 - 0x60]
mov dword [rcx + rdi + 0x14c], eax
mov eax, dword [rdi + 0x14]
add eax, ebx
imul rcx, rax, 0xac
xor eax, eax
mov qword [rcx + rdi + 0x150], rax
mov dword [rcx + rdi + 0x158], eax
mov eax, dword [rdi + 0x14]
add eax, ebx
imul rcx, rax, 0xac
mov eax, dword [rsp + 0x44]
mov dword [rcx + rdi + 0x15c], eax
mov edx, dword [rdi + 0x14]
add edx, ebx
mov eax, edx
imul r8, rax, 0xac
add r8, rdi
mov r11d, dword [r8 + 0xbc]
and r11d, 0xf
mov r10d, dword [r8 + 0xc4]
shr r10d, 8
and r10d, 0xf
mov ecx, dword [r8 + 0xc0]
shr ecx, 2
and ecx, 1
movzx eax, byte [r8 + 0x149]
movzx r9d, byte [r8 + 0x148]
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
mov r8d, dword [r8 + 0x14c]
lea rcx, str.CJackInfo::LoadPinCfgOfDevice_:_Jack__x___Wid__X__Loc__X__Type__X__ReTasking__d__DefDev__d__Sequence__d
call fcn.140055180
inc ebx
cmp ebx, dword [rsp + 0x40]
jb 0x140086150
or r15, 0xffffffffffffffff
mov r12, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x44]
mov rax, qword [rdi + 0x1658]
test dword [rax + 0x2c], 0x200000
je 0x1400863f5
call fcn.1400f9930
mov rcx, rax
test rax, rax
je 0x140086440
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rbx, [0x140345b70]
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.140015a40
test al, al
jne 0x14008631e
mov rax, r15
inc rax
cmp word [rbx + rax*2], 0
jne 0x140086303
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.1400105e0
nop
xor r14d, r14d
mov qword [rsp + 0x50], r14
mov dword [rsp + 0x44], r14d
mov esi, r14d
cmp dword [rsp + 0x40], r14d
jbe 0x1400863d7
nop dword [rax]
mov r8d, dword [rdi + 0x14]
add r8d, esi
lea rdx, str.Pin__d
lea rcx, [rsp + 0x48]
call fcn.14000dfa0
lea rax, [rsp + 0x44]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov r8, rbx
lea rdx, str.Retasking
lea rcx, [0x140400ce0]
call fcn.1401074ac
test eax, eax
je 0x1400863c9
cmp dword [rsp + 0x44], 0xc
jne 0x1400863b5
mov eax, dword [rdi + 0x14]
add eax, esi
imul rcx, rax, 0xac
mov rax, qword [rsp + 0x50]
movsd xmm0, qword [rax]
movsd qword [rcx + rdi + 0x150], xmm0
mov eax, dword [rax + 8]
mov dword [rcx + rdi + 0x158], eax
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400863c9
call fcn.1400f8164
mov qword [rsp + 0x50], r14
inc esi
cmp esi, dword [rsp + 0x40]
jb 0x140086340
jmp 0x1400863dc
mov rbx, qword [rsp + 0x48]
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r15d
sub r15d, 1
jg 0x1400863f5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, r12
call fcn.1400f8164
movsxd rcx, r13d
mov eax, dword [rdi + 0x14]
mov dword [rdi + rcx*4 + 0x1668], eax
mov eax, dword [rsp + 0x40]
add dword [rdi + 0x14], eax
mov eax, 1
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.14029d880
mov rbx, qword [rsp + 0x288]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000de90
int3