Function at 0x1400cc150
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rdi
push r12
push r13
lea rbp, [rsp - 0x37]
sub rsp, 0xf0
mov rax, qword [0x14029fd68]
xor rax, rsp
mov qword [rbp + 0x17], rax
xor eax, eax
mov dword [rsp + 0x38], edx
mov rbx, rcx
mov qword [rcx + 0x30], rax
cmp dword [rcx + 0x4c], eax
jne 0x1400cc198
lea rdx, [rsp + 0x2c]
call fcn.1400d07d0
mov r12d, dword [rsp + 0x2c]
mov r13d, eax
jmp 0x1400cc1a0
mov r13d, dword [rcx + 0x38]
mov r12d, dword [rcx + 0x3c]
mov edi, dword [rbx + 0x40]
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xe0], r15
mov dword [rsp + 0x30], r12d
cmp edi, 2
jb 0x1400cd6f8
mov rcx, qword [rbx]
mov eax, 0x111
cmp edi, eax
cmova edi, eax
call qword [rbx + SafeArrayPutElement]
movzx r14d, byte [rax - 1]
lea rcx, [rbp - 9]
xor edx, edx
mov r15, rbx
mov r9d, edx
mov r11d, edx
lea rsi, [rax - 1]
sub r15, rcx
mov r10d, edx
nop word [rax + rax]
lea rax, [rbp - 9]
add rax, r10
mov r8d, dword [r15 + rax + 0x50]
mov dword [rax], r8d
neg r8
cmp r14b, byte [r8 + rsi]
jne 0x1400cc264
movzx eax, byte [r8 + rsi + 1]
cmp byte [rsi + 1], al
jne 0x1400cc264
mov edx, 2
cmp edi, edx
jbe 0x1400cc242
lea rcx, [rsi + 2]
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1400cc242
inc edx
inc rcx
cmp edx, edi
jb 0x1400cc230
mov eax, r9d
mov ecx, r11d
mov dword [rbp + r10 + 7], edx
cmp edx, dword [rbp + rax*4 + 7]
cmovbe ecx, r9d
mov r9d, ecx
cmp edx, 0x111
je 0x1400cc276
xor edx, edx
jmp 0x1400cc269
mov dword [rbp + r10 + 7], edx
inc r11d
add r10, 4
cmp r11d, 4
jb 0x1400cc200
mov eax, r9d
mov edi, dword [rbp + rax*4 + 7]
mov eax, dword [rbx + 0x48]
cmp edi, eax
jb 0x1400cc2a1
lea ecx, [rdi - 1]
mov dword [rbx + 0xb8], r9d
add dword [rbx + 0x4c], ecx
lea edx, [rdi - 1]
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov eax, edi
jmp 0x1400cd707
cmp r13d, eax
jb 0x1400cc2d2
mov eax, r12d
lea edx, [r13 - 1]
mov ecx, dword [rbx + rax*4 + 0x784]
lea eax, [r13 - 1]
add dword [rbx + 0x4c], eax
add ecx, 4
mov dword [rbx + 0xb8], ecx
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov eax, r13d
jmp 0x1400cd707
mov eax, dword [rbp - 9]
mov rcx, rsi
movzx r15d, byte [rsi]
sub rcx, rax
cmp edi, r13d
mov dword [rbp - 0x75], eax
mov eax, r13d
cmova eax, edi
movzx r14d, byte [rcx]
mov dword [rsp + 0x20], eax
cmp eax, 2
jae 0x1400cc301
cmp r15b, r14b
jne 0x1400cd6f8
movzx eax, word [rbx + 0x44]
mov r10d, r15d
mov word [rbx + 0xf2e4], ax
mov eax, dword [rsp + 0x38]
mov edi, eax
mov ecx, dword [rbx + 0xbc]
movzx edx, byte [rsi - 1]
and edi, dword [rbx + 0x64]
mov esi, dword [rbx + 0x44]
shl eax, 8
add edx, eax
mov rax, qword [rbx + 0x68]
and edx, dword [rbx + 0x60]
shl edx, cl
lea ecx, [rdx + rdx*2]
lea r11, [rax + rcx*2]
cmp esi, 7
jb 0x1400cc359
lea r9, [rbx + 0x588]
mov r8d, r14d
mov edx, r15d
mov rcx, r11
call fcn.1400ce100
mov r9d, eax
jmp 0x1400cc39c
xor eax, eax
mov r9d, eax
bts r10d, 8
nop dword [rax]
nop word [rax + rax]
mov eax, r10d
shr r10d, 1
and eax, 1
neg eax
shr rax, 4
movzx edx, word [r11 + r10*2]
and eax, 0x7f
shr rdx, 4
xor rdx, rax
add r9d, dword [rbx + rdx*4 + 0x588]
cmp r10d, 2
jae 0x1400cc370
xor r10d, r10d
mov rcx, rsi
shl rcx, 4
add rcx, rdi
movzx eax, word [rbx + rcx*2 + 0x1cd8]
shr rax, 4
mov r8d, dword [rbx + rax*4 + 0x588]
mov dword [rbx + 0xf30c], 0xffffffff
add r8d, r9d
mov dword [rbx + 0xf300], r8d
mov word [rbx + 0xf306], r10w
movzx eax, word [rbx + rcx*2 + 0x1cd8]
xor rax, 0x7f0
shr rax, 4
mov r9d, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + rsi*2 + 0x1c78]
xor rax, 0x7f0
mov dword [rsp + 0x2c], r9d
shr rax, 4
mov r12d, dword [rbx + rax*4 + 0x588]
add r12d, r9d
cmp r14b, r15b
jne 0x1400cc475
cmp dword [rbp + 7], r10d
jne 0x1400cc475
movzx ecx, word [rbx + rcx*2 + 0x1e58]
movzx eax, word [rbx + rsi*2 + 0x1c90]
shr rax, 4
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x588]
add edx, dword [rbx + rax*4 + 0x588]
mov eax, 0xffffffff
add edx, r12d
cmp edx, r8d
jae 0x1400cc463
mov dword [rbx + 0xf300], edx
mov eax, r10d
mov dword [rbx + 0xf30c], r10d
cmp dword [rsp + 0x20], 2
jae 0x1400cc475
mov dword [rbx + 0xb8], eax
jmp 0x1400cd702
mov eax, dword [rbp - 0x75]
lea rsi, [rbp + 7]
mov r15d, 1
mov r9d, r10d
mov dword [rbx + 0xf308], r15d
xor r14d, r14d
mov dword [rbx + 0xf2f0], eax
mov eax, dword [rbp - 5]
mov dword [rbx + 0xf2f4], eax
mov dword [rbp - 0x6d], eax
mov eax, dword [rbp - 1]
mov dword [rbx + 0xf2f8], eax
mov eax, dword [rbp + 3]
mov dword [rbx + 0xf2fc], eax
mov r8d, dword [rsi]
cmp r8d, 2
jb 0x1400cc5ad
mov eax, dword [rbx + 0x44]
movzx ecx, word [rbx + rax*2 + 0x1c90]
test r9d, r9d
jne 0x1400cc4fd
shl rax, 4
add rax, rdi
shr rcx, 4
movzx eax, word [rbx + rax*2 + 0x1e58]
xor rax, 0x7f0
shr rax, 4
mov edx, dword [rbx + rax*4 + 0x588]
add edx, dword [rbx + rcx*4 + 0x588]
jmp 0x1400cc565
movzx r10d, word [rbx + rax*2 + 0x1ca8]
xor rcx, 0x7f0
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x588]
cmp r9d, r15d
jne 0x1400cc52b
shr r10, 4
add edx, dword [rbx + r10*4 + 0x588]
jmp 0x1400cc565
movzx ecx, word [rbx + rax*2 + 0x1cc0]
xor r10, 0x7f0
mov eax, 2
shr rcx, 4
sub eax, r9d
shr r10, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
mov eax, dword [rbx + rcx*4 + 0x588]
add eax, dword [rbx + r10*4 + 0x588]
add edx, eax
lea r10d, [rdx + r12]
imul r11, rdi, 0x110
mov edx, r8d
lea rax, [r11 + rdx]
add rdx, 0x797
mov eax, dword [rbx + rax*4 + 0xaed8]
shl rdx, 5
add eax, r10d
add rdx, rbx
cmp eax, dword [rdx]
jae 0x1400cc5a2
mov dword [rdx], eax
mov dword [rdx + 8], r8d
mov dword [rdx + 0xc], r9d
mov word [rdx + 6], r14w
dec r8d
cmp r8d, 2
jae 0x1400cc570
jmp 0x1400cc5b4
imul r11, rdi, 0x110
inc r9d
add rsi, 4
cmp r9d, 4
jb 0x1400cc4b3
mov edx, dword [rbp + 7]
inc edx
cmp edx, r13d
ja 0x1400cc711
mov r12d, dword [rsp + 0x2c]
xor eax, eax
mov r10d, eax
mov eax, dword [rbx + 0x44]
movzx ecx, word [rbx + rax*2 + 0x1c78]
shr rcx, 4
add r12d, dword [rbx + rcx*4 + 0x588]
lea rcx, [rbx + 0x788]
cmp edx, 2
jae 0x1400cc607
mov edx, 2
jmp 0x1400cc621
cmp edx, dword [rcx]
jbe 0x1400cc621
nop dword [rax + rax]
add r10d, 2
cmp edx, dword [rcx + r10*4]
ja 0x1400cc610
imul r11, rdi, 0x110
mov r13d, dword [rsp + 0x30]
mov qword [rbp - 0x41], 0x422
nop
mov eax, r10d
mov edi, dword [rcx + rax*4 + 4]
lea r14, [rcx + rax*4]
mov esi, edx
lea rax, [r11 + rsi]
mov r15d, dword [rbx + rax*4 + 0x6ad4]
lea eax, [rdx - 2]
add r15d, r12d
cmp edx, 5
jb 0x1400cc659
mov eax, 3
mov r8d, eax
mov r9, rdi
cmp edi, 0x80
jae 0x1400cc67c
shl r8, 7
and r9d, 0x7f
add r8, r9
mov eax, dword [rbx + r8*4 + 0x1458]
jmp 0x1400cc6c6
cmp edi, 0x100000
mov eax, 6
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetLBound
cmovb ecx, eax
mov rax, r9
shr rax, cl
cmp edi, 0x100000
movzx ecx, byte [rax + rbx + 0x2ad8]
mov eax, 0x43c
cmovb rax, qword [rbp - 0x41]
and r9d, 0xf
add rcx, rax
shl r8, 6
add rcx, r8
mov eax, dword [rbx + rcx*4]
add eax, dword [rbx + r9*4 + 0x1018]
lea rcx, [rsi + 0x797]
shl rcx, 5
lea r8d, [r15 + rax]
add rcx, rbx
cmp r8d, dword [rcx]
jae 0x1400cc6ef
lea eax, [rdi + 4]
mov dword [rcx], r8d
mov dword [rcx + 0xc], eax
xor eax, eax
mov word [rcx + 6], ax
mov dword [rcx + 8], edx
cmp edx, dword [r14]
jne 0x1400cc6fd
add r10d, 2
cmp r10d, r13d
je 0x1400cc70b
inc edx
lea rcx, [rbx + 0x788]
jmp 0x1400cc630
mov r15d, 1
mov esi, dword [rsp + 0x20]
mov r12d, r15d
mov dword [rsp + 0x24], r15d
cmp esi, 1
je 0x1400cd622
mov dword [rsp + 0x20], esi
lea r15, [0x140000000]
cmp r12d, 0x7c0
jae 0x1400cd5b9
mov rcx, qword [rbx]
inc dword [rbx + 0x4c]
call qword [rbx + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbx]
lea rdx, [rbx + 0x788]
mov dword [rbx + 0x40], eax
call qword [rbx + 0x20]
mov rcx, 0xfffffffffffff878
sub rcx, rbx
add rax, rcx
sar rax, 2
mov qword [rbp - 0x29], rax
test eax, eax
jne 0x1400cc778
xor r9d, r9d
mov r14d, r9d
jmp 0x1400cc7e3
mov esi, eax
mov r14d, dword [rbx + rsi*4 + 0x780]
mov qword [rbp - 0x31], r14
cmp r14d, dword [rbx + 0x48]
je 0x1400cc795
mov esi, dword [rsp + 0x20]
xor r9d, r9d
jmp 0x1400cc7e7
mov edi, dword [rbx + 0x40]
mov eax, 0x111
mov rcx, qword [rbx]
cmp edi, eax
cmova edi, eax
call qword [rbx + SafeArrayPutElement]
mov edx, dword [rbx + rsi*4 + 0x784]
mov ecx, edi
not rdx
lea r8, [rax - 1]
add r14, r8
add rcx, r8
cmp r14, rcx
je 0x1400cc7d5
movzx eax, byte [rdx + r14]
cmp byte [r14], al
jne 0x1400cc7d5
inc r14
cmp r14, rcx
jne 0x1400cc7c3
mov esi, dword [rsp + 0x20]
sub r14d, r8d
mov rax, qword [rbp - 0x29]
xor r9d, r9d
mov qword [rbp - 0x31], r14
cmp r14d, dword [rbx + 0x48]
jae 0x1400cd5b0
mov r13d, dword [rsp + 0x38]
mov ecx, r12d
mov r14d, r12d
lea rdi, [r14 + 0x797]
shl rdi, 5
add rdi, rbx
inc r13d
mov dword [rsp + 0x38], r13d
sub ecx, dword [rdi + 8]
cmp dword [rdi + 8], 1
jne 0x1400cc857
mov r15d, dword [rbp - 0x75]
lea rdx, [0x140233b78]
mov r8d, dword [rbp - 0x6d]
mov r9d, dword [rbp - 1]
mov eax, ecx
shl rax, 5
cmp dword [rdi + 0xc], 0
movzx ecx, word [rax + rbx + 0xf2e4]
lea rax, str._t_t_t_t_t_t_t_v_v_v_v_v
cmovne rax, rdx
movzx esi, byte [rcx + rax]
mov eax, dword [rbp + 3]
jmp 0x1400cc965
movzx r8d, word [rdi + 6]
mov edx, dword [rdi + 0xc]
test r8w, r8w
je 0x1400cc8a4
sub ecx, r8d
mov esi, 8
cmp r8d, 1
jne 0x1400cc880
cmp edx, 4
mov esi, r9d
setb sil
add esi, 7
add rcx, 0x797
mov dword [rbp - 0x61], esi
shl rcx, 5
add rcx, rbx
mov r8d, dword [rcx + 0x10]
mov dword [rbp - 0x6d], r8d
cmp edx, 4
jae 0x1400cc943
jmp 0x1400cc8d7
mov eax, ecx
add rcx, 0x797
shl rcx, 5
shl rax, 5
add rcx, rbx
movzx r8d, word [rax + rbx + 0xf2e4]
cmp edx, 4
jae 0x1400cc936
movzx esi, byte [r8 + r15 + 0x233b98]
mov r8d, dword [rcx + 0x10]
mov dword [rbp - 0x6d], r8d
mov eax, dword [rcx + 0x14]
test edx, edx
jne 0x1400cc8fb
mov r9d, dword [rcx + 0x18]
mov r15d, r8d
mov dword [rbp - 0x75], r8d
mov dword [rbp - 9], r8d
mov r8d, eax
mov dword [rbp - 0x6d], eax
mov dword [rbp - 5], eax
mov eax, dword [rcx + 0x1c]
jmp 0x1400cc95e
mov dword [rbp - 5], r8d
mov r15d, eax
mov dword [rbp - 0x75], eax
cmp edx, 1
jne 0x1400cc916
mov r9d, dword [rcx + 0x18]
mov dword [rbp - 9], eax
mov eax, dword [rcx + 0x1c]
jmp 0x1400cc95e
mov r15d, dword [rcx + rdx*4 + 0x10]
mov r9d, eax
mov dword [rbp - 1], eax
mov rax, rdx
xor rax, 1
mov dword [rbp - 0x75], r15d
mov dword [rbp - 9], r15d
mov eax, dword [rcx + rax*4 + 0x10]
jmp 0x1400cc962
movzx esi, byte [r8 + r15 + 0x233b88]
mov r8d, dword [rcx + 0x10]
mov r9d, dword [rcx + 0x14]
lea r15d, [rdx - 3]
mov eax, dword [rcx + 0x18]
mov dword [rbp - 0x75], r15d
mov dword [rbp - 9], r15d
mov dword [rbp - 0x6d], r8d
mov dword [rbp - 5], r8d
mov dword [rbp - 1], r9d
mov dword [rbp + 3], eax
mov word [rdi + 4], si
mov dword [rdi + 0x10], r15d
mov dword [rdi + 0x14], r8d
mov dword [rdi + 0x18], r9d
mov dword [rdi + 0x1c], eax
mov rcx, qword [rbx]
call qword [rbx + SafeArrayPutElement]
mov edx, dword [rdi]
add r14, 0x798
movzx r8d, byte [rax - 1]
mov ecx, r13d
lea r11, [rax - 1]
shl r14, 5
mov eax, r15d
add r14, rbx
mov r10d, esi
mov r12, r11
sub r12, rax
mov edi, esi
mov eax, dword [rbx + 0x64]
mov r15d, dword [r14]
and rcx, rax
shl rdi, 4
movzx r9d, byte [r12]
add rdi, rcx
mov qword [rbp - 0x49], rcx
mov qword [rbp - 0x59], r10
mov qword [rbp - 0x69], r11
movzx ecx, word [rbx + rdi*2 + 0x1cd8]
mov eax, ecx
mov byte [rsp + 0x29], r8b
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov byte [rsp + 0x28], r9b
mov qword [rbp - 0x39], rdi
mov r13d, dword [rbx + rcx*4 + 0x588]
mov eax, dword [rbx + rax*4 + 0x588]
add r13d, edx
add eax, edx
mov dword [rsp + 0x2c], eax
xor eax, eax
mov dword [rbp - 0x79], eax
mov r10d, eax
cmp r15d, 0x40000000
jae 0x1400cca1d
cmp r9b, r8b
je 0x1400cca22
cmp r13d, r15d
jbe 0x1400cca2a
mov r13d, eax
jmp 0x1400ccb38
mov ecx, dword [rbx + 0xbc]
mov eax, dword [rsp + 0x38]
movzx edx, byte [r11 - 1]
shl eax, 8
add edx, eax
movzx r8d, r8b
and edx, dword [rbx + 0x60]
bts r8d, 8
mov rax, qword [rbx + 0x68]
shl edx, cl
lea ecx, [rdx + rdx*2]
lea rdi, [rax + rcx*2]
xor eax, eax
cmp esi, 7
jb 0x1400ccac6
mov r11d, eax
mov r10d, 0x100
nop word [rax + rax]
mov ecx, r8d
add r9d, r9d
shr ecx, 8
mov eax, r10d
and eax, r9d
add eax, r10d
add ecx, eax
movzx edx, word [rdi + rcx*2]
mov ecx, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rdx, 4
neg ecx
mov eax, r8d
shr rcx, 4
xor eax, r9d
and ecx, 0x7f
not eax
xor rdx, rcx
and r10d, eax
add r11d, dword [rbx + rdx*4 + 0x588]
cmp r8d, 0x10000
jb 0x1400cca70
mov r10d, dword [rbp - 0x79]
jmp 0x1400ccaff
mov r9d, eax
nop dword [rax]
mov eax, r8d
shr r8d, 1
and eax, 1
neg eax
shr rax, 4
movzx edx, word [rdi + r8*2]
and eax, 0x7f
shr rdx, 4
xor rdx, rax
add r9d, dword [rbx + rdx*4 + 0x588]
cmp r8d, 2
jae 0x1400ccad0
mov r11d, r9d
movzx r9d, byte [rsp + 0x28]
add r13d, r11d
movzx r8d, byte [rsp + 0x29]
mov rdi, qword [rbp - 0x39]
cmp r13d, r15d
jae 0x1400ccb38
mov eax, 1
mov dword [r14], r13d
xor ecx, ecx
mov dword [r14 + 8], eax
mov word [r14 + 6], cx
mov r10d, eax
mov dword [r14 + 0xc], 0xffffffff
mov r15d, r13d
mov r11d, dword [rsp + 0x2c]
mov edx, 0x7ff
sub edx, dword [rsp + 0x24]
mov eax, esi
mov ecx, edx
movzx eax, word [rbx + rax*2 + 0x1c78]
xor rax, 0x7f0
shr rax, 4
add r11d, dword [rbx + rax*4 + 0x588]
cmp dword [rbx + 0x40], edx
mov dword [rbp - 0x51], r11d
cmovbe ecx, dword [rbx + 0x40]
mov dword [rbp - 0x71], ecx
cmp esi, 7
jae 0x1400ccbd9
cmp r9b, r8b
jne 0x1400ccbd9
cmp r11d, r15d
jae 0x1400ccbd9
cmp dword [r14 + 8], 2
jb 0x1400ccb8f
cmp dword [r14 + 0xc], 0
je 0x1400ccbd9
movzx ecx, word [rbx + rdi*2 + 0x1e58]
shr rcx, 4
mov edi, esi
mov edx, dword [rbx + rcx*4 + 0x588]
movzx eax, word [rbx + rdi*2 + 0x1c90]
mov ecx, dword [rbp - 0x71]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
add edx, r11d
cmp edx, r15d
jae 0x1400ccbdd
xor eax, eax
mov dword [r14], edx
mov word [r14 + 6], ax
mov r10d, eax
mov qword [r14 + 8], 1
jmp 0x1400ccbdd
mov rdi, qword [rbp - 0x59]
cmp ecx, 2
jb 0x1400cd58d
mov edx, dword [rbx + 0x48]
cmp ecx, edx
mov esi, edx
cmovbe esi, ecx
mov dword [rbp - 0x7d], esi
test r10d, r10d
jne 0x1400ccd48
test r13d, r13d
je 0x1400ccd48
cmp r9b, r8b
je 0x1400ccd48
mov r15, qword [rbp - 0x69]
cmp ecx, 2
jbe 0x1400ccd4c
movzx eax, byte [r12 + 1]
cmp byte [r15 + 1], al
jne 0x1400ccd4c
movzx eax, byte [r12 + 2]
cmp byte [r15 + 2], al
jne 0x1400ccd4c
inc edx
mov r11d, 3
cmp edx, ecx
cmova edx, ecx
cmp edx, r11d
jbe 0x1400ccc68
lea rcx, [r15 + 3]
sub r12, r15
movzx eax, byte [r12 + rcx]
cmp byte [rcx], al
jne 0x1400ccc68
inc r11d
inc rcx
cmp r11d, edx
jb 0x1400ccc54
mov r9d, dword [rsp + 0x38]
lea rax, [0x140233b78]
movzx r8d, byte [rdi + rax]
inc r9d
mov eax, dword [rbx + 0x64]
mov ecx, r8d
mov r12d, dword [rsp + 0x24]
and r9, rax
lea r10d, [r11 + r12]
cmp dword [rsp + 0x20], r10d
mov r14d, r10d
cmovae r14d, dword [rsp + 0x20]
dec r11d
shl rcx, 4
add rcx, r9
movzx edx, word [rbx + rcx*2 + 0x1e58]
movzx eax, word [rbx + rcx*2 + 0x1cd8]
xor rdx, 0x7f0
xor rax, 0x7f0
shr rdx, 4
shr rax, 4
imul rcx, r9, 0x110
mov edx, dword [rbx + rdx*4 + 0x588]
add edx, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + r8*2 + 0x1c78]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + r8*2 + 0x1c90]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
mov eax, r11d
add rcx, rax
mov eax, r10d
add rax, 0x797
shl rax, 5
add rax, rbx
add edx, dword [rbx + rcx*4 + 0xaed8]
add edx, r13d
cmp edx, dword [rax]
jae 0x1400ccd56
xor ecx, ecx
mov dword [rax], edx
mov dword [rax + 0xc], ecx
mov ecx, 1
mov word [rax + 6], cx
mov dword [rax + 8], r11d
jmp 0x1400ccd56
mov r15, qword [rbp - 0x69]
mov r12d, dword [rsp + 0x24]
mov r14d, dword [rsp + 0x20]
xor eax, eax
mov dword [rsp + 0x34], 2
mov edi, eax
mov dword [rsp + 0x30], eax
lea rax, [rbp - 9]
mov qword [rbp - 0x41], rax
nop
mov eax, dword [rax]
neg rax
mov qword [rbp - 0x21], rax
lea r11, [rax + r15]
movzx eax, byte [rax + r15]
mov qword [rbp - 0x19], r11
cmp byte [r15], al
jne 0x1400cd13e
movzx eax, byte [r11 + 1]
cmp byte [r15 + 1], al
jne 0x1400cd13e
mov r9d, 2
mov dword [rbp - 0x79], r9d
cmp esi, r9d
jbe 0x1400ccdca
nop dword [rax]
mov ecx, r9d
movzx eax, byte [r11 + rcx]
cmp byte [r15 + rcx], al
jne 0x1400ccdc6
inc r9d
cmp r9d, esi
jb 0x1400ccdb0
mov dword [rbp - 0x79], r9d
lea eax, [r9 + r12]
mov edx, r9d
cmp r14d, eax
cmovae eax, r14d
mov dword [rsp + 0x20], eax
mov r14d, eax
mov r10d, eax
mov rax, qword [rbp - 0x59]
movzx ecx, word [rbx + rax*2 + 0x1c90]
test edi, edi
jne 0x1400cce1e
mov rax, qword [rbp - 0x39]
shr rcx, 4
movzx eax, word [rbx + rax*2 + 0x1e58]
xor rax, 0x7f0
shr rax, 4
mov r8d, dword [rbx + rax*4 + 0x588]
add r8d, dword [rbx + rcx*4 + 0x588]
jmp 0x1400cce8a
movzx r10d, word [rbx + rax*2 + 0x1ca8]
xor rcx, 0x7f0
shr rcx, 4
mov r8d, dword [rbx + rcx*4 + 0x588]
cmp edi, 1
jne 0x1400cce4d
shr r10, 4
add r8d, dword [rbx + r10*4 + 0x588]
jmp 0x1400cce87
movzx ecx, word [rbx + rax*2 + 0x1cc0]
xor r10, 0x7f0
mov eax, 2
shr rcx, 4
sub eax, edi
shr r10, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
mov eax, dword [rbx + rcx*4 + 0x588]
add eax, dword [rbx + r10*4 + 0x588]
add r8d, eax
mov r10d, r14d
mov r13, qword [rbp - 0x49]
mov r9d, dword [rbp - 0x51]
imul r11, r13, 0x110
add r9d, r8d
mov qword [rbp - 0x11], r11
xor r15d, r15d
mov dword [rbp - 0x61], r9d
nop word [rax + rax]
mov eax, edx
lea ecx, [rdx + r12]
add rcx, 0x797
add rax, r11
shl rcx, 5
add rcx, rbx
mov r8d, dword [rbx + rax*4 + 0xaed8]
add r8d, r9d
cmp r8d, dword [rcx]
jae 0x1400ccee5
mov dword [rcx], r8d
mov dword [rcx + 8], edx
mov dword [rcx + 0xc], edi
mov word [rcx + 6], r15w
dec edx
cmp edx, 2
jae 0x1400cceb0
mov r9d, dword [rbp - 0x79]
test edi, edi
jne 0x1400ccf01
lea edx, [r9 + 1]
mov dword [rsp + 0x34], edx
mov r8d, edx
jmp 0x1400ccf09
mov edx, dword [rsp + 0x34]
lea r8d, [r9 + 1]
mov esi, dword [rbx + 0x48]
mov r11, qword [rbp - 0x19]
add esi, r8d
cmp esi, dword [rbp - 0x71]
mov r15, qword [rbp - 0x69]
cmova esi, dword [rbp - 0x71]
mov ecx, r8d
add r8d, 2
cmp r8d, esi
ja 0x1400cd139
movzx eax, byte [r11 + rcx]
mov r14d, r10d
cmp byte [r15 + rcx], al
jne 0x1400cd139
lea eax, [r8 - 1]
mov ecx, eax
movzx eax, byte [r11 + rax]
cmp byte [rcx + r15], al
jne 0x1400cd139
mov ecx, dword [rsp + 0x38]
xor r10d, r10d
mov rdx, qword [rbp - 0x69]
add ecx, r9d
movzx r11d, byte [r11 + r9]
mov r13d, ecx
and r13d, dword [rbx + 0x64]
mov r14d, r10d
movzx r10d, byte [r15 + r9]
mov edi, 0x100
movzx eax, byte [rdx + r9 - 1]
or r10d, edi
mov r15, qword [rbx + 0x68]
shl ecx, 8
add eax, ecx
mov ecx, dword [rbx + 0xbc]
and eax, dword [rbx + 0x60]
shl eax, cl
lea r12d, [rax + rax*2]
nop dword [rax]
add r11d, r11d
mov eax, edi
and eax, r11d
mov ecx, r10d
shr ecx, 8
add eax, edi
add eax, ecx
mov ecx, r10d
shr ecx, 7
add rax, r12
and ecx, 1
add r10d, r10d
neg ecx
shr rcx, 4
movzx edx, word [r15 + rax*2]
and ecx, 0x7f
shr rdx, 4
mov eax, r10d
xor rdx, rcx
xor eax, r11d
not eax
and edi, eax
add r14d, dword [rbx + rdx*4 + 0x588]
cmp r10d, 0x10000
jb 0x1400ccfa0
mov rax, qword [rbp - 0x59]
lea rcx, [0x140000000]
mov r11d, dword [rbp - 0x61]
lea r10d, [r13 + 1]
mov r15, qword [rbp - 0x69]
movzx ecx, byte [rax + rcx + 0x233b98]
shl rcx, 4
mov eax, r13d
add rcx, rax
mov rax, r9
add rax, qword [rbp - 0x11]
movzx ecx, word [rbx + rcx*2 + 0x1cd8]
shr rcx, 4
mov edx, dword [rbx + rcx*4 + 0x588]
add edx, dword [rbx + rax*4 + 0xaed8]
mov eax, dword [rbx + 0x64]
add edx, r14d
and r10, rax
add r11d, edx
movzx ecx, word [rbx + r10*2 + 0x1ef8]
movzx eax, word [rbx + r10*2 + 0x1d78]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov edx, dword [rbx + rcx*4 + 0x588]
add edx, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + 0x1c82]
xor rax, 0x7f0
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + 0x1c9a]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
add r11d, edx
cmp r8d, esi
jae 0x1400cd0cb
mov rdx, qword [rbp - 0x21]
mov ecx, r8d
add rcx, r15
movzx eax, byte [rcx + rdx]
cmp byte [rcx], al
jne 0x1400cd0cb
inc r8d
inc rcx
cmp r8d, esi
jb 0x1400cd0b8
mov r12d, dword [rsp + 0x24]
mov eax, 0xffffffff
mov edi, dword [rsp + 0x30]
mov esi, dword [rbp - 0x7d]
mov r13, qword [rbp - 0x49]
lea r14d, [r8 + r12]
cmp dword [rsp + 0x20], r14d
mov edx, r14d
cmovae r14d, dword [rsp + 0x20]
sub eax, r9d
add r8d, eax
imul rcx, r10, 0x110
mov eax, r8d
add rcx, rax
lea rax, [rdx + 0x797]
mov edx, dword [rsp + 0x34]
shl rax, 5
add rax, rbx
mov ecx, dword [rbx + rcx*4 + 0xaed8]
add ecx, r11d
cmp ecx, dword [rax]
jae 0x1400cd146
inc r9w
mov dword [rax], ecx
mov word [rax + 6], r9w
mov dword [rax + 8], r8d
mov dword [rax + 0xc], edi
jmp 0x1400cd146
mov esi, dword [rbp - 0x7d]
jmp 0x1400cd146
mov r13, qword [rbp - 0x49]
mov edx, dword [rsp + 0x34]
mov rax, qword [rbp - 0x41]
inc edi
add rax, 4
mov dword [rsp + 0x30], edi
mov qword [rbp - 0x41], rax
cmp edi, 4
jb 0x1400ccd70
mov rcx, qword [rbp - 0x31]
lea r9, [rbx + 0x788]
xor r11d, r11d
mov dword [rsp + 0x20], r14d
cmp ecx, esi
jbe 0x1400cd19b
mov ecx, esi
mov r8d, r11d
cmp esi, dword [r9]
jbe 0x1400cd18c
add r8d, 2
cmp esi, dword [r9 + r8*4]
ja 0x1400cd182
mov eax, r8d
add r8d, 2
mov qword [rbp - 0x29], r8
mov dword [r9 + rax*4], esi
cmp ecx, edx
jb 0x1400cd592
mov rax, qword [rbp - 0x59]
mov edx, dword [rsp + 0x2c]
mov edi, dword [rsp + 0x34]
movzx eax, word [rbx + rax*2 + 0x1c78]
shr rax, 4
add edx, dword [rbx + rax*4 + 0x588]
lea eax, [rcx + r12]
cmp r14d, eax
mov dword [rbp - 0x7d], edx
mov r12d, r11d
cmovae eax, r14d
mov dword [rsp + 0x20], eax
cmp edi, dword [r9]
jbe 0x1400cd1ea
nop dword [rax]
add r12d, 2
cmp edi, dword [r9 + r12*4]
ja 0x1400cd1e0
mov r14d, dword [rsp + 0x24]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetLBound
mov eax, r12d
mov r11d, dword [r9 + rax*4 + 4]
mov eax, 6
cmp r11d, 0x100000
mov dword [rbp - 0x79], r11d
mov r8d, r11d
cmovb ecx, eax
mov eax, r11d
shr rax, cl
mov ecx, ntohs
cmp r11d, 0x100000
movzx r9d, byte [rax + rbx + 0x2ad8]
mov eax, 0x26
cmovb eax, ecx
add edi, 3
add r9d, eax
imul rax, r13, 0x110
add r14d, 0xfffffffd
mov qword [rbp - 0x21], rax
mov dword [rsp + 0x2c], r14d
nop
lea r13d, [rdi - 3]
mov r15d, r13d
add rax, r15
mov r10d, dword [rbx + rax*4 + 0x6ad4]
lea eax, [r13 - 2]
add r10d, edx
mov edx, 3
cmp eax, edx
cmovb edx, eax
cmp r11d, 0x80
jae 0x1400cd292
mov rax, r8
shl rdx, 7
and eax, 0x7f
add rdx, rax
mov ecx, dword [rbx + rdx*4 + 0x1458]
jmp 0x1400cd2b0
shl rdx, 6
mov eax, r9d
add rdx, rax
mov rax, r8
and eax, 0xf
mov ecx, dword [rbx + rdx*4 + 0x1058]
add ecx, dword [rbx + rax*4 + 0x1018]
lea esi, [r10 + rcx]
lea ecx, [r14 + rdi]
add rcx, 0x797
shl rcx, 5
add rcx, rbx
cmp esi, dword [rcx]
jae 0x1400cd2dd
lea eax, [r11 + 4]
mov dword [rcx], esi
mov dword [rcx + 0xc], eax
xor eax, eax
mov word [rcx + 6], ax
mov dword [rcx + 8], r13d
mov eax, r12d
lea rcx, [rbx + 0x788]
cmp r13d, dword [rcx + rax*4]
jne 0x1400cd57f
mov r11, qword [rbp - 0x69]
mov r10d, edi
mov edx, dword [rbx + 0x48]
mov r9, r11
add edx, 0xfffffffe
sub r9, r8
add edx, edi
cmp edx, dword [rbp - 0x71]
cmova edx, dword [rbp - 0x71]
cmp edi, edx
ja 0x1400cd52f
lea eax, [rdi - 2]
mov ecx, eax
movzx eax, byte [r9 + rax - 1]
cmp byte [rcx + r11], al
jne 0x1400cd528
lea eax, [rdi - 1]
mov ecx, eax
movzx eax, byte [r9 + rax - 1]
cmp byte [rcx + r11], al
jne 0x1400cd528
cmp edi, edx
jae 0x1400cd364
mov ecx, edi
lea r8, [r9 - 1]
add rcx, r11
sub r8, r11
nop
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1400cd364
inc r10d
inc rcx
cmp r10d, edx
jb 0x1400cd350
mov edx, dword [rsp + 0x38]
lea r8, [0x140000000]
mov rcx, qword [rbp - 0x59]
add edx, 0xfffffffd
movzx r9d, byte [r9 + r13 - 1]
add edx, edi
mov r14, qword [rbx + 0x68]
mov eax, edx
and eax, dword [rbx + 0x64]
mov r11d, 0x100
movzx ecx, byte [rcx + r8 + 0x233b88]
mov dword [rbp - 0x61], eax
shl rcx, 4
add rcx, rax
shl edx, 8
mov dword [rbp - 0x51], r10d
sub r10d, r13d
movzx eax, word [rbx + rcx*2 + 0x1cd8]
mov ecx, dword [rbx + 0xbc]
shr rax, 4
mov eax, dword [rbx + rax*4 + 0x588]
add eax, esi
mov dword [rsp + 0x30], eax
xor eax, eax
mov esi, eax
mov rax, qword [rbp - 0x69]
movzx r8d, byte [r13 + rax]
movzx eax, byte [r13 + rax - 1]
or r8d, r11d
add eax, edx
and eax, dword [rbx + 0x60]
shl eax, cl
lea r15d, [rax + rax*2]
nop dword [rax + rax]
add r9d, r9d
mov eax, r11d
and eax, r9d
mov ecx, r8d
shr ecx, 8
add eax, r11d
add eax, ecx
mov ecx, r8d
shr ecx, 7
add rax, r15
and ecx, 1
add r8d, r8d
neg ecx
shr rcx, 4
movzx edx, word [r14 + rax*2]
and ecx, 0x7f
shr rdx, 4
mov eax, r8d
xor rdx, rcx
xor eax, r9d
not eax
and r11d, eax
add esi, dword [rbx + rdx*4 + 0x588]
cmp r8d, 0x10000
jb 0x1400cd3f0
mov r8d, dword [rbp - 0x61]
mov eax, dword [rbx + 0x64]
inc r8d
mov r9d, dword [rbp - 0x51]
and r8, rax
add r9d, dword [rsp + 0x24]
cmp dword [rsp + 0x20], r9d
mov r14d, r9d
cmovae r14d, dword [rsp + 0x20]
dec r10d
movzx ecx, word [rbx + r8*2 + 0x1ed8]
movzx eax, word [rbx + r8*2 + 0x1d58]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
mov edx, r10d
mov dword [rsp + 0x20], r14d
mov r11d, dword [rbx + rcx*4 + 0x588]
add r11d, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + 0x1c80]
xor rax, 0x7f0
mov ecx, r9d
shr rax, 4
add rcx, 0x797
shl rcx, 5
add rcx, rbx
add r11d, dword [rbx + rax*4 + 0x588]
movzx eax, word [rbx + 0x1c98]
shr rax, 4
add r11d, dword [rbx + rax*4 + 0x588]
imul rax, r8, 0x110
add rax, rdx
add r11d, dword [rbx + rax*4 + 0xaed8]
add r11d, esi
add r11d, dword [rsp + 0x30]
cmp r11d, dword [rcx]
jae 0x1400cd523
mov eax, dword [rbp - 0x79]
inc r13w
add eax, 4
mov dword [rcx], r11d
mov dword [rcx + 0xc], eax
mov dword [rcx + 8], r10d
mov word [rcx + 6], r13w
mov dword [rsp + 0x20], r14d
mov r14d, dword [rsp + 0x2c]
lea rcx, [rbx + 0x788]
add r12d, 2
cmp r12d, dword [rbp - 0x29]
je 0x1400cd58d
mov r11d, dword [rcx + r12*4 + 4]
mov eax, 6
cmp r11d, 0x100000
mov dword [rbp - 0x79], r11d
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetLBound
mov r8d, r11d
cmovb ecx, eax
mov eax, r11d
shr rax, cl
mov ecx, ntohs
cmp r11d, 0x100000
movzx r9d, byte [rax + rbx + 0x2ad8]
mov eax, 0x26
cmovb eax, ecx
add r9d, eax
mov rax, qword [rbp - 0x21]
inc edi
mov edx, dword [rbp - 0x7d]
jmp 0x1400cd250
mov r12d, dword [rsp + 0x24]
mov esi, dword [rsp + 0x20]
lea r15, [0x140000000]
inc r12d
mov dword [rsp + 0x24], r12d
cmp r12d, esi
jne 0x1400cc731
jmp 0x1400cd61c
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x38], r14d
jmp 0x1400cd61c
mov eax, r12d
lea edx, [r12 + 1]
add rax, 0x797
mov edi, r12d
shl rax, 5
mov r8d, dword [rax + rbx]
cmp edx, esi
ja 0x1400cd609
nop word [rax + rax]
mov eax, edx
add rax, 0x797
shl rax, 5
mov ecx, dword [rax + rbx]
cmp r8d, ecx
mov eax, edx
cmovb eax, edi
inc edx
cmp r8d, ecx
mov edi, eax
cmovb ecx, r8d
mov r8d, ecx
cmp edx, esi
jbe 0x1400cd5e0
mov edx, edi
sub edx, r12d
je 0x1400cd619
add dword [rbx + 0x4c], edx
mov rcx, qword [rbx]
call qword [rbx + 0x28]
mov r12d, edi
mov r15d, 1
mov eax, esi
add rax, 0x797
shl rax, 5
mov dword [rax + rbx], 0x40000000
add esi, 0xffffffff
jne 0x1400cd622
lea ecx, [r12 + 1]
xor r10d, r10d
mov dword [rbx + 0x34], ecx
nop word [rax + rax]
mov eax, r12d
shl rax, 5
mov edx, dword [rax + rbx + 0xf2e8]
sub r12d, edx
movzx r8d, word [rax + rbx + 0xf2e6]
mov r9d, dword [rax + rbx + 0xf2ec]
test r8d, r8d
je 0x1400cd6c9
dec ecx
sub r12d, r8d
mov eax, ecx
shl rax, 5
mov dword [rax + rbx + 0xf2e8], edx
mov edx, r8d
cmp r8d, 1
jne 0x1400cd6a2
mov dword [rax + rbx + 0xf2ec], r9d
mov r9d, 0xffffffff
jmp 0x1400cd6c9
mov dword [rax + rbx + 0xf2ec], r10d
lea edx, [r8 - 1]
dec ecx
mov eax, ecx
shl rax, 5
mov dword [rax + rbx + 0xf2ec], 0xffffffff
mov dword [rax + rbx + 0xf2e8], r15d
test r12d, r12d
je 0x1400cd6ea
dec ecx
mov eax, ecx
shl rax, 5
mov dword [rax + rbx + 0xf2ec], r9d
mov dword [rax + rbx + 0xf2e8], edx
jmp 0x1400cd650
mov dword [rbx + 0xb8], r9d
mov eax, edx
mov dword [rbx + 0x30], ecx
jmp 0x1400cd707
mov dword [rbx + 0xb8], 0xffffffff
mov eax, 1
mov r15, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0x130]
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14017f910
add rsp, 0xf0
pop r13
pop r12
pop rdi
pop rbx
pop rbp
ret