Function at 0x1400bfb40
Capabilities:
Create thread

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x6b8]
sub rsp, 0x778
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rax, qword [0x1401770a0]
xor rax, rsp
mov qword [rbp + 0x648], rax
mov qword [rbp + 0x68], r9
mov r15, r8
mov qword [rsp + 0x50], r8
mov r14, rdx
mov qword [rsp + 0x58], rdx
mov qword [rbp + 0x180], rcx
mov rax, qword [rbp + 0x6e0]
mov qword [rbp - 0x38], rax
mov rdx, qword [rbp + 0x6e8]
mov qword [rbp - 0x18], rdx
mov r12, qword [rbp + 0x6f0]
mov qword [rbp + 0x138], r12
mov r13, qword [rbp + 0x6f8]
mov qword [rbp + 0x78], r13
mov rax, qword [rbp + 0x700]
mov qword [rbp + 0x38], rax
xor esi, esi
mov dword [rbp - 0x30], esi
mov rbx, qword [r13 + 0x18]
mov eax, 1
test rbx, rbx
cmove rbx, rax
mov qword [rbp + 0x130], rbx
test r14, r14
je 0x1400bfc13
mov r9, qword [r14 + 0x1e8]
test r9, r9
je 0x1400bfc13
cmp byte [r13 + 0x29], sil
jne 0x1400bfc13
mov qword [rsp + 0x20], rsi
xor r8d, r8d
call fcn.1400be500
test eax, eax
jne 0x1400c28e0
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc0], rsi
mov qword [rbp + 0xc8], 4
lea rax, vtable.CRecordVector_int_.0
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x20], rsi
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], 0xc
lea rax, vtable.CRecordVector_struct_NArchive::N7z::CFolderRepack_.0
mov qword [rbp + 0x18], rax
mov rdi, rsi
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x48], rsi
mov byte [rbp - 0x70], dil
test r14, r14
je 0x1400c0131
mov edx, dword [r14 + 0xac]
lea rcx, [rbp + 0xb0]
call fcn.140098e80
xor r9d, r9d
mov ebx, r9d
cmp dword [r14 + 0xac], r9d
jle 0x1400bfd10
mov eax, dword [rbp + 0xbc]
lea edi, [r9 + 1]
lea r12d, [r9 + 8]
mov ecx, dword [rbp + 0xb8]
cmp eax, ecx
jne 0x1400bfcd7
cmp ecx, 0x40
jl 0x1400bfcb9
mov eax, ecx
shr eax, 2
jmp 0x1400bfcc2
mov eax, edi
cmp ecx, r12d
cmovge eax, r12d
lea edx, [rax + rcx]
lea rcx, [rbp + 0xb0]
call fcn.140098e80
mov eax, dword [rbp + 0xbc]
movsxd rcx, eax
mov rax, qword [rbp + 0xc0]
mov dword [rax + rcx*4], 0xffffffff
mov eax, dword [rbp + 0xbc]
inc eax
mov dword [rbp + 0xbc], eax
inc ebx
cmp ebx, dword [r14 + 0xac]
jl 0x1400bfca3
mov rdi, qword [rsp + 0x60]
mov r12, qword [rbp + 0x138]
xor r9d, r9d
mov edx, r9d
cmp dword [r15 + 0xc], 0
jle 0x1400bfd49
mov r8, r9
nop dword [rax]
mov rax, qword [r15 + 0x10]
mov rcx, qword [r8 + rax]
movsxd rax, dword [rcx]
cmp eax, 0xffffffff
je 0x1400bfd3d
mov rcx, rax
mov rax, qword [rbp + 0xc0]
mov dword [rax + rcx*4], edx
inc edx
add r8, 8
cmp edx, dword [r15 + 0xc]
jl 0x1400bfd20
mov ebx, r9d
mov dword [rbp + 0x640], ebx
cmp dword [r14 + 0x6c], 0
jle 0x1400c011e
xor r12d, r12d
mov r15d, r12d
mov qword [rbp - 0x40], r12
mov edx, r12d
mov qword [rbp - 0x20], rdx
mov r13d, dword [rbp + 0x24]
mov r9d, r12d
mov esi, r12d
mov rax, qword [r14 + 0x90]
mov r12d, dword [rdx + rax]
xor r11d, r11d
mov r14d, r11d
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0x278]
mov edx, dword [rdx + rax]
test r12d, r12d
je 0x1400c00d6
mov r11, qword [rcx + 0xb0]
mov rdi, qword [rsp + 0x50]
nop dword [rax]
movsxd rcx, edx
mov r10, qword [r11 + rcx*8]
cmp byte [r10 + 0x20], 0
je 0x1400bfde4
inc r9d
mov rax, qword [rbp + 0xc0]
movsxd r8, dword [rax + rcx*4]
test r8d, r8d
js 0x1400bfde4
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + r8*8]
cmp byte [rcx + 0x3c], 0
jne 0x1400bfde4
inc esi
add r14, qword [r10]
inc edx
cmp r9d, r12d
jb 0x1400bfdb0
mov rdi, qword [rsp + 0x60]
test esi, esi
je 0x1400c00db
mov dword [rbp + 0x188], ebx
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x70]
mov r10, qword [r15 + rax]
mov r8d, dword [r10 + 0xc]
lea eax, [r8 - 1]
test eax, eax
js 0x1400bfe38
movsxd rcx, eax
mov rax, qword [r10 + 0x10]
lea rdx, [rax + rcx*8]
mov rax, qword [rdx]
cmp qword [rax], 0x6f10701
je 0x1400bfe76
sub rdx, 8
sub rcx, 1
jns 0x1400bfe22
xor r15b, r15b
test r8d, r8d
jle 0x1400bfe7f
mov r9, r8
mov rcx, qword [r10 + 0x10]
xor r10d, r10d
mov edx, r10d
nop dword [rax]
mov rax, qword [rcx]
mov r8, qword [rax]
cmp r8, 0x3030103
je 0x1400bfe7b
cmp r8, 0x303011b
je 0x1400bfe7b
inc rdx
add rcx, 8
cmp rdx, r9
jl 0x1400bfe50
jmp 0x1400bfe82
mov r15b, 1
jmp 0x1400bfe40
mov dl, 1
jmp 0x1400bfe84
xor r10d, r10d
xor dl, dl
movzx eax, r15b
neg al
sbb ecx, ecx
and ecx, 2
movzx eax, dl
add ecx, eax
mov dword [rbp + 0x18c], ecx
mov eax, dword [rbp + 0x20]
cmp r13d, eax
jne 0x1400bff35
cmp eax, 0x40
jl 0x1400bfeb2
mov ecx, eax
shr ecx, 2
jmp 0x1400bfec2
mov ecx, 1
cmp eax, 8
mov edx, 8
cmovge ecx, edx
lea ebx, [rcx + rax]
cmp ebx, eax
je 0x1400bff35
cmp ebx, 0x80000000
jae 0x1400c2948
mov r9d, ebx
mov rcx, qword [rbp + 0x30]
imul rcx, r9
xor edx, edx
mov rax, rcx
div qword [rbp + 0x30]
cmp rax, r9
jne 0x1400c292e
mov rdi, r10
test rcx, rcx
je 0x1400bff1f
call fcn.1400f8f68
mov rdi, rax
mov edx, ebx
cmp dword [rbp + 0x24], ebx
cmovl edx, dword [rbp + 0x24]
movsxd r8, edx
imul r8, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x28]
mov rcx, rax
call fcn.1400fabc0
mov rcx, qword [rbp + 0x28]
call fcn.1400f877c
mov qword [rbp + 0x28], rdi
mov dword [rbp + 0x20], ebx
mov r13d, dword [rbp + 0x24]
jmp 0x1400bff39
mov rdi, qword [rbp + 0x28]
movsxd rax, r13d
lea rcx, [rax + rax*2]
movsd xmm0, qword [rbp + 0x188]
movsd qword [rdi + rcx*4], xmm0
mov dword [rdi + rcx*4 + 8], esi
mov r13d, dword [rbp + 0x24]
inc r13d
mov dword [rbp + 0x24], r13d
cmp esi, r12d
jne 0x1400c008c
mov r14, qword [rsp + 0x58]
mov rax, qword [r14 + 0x258]
mov rcx, qword [rbp - 0x20]
movsxd rdi, dword [rcx + rax]
mov rax, qword [r14 + 0x70]
mov r15, qword [rbp - 0x40]
mov rcx, qword [r15 + rax]
xor r12d, r12d
mov r11d, r12d
movsxd rbx, dword [rcx + 0x4c]
mov r9d, r12d
test ebx, ebx
jle 0x1400c000c
cmp ebx, 4
jb 0x1400c000c
mov r8, qword [r14 + 0x10]
xorps xmm2, xmm2
xorps xmm1, xmm1
mov ecx, r12d
mov edx, ebx
and edx, 0x80000003
jge 0x1400bffb9
dec edx
or edx, 0xfffffffc
inc edx
mov eax, ebx
sub eax, edx
movsxd rdx, eax
lea rax, [rdi*8]
nop dword [rax + rax]
movdqu xmm0, xmmword [r8 + rax]
paddq xmm2, xmm0
movdqu xmm0, xmmword [r8 + rax + 0x10]
paddq xmm1, xmm0
add r9d, 4
add rcx, 4
lea rax, [rax + 0x20]
cmp rcx, rdx
jl 0x1400bffd0
paddq xmm1, xmm2
movdqa xmm0, xmm1
psrldq xmm0, 8
paddq xmm1, xmm0
movq r11, xmm1
mov rdx, r12
mov r8, r12
movsxd r10, r9d
cmp r10, rbx
jge 0x1400c0077
mov r9, qword [r14 + 0x10]
mov rax, rbx
sub rax, r10
cmp rax, 2
jl 0x1400c0068
lea rcx, [rdi + r10]
shl rcx, 3
mov rax, rbx
sub rax, r10
sub rax, 2
shr rax, 1
inc rax
lea r10, [r10 + rax*2]
nop word [rax + rax]
add rdx, qword [r9 + rcx]
add r8, qword [r9 + rcx + 8]
lea rcx, [rcx + 0x10]
sub rax, 1
jne 0x1400c0050
cmp r10, rbx
jge 0x1400c0070
lea rax, [rdi + r10]
add r11, qword [r9 + rax*8]
lea rax, [rdx + r8]
add r11, rax
mov rdi, qword [rsp + 0x60]
add rdi, r11
mov qword [rsp + 0x60], rdi
mov ebx, dword [rbp + 0x640]
jmp 0x1400c00e3
mov rdi, qword [rsp + 0x60]
add rdi, r14
mov qword [rsp + 0x60], rdi
mov rsi, qword [rsp + 0x48]
cmp r14, rsi
cmova rsi, r14
mov qword [rsp + 0x48], rsi
mov r14d, dword [rbp - 0x70]
movzx r14d, r14b
test r15b, r15b
mov eax, 1
cmovne r14d, eax
mov dword [rbp - 0x70], r14d
mov ebx, dword [rbp + 0x640]
mov r15, qword [rbp - 0x40]
mov r14, qword [rsp + 0x58]
xor r12d, r12d
jmp 0x1400c00e8
mov r14, rcx
jmp 0x1400c00e0
mov r14, qword [rsp + 0x58]
xor r12d, r12d
mov rsi, qword [rsp + 0x48]
inc ebx
mov dword [rbp + 0x640], ebx
mov rdx, qword [rbp - 0x20]
add rdx, 4
mov qword [rbp - 0x20], rdx
add r15, 8
mov qword [rbp - 0x40], r15
cmp ebx, dword [r14 + 0x6c]
jl 0x1400bfd72
mov r15, qword [rsp + 0x50]
mov r13, qword [rbp + 0x78]
mov r12, qword [rbp + 0x138]
mov r8, r14
lea rcx, [rbp + 0x18]
call fcn.1400c2c20
mov rbx, qword [rbp + 0x130]
xor r11d, r11d
mov eax, r11d
mov qword [rbp + 0x70], rax
movsxd r8, dword [r15 + 0xc]
test r8, r8
jle 0x1400c0180
mov rdx, qword [r15 + 0x10]
nop dword [rax + rax]
mov rcx, qword [rdx]
cmp byte [rcx + 0x3c], r11b
je 0x1400c0176
mov rcx, qword [rcx + 0x20]
add rdi, rcx
cmp rbx, 1
je 0x1400c016b
add rax, rcx
jmp 0x1400c0172
cmp rcx, rax
cmova rax, rcx
mov qword [rbp + 0x70], rax
add rdx, 8
sub r8, 1
jne 0x1400c0150
cmp rsi, rax
cmova rax, rsi
mov ecx, 0x10000
cmp rax, rcx
cmovb rax, rcx
mov qword [rbp + 0x70], rax
mov rax, qword [r12]
mov rdx, rdi
mov rcx, r12
call qword [rax + 0x18]
mov r14d, eax
lea rbx, vtable.CBaseRecordVector.0
test eax, eax
jne 0x1400c2885
lea ecx, [rax + 0x48]
call fcn.1400f878c
mov rsi, rax
mov qword [rsp + 0x60], rax
xor edi, edi
mov dword [rax + 8], edi
lea rax, vtable.CLocalProgress.0
mov qword [rsi], rax
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x30], rdi
mov qword [rsi + 0x28], rdi
mov word [rsi + 0x40], 0x101
mov qword [rbp + 0x310], rsi
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
nop
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x1400c0213
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x18], rdi
mov rax, qword [r12]
mov rcx, r12
call qword [rax + VariantCopy]
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x1400c022c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x10], r12
mov rax, qword [r12]
lea r8, [rsi + 0x18]
lea rdx, [0x140150918]
mov rcx, r12
call qword [rax]
mov byte [rsi + 0x20], 1
xor r12d, r12d
mov qword [rbp + 0x328], r12
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x330], xmm0
lea rax, vtable.NArchive::N7z::CThreadDecoder.0
mov qword [rbp + 0x320], rax
mov qword [rbp + 0x350], r12
mov qword [rbp + 0x360], r12
mov qword [rbp + 0x380], r12
lea rcx, [rbp + 0x388]
call fcn.1400bbf90
nop
mov byte [rbp + 0x470], r12b
mov eax, 1
mov dword [rbp + 0x474], eax
lea ecx, [rax + 0x4f]
call fcn.1400f878c
mov rbx, rax
mov qword [rbp - 0x10], rax
mov dword [rax + 8], r12d
lea rax, vtable.NArchive::N7z::CFolderOutStream2.0
mov qword [rbx], rax
mov qword [rbx + 0x18], r12
mov qword [rbx + 0x30], r12
lea ecx, [r12 + 0x28]
call fcn.1400f878c
mov rdi, rax
mov qword [rbp - 0x28], rax
mov dword [rax + 8], r12d
lea rax, vtable.COutStreamWithCRC.0
mov qword [rdi], rax
mov qword [rdi + 0x10], r12
mov qword [rbx + 0x10], rdi
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + VariantCopy]
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x1400c0303
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbx + 0x18], rdi
mov qword [rbp + 0x358], rbx
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rcx, qword [rbp + 0x360]
test rcx, rcx
je 0x1400c0329
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x360], rbx
mov dword [rbp + 0x348], 0x80004005
cmp dword [rbp + 0x24], 0
je 0x1400c0454
cmp qword [rbp + 0x328], 0
jne 0x1400c0388
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rbp + 0x328], rax
test rax, rax
jne 0x1400c0388
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 1
mov r14d, ebx
test eax, eax
cmovne r14d, eax
test r14d, r14d
je 0x1400c038d
jmp 0x1400c2821
mov ebx, 1
cmp qword [rbp + 0x330], 0
jne 0x1400c03cb
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventA]
mov qword [rbp + 0x330], rax
test rax, rax
jne 0x1400c03cb
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, ebx
test eax, eax
cmovne r14d, eax
test r14d, r14d
jne 0x1400c2821
mov rcx, qword [rbp + 0x328]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x1400c03e2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbp + 0x330]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x1400c03f9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rbp + 0x340], 0
cmp qword [rbp + 0x338], 0
jne 0x1400c0454
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
lea r9, [rbp + 0x320]
lea r8, [0x1400cb270]
xor edx, edx
xor ecx, ecx
call fcn.14010f89c
mov qword [rbp + 0x338], rax
test rax, rax
jne 0x1400c0454
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, ebx
test eax, eax
cmovne r14d, eax
test r14d, r14d
jne 0x1400c2821
mov qword [rbp + 0x98], r12
mov qword [rbp + 0xa0], r12
mov edi, 8
mov qword [rbp + 0xa8], rdi
lea rax, vtable.CObjectVector_struct_NArchive::N7z::CSolidGroup_.0
mov qword [rbp + 0x90], rax
mov r14d, r12d
lea rsi, vtable.CRecordVector_unsigned_int_.0
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], 4
mov qword [rsp + 0x68], rsi
mov ecx, 0x20
call fcn.1400f878c
mov rbx, rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x28], rax
mov qword [rax + 8], r12
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 4
mov qword [rax], rsi
lea rdx, [rsp + 0x68]
mov rcx, rax
call fcn.1400a99d0
nop
mov edx, dword [rbp + 0x9c]
mov ecx, dword [rbp + 0x98]
cmp edx, ecx
jne 0x1400c059e
cmp ecx, 0x40
jl 0x1400c0500
mov eax, ecx
shr eax, 2
jmp 0x1400c050b
mov eax, 1
cmp ecx, 8
cmovge eax, edi
lea edi, [rcx + rax]
cmp edi, ecx
je 0x1400c059e
cmp edi, 0x80000000
jae 0x1400c297c
mov r9d, edi
mov ecx, edi
imul rcx, qword [rbp + 0xa8]
xor edx, edx
mov rax, rcx
div qword [rbp + 0xa8]
cmp rax, r9
jne 0x1400c2962
mov rsi, r12
test rcx, rcx
je 0x1400c057d
call fcn.1400f8f68
mov rsi, rax
mov edx, edi
cmp dword [rbp + 0x9c], edi
cmovl edx, dword [rbp + 0x9c]
movsxd r8, edx
imul r8, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xa0]
mov rcx, rax
call fcn.1400fabc0
mov rcx, qword [rbp + 0xa0]
call fcn.1400f877c
mov qword [rbp + 0xa0], rsi
mov dword [rbp + 0x98], edi
mov edx, dword [rbp + 0x9c]
jmp 0x1400c05a5
mov rsi, qword [rbp + 0xa0]
movsxd rax, edx
mov qword [rsi + rax*8], rbx
inc dword [rbp + 0x9c]
lea rax, vtable.CBaseRecordVector.0
mov qword [rsp + 0x68], rax
mov rax, qword [method.CRecordVector_long_int_.virtual_8]
mov r8d, dword [rsp + 0x74]
xor edx, edx
lea rcx, [rsp + 0x68]
call rax
mov rcx, qword [rsp + 0x78]
call fcn.1400f877c
nop
inc r14d
cmp r14d, 4
jge 0x1400c05f1
mov edi, 8
jmp 0x1400c047f
movzx r12d, byte [r13 + 0x10]
mov r13, qword [r13]
cmp dword [r13 + 0xc], 1
jne 0x1400c0608
cmp dword [r13 + 0x2c], 0
je 0x1400c060b
xor r12b, r12b
xor esi, esi
mov r14d, esi
cmp dword [r15 + 0xc], esi
jle 0x1400c0768
mov r15d, esi
mov rdi, qword [rsp + 0x50]
mov rax, qword [rdi + 0x10]
mov rcx, qword [r15 + rax]
cmp byte [rcx + 0x3c], 0
je 0x1400c0757
cmp byte [rcx + 0x3f], 0
jne 0x1400c0757
cmp byte [rcx + 0x3e], 0
jne 0x1400c0757
cmp qword [rcx + 0x20], 0
je 0x1400c0757
mov rbx, rsi
test r12b, r12b
je 0x1400c06fa
lea r10, [rcx + 0x28]
movsxd r9, dword [r10 + 8]
test r9d, r9d
je 0x1400c06fa
mov rdx, qword [r10]
lea rcx, [r9 - 1]
lea rcx, [rdx + rcx*2]
cmp word [rcx], 0x2e
je 0x1400c0690
cmp rcx, rdx
je 0x1400c06fa
sub rcx, 2
cmp word [rcx], 0x2e
jne 0x1400c0681
sub rcx, rdx
sar rcx, 1
test ecx, ecx
js 0x1400c06fa
lea r8d, [rcx + 1]
sub r9d, r8d
lea rdx, [rbp + 0x170]
mov rcx, r10
call fcn.1400b2570
or dword [rbp - 0x30], 1
mov edi, esi
lea rbx, [0x14014ab50]
mov rsi, qword [rbp + 0x170]
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.1400a2ad0
test eax, eax
je 0x1400c06e6
inc edi
add rbx, 8
cmp edi, 5
jb 0x1400c06c4
xor r11d, r11d
mov ebx, r11d
jmp 0x1400c06eb
mov ebx, 1
mov rcx, rsi
call fcn.1400f877c
mov rdi, qword [rsp + 0x50]
xor esi, esi
movzx eax, byte [r13 + 0x44]
neg al
sbb rcx, rcx
and ecx, 2
add rcx, rbx
mov rax, qword [rbp + 0xa0]
mov rbx, qword [rax + rcx*8]
mov eax, dword [rbx + 0xc]
mov ecx, dword [rbx + 8]
cmp eax, ecx
jne 0x1400c0749
cmp ecx, 0x40
jl 0x1400c072b
mov eax, ecx
shr eax, 2
jmp 0x1400c073b
mov eax, 1
cmp ecx, 8
mov edx, 8
cmovge eax, edx
lea edx, [rcx + rax]
mov rcx, rbx
call fcn.140098e80
mov eax, dword [rbx + 0xc]
movsxd rcx, eax
mov rax, qword [rbx + 0x10]
mov dword [rax + rcx*4], r14d
inc dword [rbx + 0xc]
inc r14d
add r15, 8
cmp r14d, dword [rdi + 0xc]
jl 0x1400c0622
xor r15d, r15d
mov r13d, r15d
mov qword [rbp - 0x10], r15
cmp byte [rbp - 0x70], r15b
je 0x1400c0882
lea ecx, [r15 + 0x20]
call fcn.1400f878c
mov r13, rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x28], rax
mov dword [rax + 8], r15d
lea rax, vtable.NArchive::N7z::CCryptoGetTextPassword.0
mov qword [r13], rax
lea rbx, [r13 + 0x10]
mov qword [rbx], r15
mov qword [rbx + 8], r15
lea edx, [r15 + 3]
mov rcx, rbx
call fcn.140062170
nop
mov rax, qword [r13]
mov rcx, r13
call qword [rax + VariantCopy]
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x1400c07d3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x380], r13
mov r12, qword [rbp + 0x78]
mov rdi, qword [r12]
cmp byte [rdi + 0x44], 0
je 0x1400c082c
add rdi, 0x48
cmp rdi, rbx
je 0x1400c0886
mov dword [rbx + 8], r15d
mov rax, qword [rbx]
mov word [rax], r15w
mov edx, dword [rdi + 8]
mov rcx, rbx
call fcn.140062170
mov rcx, qword [rdi]
mov rdx, qword [rbx]
movzx eax, word [rcx]
lea rcx, [rcx + 2]
mov word [rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x1400c0811
mov eax, dword [rdi + 8]
mov dword [rbx + 8], eax
jmp 0x1400c0886
mov rcx, qword [rbp + 0x38]
test rcx, rcx
jne 0x1400c0840
mov r14d, 0x80004001
jmp 0x1400c2810
mov qword [rsp + 0x48], r15
mov rax, qword [rcx]
lea rdx, [rsp + 0x48]
call qword [rax + 0x18]
mov r14d, eax
test eax, eax
je 0x1400c0867
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1400c2810
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140061f00
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1400c0886
mov r12, qword [rbp + 0x78]
mov rsi, qword [rbp + 0x68]
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x1400c089d
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x78], r15
lea r15, [rsi + 0x70]
mov rcx, qword [r15]
test rcx, rcx
je 0x1400c08b5
mov rax, qword [rcx]
call qword [rax + 0x10]
xor r11d, r11d
mov qword [r15], r11
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x1400c08c7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x1400c08d6
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x78], rbx
mov rax, qword [rbx]
mov r8, r15
lea rdx, [0x14014c850]
mov rcx, rbx
call qword [rax]
cmp qword [r15], 0
jne 0x1400c08fd
mov r14d, 0x80004001
jmp 0x1400c2810
mov eax, dword [0x140177ed8]
mov dword [rbp + 0x640], eax
movzx eax, word [0x140177edc]
mov word [rbp + 0x644], ax
mov word [rbp + 0x646], 0x300
mov ebx, 8
lea rdi, [rbp + 0x640]
mov rsi, qword [rsi + 0x78]
mov eax, 0xffffffff
nop word [rax + rax]
mov r8d, eax
cmp rbx, rax
cmovb r8d, ebx
mov rax, qword [rsi]
lea r9, [rsp + 0x48]
mov rdx, rdi
mov rcx, rsi
call qword [rax + 0x18]
mov r14d, eax
test eax, eax
jne 0x1400c2810
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x1400c280a
add rdi, rax
sub rbx, rax
mov eax, 0xffffffff
jne 0x1400c0940
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r9, qword [rbp + 0x68]
mov ebx, 1
mov r8d, ebx
xor edx, edx
call qword [rax + 0x20]
mov r14d, eax
test eax, eax
jne 0x1400c2810
mov rcx, qword [r15]
mov rax, qword [rcx]
xor r9d, r9d
mov r8d, ebx
lea edx, [rbx + 0x17]
call qword [rax + 0x20]
mov r14d, eax
test eax, eax
jne 0x1400c2810
xor edx, edx
mov esi, edx
mov dword [rbp + 0x640], edx
mov rax, qword [rsp + 0x60]
mov qword [rax + 0x28], rdx
mov ebx, edx
mov dword [rbp - 0x78], edx
mov edi, edx
mov qword [rbp - 0x20], rdx
lea r9, vtable.CRecordVector_struct_NArchive::N7z::CBind_.0
lea r8, vtable.CObjectVector_struct_NArchive::N7z::CMethodFull_.0
movsxd rcx, ebx
mov rax, qword [rbp + 0xa0]
mov r15, qword [rax + rcx*8]
mov qword [rsp + 0x48], r15
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xe0], rdx
mov eax, 8
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xd0], r8
mov qword [rbp + 0xf8], 0
mov qword [rbp + 0x100], rdx
mov qword [rbp + 0x108], 0x10
mov qword [rbp + 0xf0], r9
mov eax, 1
mov dword [rbp + 0x110], eax
mov byte [rbp + 0x114], 0
mov qword [rbp + 0x118], rdx
mov qword [rbp + 0x120], 0
lea edx, [rax + 2]
lea rcx, [rbp + 0x118]
call fcn.140062170
nop
test bl, 1
je 0x1400c0a9d
lea r8, [rbp + 0xd0]
movzx edx, byte [r12 + 0x11]
mov rcx, qword [r12]
call fcn.1400bed10
xor r12d, r12d
jmp 0x1400c0b5c
mov rsi, qword [r12]
mov rax, qword [rbp + 0xd0]
mov r8d, dword [rbp + 0xdc]
xor edx, edx
lea rcx, [rbp + 0xd0]
call qword [rax + VariantCopy]
movsxd rbx, dword [rsi + 0xc]
mov edx, dword [rbp + 0xdc]
add edx, ebx
lea rcx, [rbp + 0xd0]
call fcn.140098e80
xor r12d, r12d
mov edi, r12d
mov r14, rbx
test ebx, ebx
jle 0x1400c0b1c
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + rdi*8]
mov ecx, 0x30
call fcn.1400f878c
mov qword [rbp + 0x308], rax
mov rdx, rbx
mov rcx, rax
call fcn.1400adf60
nop
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.140062220
inc rdi
cmp rdi, r14
jl 0x1400c0ae0
lea rdx, [rsi + 0x20]
lea rcx, [rbp + 0xf0]
call fcn.1400adb10
mov eax, dword [rsi + 0x40]
mov dword [rbp + 0x110], eax
movzx eax, byte [rsi + 0x44]
mov byte [rbp + 0x114], al
lea rdx, [rsi + 0x48]
lea rcx, [rbp + 0x118]
call fcn.140061ea0
mov rdi, qword [rbp - 0x20]
mov esi, dword [rbp + 0x640]
mov ebx, dword [rbp - 0x78]
mov eax, ebx
shr eax, 1
test al, 1
je 0x1400c0bd9
cmp byte [rbp + 0x114], 0
jne 0x1400c0bf2
test r13, r13
je 0x1400c0bd0
lea rbx, [r13 + 0x10]
lea rax, [rbp + 0x118]
cmp rbx, rax
je 0x1400c0bcd
mov dword [rbp + 0x120], r12d
mov rax, qword [rbp + 0x118]
mov word [rax], r12w
mov edx, dword [rbx + 8]
lea rcx, [rbp + 0x118]
call fcn.140062170
mov rcx, qword [rbx]
mov rdx, qword [rbp + 0x118]
movzx eax, word [rcx]
lea rcx, [rcx + 2]
mov word [rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x1400c0bb1
mov eax, dword [rbx + 8]
mov dword [rbp + 0x120], eax
mov ebx, dword [rbp - 0x78]
mov byte [rbp + 0x114], 1
jmp 0x1400c0bf2
mov byte [rbp + 0x114], 0
mov dword [rbp + 0x120], r12d
mov rax, qword [rbp + 0x118]
mov word [rax], r12w
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x480]
call fcn.1400cebd0
nop
cmp esi, dword [rbp + 0x24]
jge 0x1400c1576
nop
lea rcx, [rdi + rdi*2]
mov rax, qword [rbp + 0x28]
lea r13, [rax + rcx*4]
mov qword [rbp - 0x18], r13
cmp dword [r13 + 4], ebx
jne 0x1400c1571
movsxd r15, dword [r13]
lea r12, [r15*4]
mov qword [rbp + 0x38], r12
mov r14, qword [rsp + 0x58]
mov rax, qword [r14 + 0x90]
mov ecx, dword [r12 + rax]
cmp dword [r13 + 8], ecx
jne 0x1400c0e71
mov rsi, qword [r14 + 0x258]
mov rax, qword [r14 + 0x70]
mov rcx, qword [rax + r15*8]
xor r10d, r10d
mov ebx, r10d
movsxd r11, dword [rcx + 0x4c]
mov r9d, r10d
movsxd rdi, dword [rsi + r12]
test r11d, r11d
jle 0x1400c0cec
cmp r11d, 4
jb 0x1400c0cec
mov r8, qword [r14 + 0x10]
xorps xmm2, xmm2
xorps xmm1, xmm1
mov edx, r10d
mov ecx, r11d
and ecx, 0x80000003
jge 0x1400c0c9e
dec ecx
or ecx, 0xfffffffc
inc ecx
mov eax, r11d
sub eax, ecx
movsxd rcx, eax
lea rax, [rdi*8]
nop
movdqu xmm0, xmmword [rax + r8]
paddq xmm2, xmm0
movdqu xmm0, xmmword [r8 + rax + 0x10]
paddq xmm1, xmm0
add r9d, 4
add rdx, 4
lea rax, [rax + 0x20]
cmp rdx, rcx
jl 0x1400c0cb0
paddq xmm1, xmm2
movdqa xmm0, xmm1
psrldq xmm0, 8
paddq xmm1, xmm0
movq rbx, xmm1
mov rdx, r10
mov r8, r10
movsxd r10, r9d
cmp r10, r11
jge 0x1400c0d57
mov r9, qword [r14 + 0x10]
mov rax, r11
sub rax, r10
cmp rax, 2
jl 0x1400c0d48
lea rcx, [r10 + rdi]
shl rcx, 3
mov rax, r11
sub rax, r10
sub rax, 2
shr rax, 1
inc rax
lea r10, [r10 + rax*2]
nop word [rax + rax]
add rdx, qword [rcx + r9]
add r8, qword [rcx + r9 + 8]
lea rcx, [rcx + 0x10]
sub rax, 1
jne 0x1400c0d30
cmp r10, r11
jge 0x1400c0d50
lea rax, [r10 + rdi]
add rbx, qword [r9 + rax*8]
lea rax, [rdx + r8]
add rbx, rax
movsxd rcx, dword [r12 + rsi]
mov rax, qword [r14 + 0x238]
mov r8, qword [rax + rcx*8]
add r8, qword [r14 + 0x1f8]
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x20], rsi
mov r9, rbx
mov rax, qword [rbp + 0x68]
mov rdx, qword [rax + 0x78]
mov rcx, qword [rbp + 0x180]
call fcn.1400be500
mov r14d, eax
test eax, eax
jne 0x1400c21fb
add qword [rsi + 0x28], rbx
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx + 0x70]
mov r14, qword [rax + r15*8]
mov rax, qword [rcx + 0x258]
xor esi, esi
mov edi, esi
mov r15, qword [rbp - 0x38]
cmp dword [r14 + 0x4c], esi
jle 0x1400c0e43
movsxd rax, dword [r12 + rax]
lea rbx, [rax*8]
mov edx, dword [r15 + 0xc]
mov r12, rcx
lea r13d, [rsi + 1]
nop word [rax + rax]
mov rax, qword [r12 + 0x10]
mov rsi, qword [rbx + rax]
mov ecx, dword [r15 + 8]
cmp edx, ecx
jne 0x1400c0e1a
cmp ecx, 0x40
jl 0x1400c0dfd
mov eax, ecx
shr eax, 2
jmp 0x1400c0e0b
mov eax, r13d
cmp ecx, 8
mov edx, 8
cmovge eax, edx
lea edx, [rcx + rax]
mov rcx, r15
call fcn.140098e80
mov edx, dword [r15 + 0xc]
movsxd rcx, edx
mov rax, qword [r15 + 0x10]
mov qword [rax + rcx*8], rsi
inc dword [r15 + 0xc]
mov edx, dword [r15 + 0xc]
inc edi
add rbx, 8
cmp edi, dword [r14 + 0x4c]
jl 0x1400c0de0
mov r12, qword [rbp + 0x38]
mov r13, qword [rbp - 0x18]
xor esi, esi
mov ecx, 0x88
call fcn.1400f878c
mov qword [rbp + 0x2f0], rax
mov rdx, r14
mov rcx, rax
call fcn.1400a9720
nop
mov rdx, rax
lea rcx, [r15 + 0x60]
call fcn.140062220
jmp 0x1400c13ac
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x140], xmm0
xor esi, esi
mov qword [rbp + 0x150], rsi
lea rcx, [rbp + 0x140]
call fcn.1400ccd00
mov r14d, eax
test eax, eax
jne 0x1400c20f5
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x28], rsi
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x140]
call fcn.1400ccdc0
mov r9d, esi
mov qword [rbp - 0x60], rsi
mov r8d, esi
mov qword [rbp - 0x58], rsi
mov r11d, 1
mov qword [rbp - 0x50], r11
lea rax, vtable.CRecordVector_bool_.0
mov qword [rbp - 0x68], rax
mov r10, qword [rsp + 0x58]
mov rax, qword [r10 + 0x90]
mov r14d, dword [r12 + rax]
mov rax, qword [r10 + 0x278]
mov edi, dword [rax + r12]
test r14d, r14d
je 0x1400c0fbb
mov r12, qword [rsp + 0x50]
lea r13d, [rsi + 8]
nop dword [rax + rax]
xor bl, bl
movsxd rdx, edi
mov rax, qword [r10 + 0xb0]
mov rcx, qword [rax + rdx*8]
cmp byte [rcx + 0x20], bl
je 0x1400c0f4a
inc esi
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + rdx*4]
test ecx, ecx
js 0x1400c0f4a
mov rax, qword [r12 + 0x10]
mov rdx, qword [rax + rcx*8]
movzx ebx, bl
cmp byte [rdx + 0x3c], 0
cmove ebx, r11d
cmp r8d, r9d
jne 0x1400c0f83
cmp r9d, 0x40
jl 0x1400c0f5d
mov eax, r9d
shr eax, 2
jmp 0x1400c0f67
mov eax, r11d
cmp r9d, r13d
cmovge eax, r13d
lea edx, [rax + r9]
lea rcx, [rbp - 0x68]
call fcn.140098e80
mov r8d, dword [rbp - 0x5c]
mov r10, qword [rsp + 0x58]
mov r11d, 1
movsxd rcx, r8d
mov rax, qword [rbp - 0x58]
mov byte [rcx + rax], bl
mov r8d, dword [rbp - 0x5c]
inc r8d
mov dword [rbp - 0x5c], r8d
inc edi
cmp esi, r14d
jae 0x1400c0fa8
mov r9d, dword [rbp - 0x60]
jmp 0x1400c0f10
mov rax, qword [r10 + 0x278]
lea r12, [r15*4]
mov r13, qword [rbp - 0x18]
mov eax, dword [r12 + rax]
mov rdi, qword [rbp + 0x358]
mov qword [rdi + 0x20], r10
mov dword [rdi + 0x38], eax
lea rax, [rbp - 0x68]
mov qword [rdi + 0x28], rax
mov rbx, qword [rbp - 0x70]
test rbx, rbx
je 0x1400c0fe7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x1400c0ff6
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rdi + 0x30], rbx
xor esi, esi
mov dword [rdi + 0x3c], esi
mov byte [rdi + 0x40], sil
mov rcx, rdi
call fcn.1400bf820
mov r14d, eax
mov rdi, qword [rbp - 0x28]
test eax, eax
jne 0x1400c20a4
test rbx, rbx
je 0x1400c1034
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
xor r14d, r14d
mov ebx, r14d
mov qword [rbp - 0x70], rbx
jmp 0x1400c1037
xor r14d, r14d
mov rsi, qword [rbp + 0x180]
test rsi, rsi
je 0x1400c104c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rcx, qword [rbp + 0x350]
test rcx, rcx
je 0x1400c105e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x350], rsi
mov r9, qword [rsp + 0x58]
mov rax, qword [r9 + 0x70]
mov rcx, qword [rax + r15*8]
mov qword [rbp + 0x378], rcx
mov r8, qword [r9 + 0x258]
movsxd rcx, dword [r8 + r12]
mov rax, qword [r9 + 0x238]
mov rdx, qword [rax + rcx*8]
add rdx, qword [r9 + 0x1f8]
mov qword [rbp + 0x368], rdx
movsxd rcx, dword [r8 + r12]
mov rax, qword [r9 + 0x10]
lea rcx, [rax + rcx*8]
mov qword [rbp + 0x370], rcx
mov byte [rbp + 0x340], 0
mov rcx, qword [rbp + 0x328]
call qword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x1400c10ce
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15, qword [rbp - 0x38]
movsxd rsi, dword [r15 + 0xc]
mov qword [rbp + 0x1a8], 0
mov qword [rbp + 0x1b0], r14
mov eax, 8
mov qword [rbp + 0x1b8], rax
lea rcx, vtable.CObjectVector_struct_NArchive::N7z::CCoderInfo_.0
mov qword [rbp + 0x1a0], rcx
mov qword [rbp + 0x1c8], 0
mov qword [rbp + 0x1d0], r14
mov qword [rbp + 0x1d8], rax
lea rcx, vtable.CRecordVector_struct_NArchive::N7z::CBindPair_.0
mov qword [rbp + 0x1c0], rcx
mov qword [rbp + 0x1e8], 0
mov qword [rbp + 0x1f0], r14
mov qword [rbp + 0x1f8], 4
lea rcx, vtable.CRecordVector_unsigned_int_.0
mov qword [rbp + 0x1e0], rcx
mov qword [rbp + 0x208], 0
mov qword [rbp + 0x210], r14
mov qword [rbp + 0x218], rax
lea rax, vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
mov qword [rbp + 0x200], rax
mov byte [rbp + 0x224], 0
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x78]
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x1a0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x70]
xor r8d, r8d
mov rdx, rdi
lea rcx, [rbp + 0x480]
call fcn.1400cdc90
mov r14d, eax
test eax, eax
jne 0x1400c2096
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x330]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r14d, dword [rbp + 0x348]
test r14d, r14d
jne 0x1400c2096
mov r10, qword [rsp + 0x60]
cmp esi, dword [r15 + 0xc]
jge 0x1400c1228
mov rcx, qword [r10 + 0x38]
lea rdx, [rsi*8]
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r15 + 0x10]
add rcx, qword [rdx + rax]
mov qword [r10 + 0x38], rcx
inc esi
lea rdx, [rdx + 8]
cmp esi, dword [r15 + 0xc]
jl 0x1400c1210
mov edx, dword [rbp + 0x20c]
test edx, edx
jne 0x1400c123a
xor r11d, r11d
mov ecx, r11d
jmp 0x1400c1285
dec edx
mov r9, qword [rbp + 0x1d0]
mov r8d, dword [rbp + 0x1cc]
xor r11d, r11d
nop dword [rax]
test edx, edx
js 0x1400c299a
mov ecx, r11d
test r8d, r8d
jle 0x1400c1277
lea rax, [r9 + 4]
cmp dword [rax], edx
je 0x1400c1355
inc ecx
add rax, 8
cmp ecx, r8d
jl 0x1400c1264
movsxd rcx, edx
mov rax, qword [rbp + 0x210]
mov rcx, qword [rax + rcx*8]
add qword [r10 + 0x30], rcx
mov ecx, 0x88
call fcn.1400f878c
mov qword [rbp + 0x2f8], rax
lea rdx, [rbp + 0x1a0]
mov rcx, rax
call fcn.1400a9720
nop
mov rdx, rax
lea rcx, [r15 + 0x60]
call fcn.140062220
nop
lea rcx, [rbp + 0x200]
call fcn.14005d840
lea rcx, [rbp + 0x1e0]
call fcn.14005d840
lea rcx, [rbp + 0x1c0]
call fcn.14005d840
lea rcx, [rbp + 0x1a0]
call fcn.14009d7d0
nop
lea rax, vtable.CBaseRecordVector.0
mov qword [rbp - 0x68], rax
mov rax, qword [method.CRecordVector_long_int_.virtual_8]
mov r8d, dword [rbp - 0x5c]
xor edx, edx
lea rcx, [rbp - 0x68]
call rax
mov rcx, qword [rbp - 0x58]
call fcn.1400f877c
xor esi, esi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rsi
test rdi, rdi
je 0x1400c1328
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1400c1337
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x150]
test rcx, rcx
je 0x1400c1364
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400c1364
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c136b
test ecx, ecx
js 0x1400c1277
dec edx
jmp 0x1400c1250
mov qword [rbp + 0x150], rsi
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x1400c1389
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400c1389
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c1390
mov qword [rbp + 0x148], rsi
mov rcx, qword [rbp + 0x140]
test rcx, rcx
je 0x1400c13ac
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400c13ac
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rbx, [r15 + 0x80]
mov edi, dword [r13 + 8]
mov eax, dword [rbx + 0xc]
mov ecx, dword [rbx + 8]
cmp eax, ecx
jne 0x1400c13eb
cmp ecx, 0x40
jl 0x1400c13cd
mov eax, ecx
shr eax, 2
jmp 0x1400c13dd
mov eax, 1
cmp ecx, 8
mov edx, 8
cmovge eax, edx
lea edx, [rax + rcx]
mov rcx, rbx
call fcn.140098e80
mov eax, dword [rbx + 0xc]
movsxd rcx, eax
mov rax, qword [rbx + 0x10]
mov dword [rax + rcx*4], edi
inc dword [rbx + 0xc]
mov rbx, qword [rsp + 0x58]
mov rax, qword [rbx + 0x90]
mov r15d, dword [r12 + rax]
mov r14d, esi
mov rax, qword [rbx + 0x278]
mov edi, dword [r12 + rax]
test r15d, r15d
je 0x1400c154c
mov r13, qword [rbp - 0x38]
xor r12d, r12d
nop word [rax + rax]
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], r12
mov edx, 3
lea rcx, [rbp - 0x58]
call fcn.140062170
mov dword [rbp - 0x48], 1
lea r9, [rbp + 0x140]
lea r8, [rbp - 0x68]
mov edx, edi
mov rcx, rbx
call fcn.1400c7220
movzx esi, byte [rbp - 0x48]
test sil, sil
je 0x1400c1533
inc r14d
movsxd rcx, edi
mov rax, qword [rbp + 0xc0]
movsxd rdx, dword [rax + rcx*4]
test edx, edx
js 0x1400c1533
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + rdx*8]
cmp byte [rbx + 0x3c], 0
jne 0x1400c1533
cmp byte [rbx + 0x3d], 0
je 0x1400c151f
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], r12
mov edx, 3
lea rcx, [rbp + 0x50]
call fcn.140062170
mov dword [rbp + 0x60], 1
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.1400bf500
mov rax, qword [rbp - 0x68]
mov qword [rbp + 0x40], rax
mov eax, dword [rbp - 0x5c]
mov dword [rbp + 0x4c], eax
movzx ebx, byte [rbp - 0x46]
mov byte [rbp + 0x62], bl
mov byte [rbp + 0x60], sil
mov eax, dword [rbp + 0x48]
mov dword [rbp - 0x60], eax
lea rdx, [rbp + 0x50]
lea rcx, [rbp - 0x58]
call fcn.140061ea0
mov byte [rbp - 0x48], sil
movzx eax, byte [rbp + 0x61]
mov byte [rbp - 0x47], al
mov byte [rbp - 0x46], bl
movzx eax, byte [rbp + 0x63]
mov byte [rbp - 0x45], al
mov rcx, qword [rbp + 0x50]
call fcn.1400f877c
lea r8, [rbp + 0x140]
lea rdx, [rbp - 0x68]
mov rcx, r13
call fcn.1400c7350
nop
mov rcx, qword [rbp - 0x58]
call fcn.1400f877c
inc edi
cmp r14d, r15d
mov rbx, qword [rsp + 0x58]
jb 0x1400c1430
mov esi, dword [rbp + 0x640]
inc esi
mov dword [rbp + 0x640], esi
mov rdi, qword [rbp - 0x20]
inc rdi
mov qword [rbp - 0x20], rdi
cmp esi, dword [rbp + 0x24]
mov ebx, dword [rbp - 0x78]
jl 0x1400c0c10
mov r15, qword [rsp + 0x48]
movsxd r12, dword [r15 + 0xc]
mov dword [rbp - 0x70], r12d
test r12d, r12d
jne 0x1400c15bc
lea rcx, [rbp + 0x480]
call fcn.1400cfa60
nop
mov rcx, qword [rbp + 0x118]
call fcn.1400f877c
lea rcx, [rbp + 0xf0]
call fcn.14005d840
lea rcx, [rbp + 0xd0]
call fcn.1400add10
xor r15d, r15d
jmp 0x1400c206c
xor ebx, ebx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x80], 0x18
lea rax, vtable.CRecordVector_struct_NArchive::N7z::CRefItem_.0
mov qword [rsp + 0x68], rax
mov edx, r12d
lea rcx, [rsp + 0x68]
call fcn.140098e80
cmp qword [rbp + 0x130], 1
seta r9b
mov byte [rsp + 0x40], r9b
mov r14, r12
mov qword [rbp + 0x38], r12
test r12d, r12d
jle 0x1400c16a2
mov r12, qword [rsp + 0x50]
nop
mov rax, qword [r15 + 0x10]
movsxd rdx, dword [rax + rbx*4]
mov rax, qword [r12 + 0x10]
mov r8, qword [rax + rdx*8]
lea rcx, [rbp - 0x68]
call fcn.1400be910
movups xmm6, xmmword [rax]
movsd xmm7, qword [rax + 0x10]
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x70]
cmp eax, ecx
jne 0x1400c166b
cmp ecx, 0x40
jl 0x1400c164a
mov eax, ecx
shr eax, 2
jmp 0x1400c165a
mov eax, 1
cmp ecx, 8
mov edx, 8
cmovge eax, edx
lea edx, [rcx + rax]
lea rcx, [rsp + 0x68]
call fcn.140098e80
mov eax, dword [rsp + 0x74]
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x78]
movups xmmword [rax + rcx*8], xmm6
movsd qword [rax + rcx*8 + 0x10], xmm7
mov esi, dword [rsp + 0x74]
inc esi
mov dword [rsp + 0x74], esi
inc rbx
cmp rbx, r14
jge 0x1400c169d
movzx r9d, byte [rsp + 0x40]
jmp 0x1400c1610
mov r12d, r14d
jmp 0x1400c16a6
mov esi, dword [rsp + 0x74]
cmp esi, 1
jle 0x1400c1891
mov rdi, qword [rsp + 0x78]
add rdi, 0xffffffffffffffe8
mov eax, esi
cdq
sub eax, edx
sar eax, 1
movsxd r12, eax
lea rcx, [r12 + r12*2]
lea r13, [rdi + rcx*8]
nop word [rax + rax]
mov r15d, r12d
movups xmm0, xmmword [r13]
movups xmmword [rbp + 0x2c0], xmm0
movsd xmm1, qword [r13 + 0x10]
movsd qword [rbp + 0x2d0], xmm1
lea ebx, [r12 + r12]
cmp ebx, esi
jg 0x1400c176c
jge 0x1400c1716
movsxd rax, ebx
lea rcx, [rax + rax*2]
lea rdx, [rdi + rcx*8]
lea rcx, [rdx + 0x18]
lea r8, [rsp + 0x40]
call fcn.1400bebc0
test eax, eax
jle 0x1400c1716
inc ebx
movsxd rax, ebx
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
lea r8, [rsp + 0x40]
mov rdx, r14
lea rcx, [rbp + 0x2c0]
call fcn.1400bebc0
test eax, eax
jns 0x1400c175d
movsxd rax, r15d
lea rcx, [rax + rax*2]
movups xmm0, xmmword [r14]
movups xmmword [rdi + rcx*8], xmm0
movsd xmm1, qword [r14 + 0x10]
movsd qword [rdi + rcx*8 + 0x10], xmm1
mov r15d, ebx
add ebx, ebx
cmp ebx, esi
jle 0x1400c16f5
movsd xmm1, qword [rbp + 0x2d0]
movups xmm0, xmmword [rbp + 0x2c0]
movsxd rax, r15d
lea rcx, [rax + rax*2]
movups xmmword [rdi + rcx*8], xmm0
movsd qword [rdi + rcx*8 + 0x10], xmm1
sub r13, 0x18
sub r12d, 1
jne 0x1400c16d0
movsxd r13, esi
lea rax, [r13*2]
add rax, r13
lea r12, [rdi + rax*8]
nop dword [rax]
movups xmm3, xmmword [r12]
movsd xmm2, qword [r12 + 0x10]
movups xmm0, xmmword [rdi + 0x18]
movups xmmword [r12], xmm0
movsd xmm1, qword [rdi + 0x28]
movsd qword [r12 + 0x10], xmm1
dec esi
dec r13
lea r12, [r12 - 0x18]
movups xmmword [rdi + 0x18], xmm3
movsd qword [rdi + 0x28], xmm2
mov r15d, 1
movups xmmword [rbp + 0x2d8], xmm3
movaps xmm1, xmm2
movsd qword [rbp + 0x2e8], xmm2
mov ebx, 2
cmp esi, ebx
jl 0x1400c186e
cmp ebx, esi
jge 0x1400c1818
movsxd rax, ebx
lea rcx, [rax + rax*2]
lea rdx, [rdi + rcx*8]
lea rcx, [rdx + 0x18]
lea r8, [rsp + 0x40]
call fcn.1400bebc0
test eax, eax
jle 0x1400c1818
inc ebx
movsxd rax, ebx
lea rcx, [rax + rax*2]
lea r14, [rdi + rcx*8]
lea r8, [rsp + 0x40]
mov rdx, r14
lea rcx, [rbp + 0x2d8]
call fcn.1400bebc0
test eax, eax
jns 0x1400c185f
movsxd rax, r15d
lea rcx, [rax + rax*2]
movups xmm0, xmmword [r14]
movups xmmword [rdi + rcx*8], xmm0
movsd xmm1, qword [r14 + 0x10]
movsd qword [rdi + rcx*8 + 0x10], xmm1
mov r15d, ebx
add ebx, ebx
cmp ebx, esi
jle 0x1400c17f7
movsd xmm1, qword [rbp + 0x2e8]
movups xmm3, xmmword [rbp + 0x2d8]
movsxd rax, r15d
lea rcx, [rax + rax*2]
movups xmmword [rdi + rcx*8], xmm3
movsd qword [rdi + rcx*8 + 0x10], xmm1
cmp r13, 1
jg 0x1400c17a0
mov r12d, dword [rbp - 0x70]
mov r14, qword [rbp + 0x38]
xor r15d, r15d
mov qword [rbp], r15
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], 4
lea rax, vtable.CRecordVector_unsigned_int_.0
mov qword [rbp - 8], rax
mov edx, r12d
lea rcx, [rbp - 8]
call fcn.140098e80
mov r8d, dword [rbp + 4]
test r14, r14
jle 0x1400c193c
mov ebx, r15d
mov rsi, r14
lea r15d, [rbx + 1]
lea r12d, [rbx + 8]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsp + 0x78]
mov edi, dword [rbx + rax + 8]
mov ecx, dword [rbp]
cmp r8d, ecx
jne 0x1400c1917
cmp ecx, 0x40
jl 0x1400c18fd
mov eax, ecx
shr eax, 2
jmp 0x1400c1907
mov eax, r15d
cmp ecx, r12d
cmovge eax, r12d
lea edx, [rcx + rax]
lea rcx, [rbp - 8]
call fcn.140098e80
mov r8d, dword [rbp + 4]
movsxd rcx, r8d
mov rax, qword [rbp + 8]
mov dword [rax + rcx*4], edi
mov r8d, dword [rbp + 4]
inc r8d
mov dword [rbp + 4], r8d
add rbx, 0x18
sub rsi, r15
jne 0x1400c18e0
mov r12d, dword [rbp - 0x70]
xor r15d, r15d
mov r13d, r15d
mov dword [rsp + 0x48], r15d
mov rbx, r15
mov qword [rbp - 0x18], rbx
test r14, r14
jle 0x1400c1fda
mov r14, r15
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], 0
mov edx, 3
lea rcx, [rbp + 0x80]
call fcn.140062170
nop
mov edi, r15d
mov dword [rbp - 0x40], r15d
mov qword [rbp - 0x28], r15
cmp r13d, r12d
jge 0x1400c1ae7
lea rsi, [rbx*4]
mov r12, qword [rbp + 0x80]
nop
movsxd rax, edi
cmp rax, qword [rbp + 0x130]
jae 0x1400c1ae2
mov rax, qword [rbp + 8]
movsxd rcx, dword [rsi + rax]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov r11, qword [rax + rcx*8]
add r14, qword [r11 + 0x20]
mov rax, qword [rbp + 0x78]
cmp r14, qword [rax + 0x20]
ja 0x1400c1ae2
cmp byte [rax + 0x28], 0
je 0x1400c1abc
lea rcx, [r11 + 0x28]
call fcn.1400be640
movsxd r9, dword [r11 + 0x30]
test r9d, r9d
je 0x1400c1a2c
mov rdx, qword [r11 + 0x28]
lea rcx, [r9 - 1]
lea rcx, [rdx + rcx*2]
cmp word [rcx], 0x2e
je 0x1400c1a14
cmp rcx, rdx
je 0x1400c1a2c
sub rcx, 2
cmp word [rcx], 0x2e
jne 0x1400c1a05
sub rcx, rdx
sar rcx, 1
test ecx, ecx
js 0x1400c1a2c
cmp ecx, eax
jge 0x1400c1a26
test eax, eax
jns 0x1400c1a2c
lea r8d, [rcx + 1]
jmp 0x1400c1a30
mov r8d, dword [r11 + 0x30]
sub r9d, r8d
lea rdx, [rbp + 0x170]
lea rcx, [r11 + 0x28]
call fcn.1400b2570
or dword [rbp - 0x30], 6
test edi, edi
jne 0x1400c1a9e
xor eax, eax
mov dword [rbp + 0x88], eax
mov word [r12], ax
mov edi, dword [rbp + 0x178]
mov edx, edi
lea rcx, [rbp + 0x80]
call fcn.140062170
mov rbx, qword [rbp + 0x170]
mov rcx, rbx
mov r12, qword [rbp + 0x80]
mov rdx, r12
movzx eax, word [rcx]
lea rcx, [rcx + 2]
mov word [rdx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x1400c1a80
mov dword [rbp + 0x88], edi
mov edi, dword [rbp - 0x40]
jmp 0x1400c1ab4
mov rdx, r12
mov rbx, qword [rbp + 0x170]
mov rcx, rbx
call fcn.1400a2ad0
test eax, eax
jne 0x1400c1ada
mov rcx, rbx
call fcn.1400f877c
inc edi
mov dword [rbp - 0x40], edi
inc r15
mov qword [rbp - 0x28], r15
add rsi, 4
lea eax, [rdi + r13]
cmp eax, dword [rbp - 0x70]
jge 0x1400c1ae2
jmp 0x1400c19a0
mov rcx, rbx
call fcn.1400f877c
cmp edi, 1
jge 0x1400c1af7
mov eax, 1
mov esi, eax
mov dword [rbp - 0x40], eax
mov qword [rbp - 0x28], rax
jmp 0x1400c1afa
mov esi, dword [rbp - 0x40]
mov ecx, 0xb8
call fcn.1400f878c
mov r15, rax
mov qword [rbp + 0x300], rax
xor r14d, r14d
mov dword [rax + 0x10], r14d
lea rax, vtable.NArchive::N7z::CFolderInStream.0
mov qword [r15], rax
lea rax, vtable.NArchive::N7z::CFolderInStream.1.0
mov qword [r15 + 8], rax
mov qword [r15 + 0x20], r14
mov qword [r15 + 0x28], r14
mov qword [r15 + 0x60], r14
mov qword [r15 + 0x68], r14
mov eax, 1
mov qword [r15 + 0x70], rax
lea rax, vtable.CRecordVector_bool_.0
mov qword [r15 + 0x58], rax
mov qword [r15 + 0x80], r14
mov qword [r15 + 0x88], r14
mov qword [r15 + 0x90], 4
lea rax, vtable.CRecordVector_unsigned_int_.0
mov qword [r15 + 0x78], rax
lea rdi, [r15 + 0x98]
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r14
mov eax, 8
mov qword [rdi + 0x18], rax
lea rax, vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
mov qword [rdi], rax
lea ecx, [r14 + 0x28]
call fcn.1400f878c
mov rbx, rax
mov qword [rbp + 0x198], rax
mov dword [rax + 8], r14d
lea rax, vtable.CSequentialInStreamWithCRC.0
mov qword [rbx], rax
mov qword [rbx + 0x10], r14
mov qword [r15 + 0x18], rbx
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + VariantCopy]
mov rcx, qword [r15 + 0x20]
test rcx, rcx
je 0x1400c1bd5
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r15 + 0x20], rbx
mov qword [rbp + 0x198], r15
mov rax, qword [r15]
mov rcx, r15
call qword [rax + VariantCopy]
nop
movsxd rcx, dword [rsp + 0x48]
mov rax, qword [rbp + 8]
lea rbx, [rax + rcx*4]
mov r14, qword [rbp + 0x138]
mov rax, qword [r14]
mov rcx, r14
call qword [rax + VariantCopy]
mov rcx, qword [r15 + 0x28]
test rcx, rcx
je 0x1400c1c16
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [r15 + 0x28], r14
mov dword [r15 + 0x50], esi
xor esi, esi
mov dword [r15 + 0x54], esi
mov qword [r15 + 0x48], rbx
mov rax, qword [r15 + 0x58]
mov r8d, dword [r15 + 0x64]
xor edx, edx
lea rcx, [r15 + 0x58]
call qword [rax + VariantCopy]
mov rax, qword [r15 + 0x78]
mov r8d, dword [r15 + 0x84]
xor edx, edx
lea rcx, [r15 + 0x78]
call qword [rax + VariantCopy]
mov rax, qword [rdi]
mov r8d, dword [rdi + 0xc]
xor edx, edx
mov rcx, rdi
call qword [rax + VariantCopy]
mov word [r15 + 0x30], si
mov qword [rbp + 0x238], rsi
mov qword [rbp + 0x240], rsi
mov eax, 8
mov qword [rbp + 0x248], rax
lea rcx, vtable.CObjectVector_struct_NArchive::N7z::CCoderInfo_.0
mov qword [rbp + 0x230], rcx
mov qword [rbp + 0x258], rsi
mov qword [rbp + 0x260], rsi
mov qword [rbp + 0x268], rax
lea rcx, vtable.CRecordVector_struct_NArchive::N7z::CBindPair_.0
mov qword [rbp + 0x250], rcx
mov qword [rbp + 0x278], rsi
mov qword [rbp + 0x280], rsi
mov qword [rbp + 0x288], 4
lea rcx, vtable.CRecordVector_unsigned_int_.0
mov qword [rbp + 0x270], rcx
mov qword [rbp + 0x298], rsi
mov qword [rbp + 0x2a0], rsi
mov qword [rbp + 0x2a8], rax
lea rax, vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
mov qword [rbp + 0x290], rax
mov byte [rbp + 0x2b4], sil
mov rdi, qword [rbp - 0x38]
movsxd rbx, dword [rdi + 0xc]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 0x78]
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x230]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x70]
xor r8d, r8d
mov rdx, r15
lea rcx, [rbp + 0x480]
call fcn.1400cdc90
mov r14d, eax
test eax, eax
jne 0x1400c2178
cmp ebx, dword [rdi + 0xc]
jge 0x1400c1d77
mov rcx, qword [rsi + 0x38]
lea rdx, [rbx*8]
nop
mov rax, qword [rdi + 0x10]
add rcx, qword [rdx + rax]
mov qword [rsi + 0x38], rcx
inc ebx
lea rdx, [rdx + 8]
cmp ebx, dword [rdi + 0xc]
jl 0x1400c1d60
mov edx, dword [rbp + 0x29c]
test edx, edx
jne 0x1400c1d89
xor r11d, r11d
mov ecx, r11d
jmp 0x1400c1dd5
dec edx
mov r9, qword [rbp + 0x260]
mov r8d, dword [rbp + 0x25c]
xor r11d, r11d
nop dword [rax]
test edx, edx
js 0x1400c2913
mov ecx, r11d
test r8d, r8d
jle 0x1400c1dc7
lea rax, [r9 + 4]
cmp dword [rax], edx
je 0x1400c1e76
inc ecx
add rax, 8
cmp ecx, r8d
jl 0x1400c1db4
movsxd rcx, edx
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rax + rcx*8]
add qword [rsi + 0x30], rcx
mov ecx, 0x88
call fcn.1400f878c
mov qword [rbp + 0x188], rax
lea rdx, [rbp + 0x230]
mov rcx, rax
call fcn.1400a9720
nop
mov rdx, rax
lea rcx, [rdi + 0x60]
call fcn.140062220
xor r8d, r8d
mov esi, r8d
mov edi, r8d
mov r14, qword [rbp - 0x28]
test r14, r14
jle 0x1400c1f19
nop dword [rax]
mov rax, qword [rbp + 8]
lea rcx, [rax + rdi*4]
mov rax, qword [rbp - 0x18]
movsxd rdx, dword [rcx + rax*4]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + rdx*8]
mov qword [rbp - 0x58], r8
mov qword [rbp - 0x50], 0
mov edx, 3
lea rcx, [rbp - 0x58]
call fcn.140062170
mov dword [rbp - 0x48], 1
cmp byte [rbx + 0x3d], 0
je 0x1400c1e85
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.1400bf500
jmp 0x1400c1e99
test ecx, ecx
js 0x1400c1dc7
dec edx
jmp 0x1400c1da0
lea r9, [rbp + 0x40]
lea r8, [rbp - 0x68]
mov edx, dword [rbx]
mov rcx, qword [rsp + 0x58]
call fcn.1400c7220
cmp byte [rbp + 0x64], 0
jne 0x1400c2168
cmp byte [rbp - 0x47], 0
jne 0x1400c2168
mov rax, qword [r15 + 0x68]
cmp byte [rdi + rax], 0
je 0x1400c1efe
mov rax, qword [r15 + 0x88]
mov ecx, dword [rax + rdi*4]
mov dword [rbp - 0x5c], ecx
mov rax, qword [r15 + 0xa8]
mov rcx, qword [rax + rdi*8]
mov qword [rbp - 0x68], rcx
test rcx, rcx
je 0x1400c1ee4
mov byte [rbp - 0x46], 1
mov byte [rbp - 0x48], 1
inc esi
jmp 0x1400c1eec
mov byte [rbp - 0x46], 0
mov byte [rbp - 0x48], 0
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x68]
mov rcx, qword [rbp - 0x38]
call fcn.1400c7350
nop
mov rcx, qword [rbp - 0x58]
call fcn.1400f877c
inc rdi
cmp rdi, r14
mov r8d, 0
jl 0x1400c1e20
mov rbx, qword [rbp - 0x38]
sub rbx, 0xffffffffffffff80
mov eax, dword [rbx + 0xc]
mov ecx, dword [rbx + 8]
cmp eax, ecx
jne 0x1400c1f55
cmp ecx, 0x40
jl 0x1400c1f37
mov eax, ecx
shr eax, 2
jmp 0x1400c1f47
mov eax, 1
cmp ecx, 8
mov edx, 8
cmovge eax, edx
lea edx, [rax + rcx]
mov rcx, rbx
call fcn.140098e80
mov eax, dword [rbx + 0xc]
movsxd rcx, eax
mov rax, qword [rbx + 0x10]
mov dword [rax + rcx*4], esi
inc dword [rbx + 0xc]
mov r13d, dword [rsp + 0x48]
add r13d, dword [rbp - 0x40]
mov dword [rsp + 0x48], r13d
mov rbx, qword [rbp - 0x18]
add rbx, r14
mov qword [rbp - 0x18], rbx
lea rcx, [rbp + 0x290]
call fcn.14005d840
lea rcx, [rbp + 0x270]
call fcn.14005d840
lea rcx, [rbp + 0x250]
call fcn.14005d840
lea rcx, [rbp + 0x230]
call fcn.14009d7d0
nop
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x80]
call fcn.1400f877c
cmp rbx, qword [rbp + 0x38]
mov r12d, dword [rbp - 0x70]
mov r15d, 0
jl 0x1400c1954
mov r8d, dword [rbp + 4]
lea rbx, vtable.CBaseRecordVector.0
mov qword [rbp - 8], rbx
mov rax, qword [method.CRecordVector_long_int_.virtual_8]
xor edx, edx
lea rcx, [rbp - 8]
call rax
mov rcx, qword [rbp + 8]
call fcn.1400f877c
mov qword [rbp], 0
mov qword [rbp + 8], r15
mov qword [rsp + 0x68], rbx
mov rax, qword [method.CRecordVector_long_int_.virtual_8]
mov r8d, dword [rsp + 0x74]
xor edx, edx
lea rcx, [rsp + 0x68]
call rax
mov rcx, qword [rsp + 0x78]
call fcn.1400f877c
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r15
lea rcx, [rbp + 0x480]
call fcn.1400cfa60
nop
mov rcx, qword [rbp + 0x118]
call fcn.1400f877c
lea rcx, [rbp + 0xf0]
call fcn.14005d840
lea rcx, [rbp + 0xd0]
call fcn.1400add10
mov ebx, dword [rbp - 0x78]
inc ebx
mov dword [rbp - 0x78], ebx
cmp ebx, 4
jge 0x1400c2219
mov rdi, qword [rbp - 0x20]
mov esi, dword [rbp + 0x640]
mov r12, qword [rbp + 0x78]
mov r13, qword [rbp - 0x10]
xor edx, edx
jmp 0x1400c09dc
lea rcx, [rbp + 0x1a0]
call fcn.14009de30
xor esi, esi
lea rax, vtable.CBaseRecordVector.0
mov qword [rbp - 0x68], rax
mov rax, qword [method.CRecordVector_long_int_.virtual_8]
mov r8d, dword [rbp - 0x5c]
xor edx, edx
lea rcx, [rbp - 0x68]
call rax
mov rcx, qword [rbp - 0x58]
call fcn.1400f877c
mov qword [rbp - 0x60], 0
mov qword [rbp - 0x58], rsi
test rdi, rdi
je 0x1400c20e6
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1400c20f5
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x150]
test rcx, rcx
je 0x1400c2113
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400c2113
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c211a
mov qword [rbp + 0x150], rsi
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x1400c2138
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400c2138
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c213f
mov qword [rbp + 0x148], rsi
mov rcx, qword [rbp + 0x140]
test rcx, rcx
je 0x1400c21fb
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400c21fb
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400c21fb
mov r14d, 0x80004005
mov rcx, qword [rbp - 0x58]
call fcn.1400f877c
nop
lea rcx, [rbp + 0x230]
call fcn.14009de30
nop
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x80]
call fcn.1400f877c
nop
lea rdi, vtable.CBaseRecordVector.0
mov qword [rbp - 8], rdi
mov rax, qword [method.CRecordVector_long_int_.virtual_8]
mov r8d, dword [rbp + 4]
xor edx, edx
lea rcx, [rbp - 8]
call rax
mov rcx, qword [rbp + 8]
call fcn.1400f877c
xor ebx, ebx
mov qword [rbp], rbx
mov qword [rbp + 8], rbx
mov qword [rsp + 0x68], rdi
mov rax, qword [method.CRecordVector_long_int_.virtual_8]
mov r8d, dword [rsp + 0x74]
xor edx, edx
lea rcx, [rsp + 0x68]
call rax
mov rcx, qword [rsp + 0x78]
call fcn.1400f877c
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
lea rcx, [rbp + 0x480]
call fcn.1400cfa60
nop
lea rcx, [rbp + 0xd0]
call fcn.1400ad0b0
jmp 0x1400c2810
mov eax, dword [rbp + 0x640]
cmp eax, dword [rbp + 0x24]
jne 0x1400c280a
mov edx, r15d
mov dword [rsp + 0x70], edx
mov edi, r15d
mov dword [rsp + 0x74], r15d
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 4
lea rax, vtable.CRecordVector_int_.0
mov qword [rsp + 0x68], rax
mov ebx, r15d
mov r10, qword [rsp + 0x50]
cmp dword [r10 + 0xc], 0
jle 0x1400c2313
mov rsi, r15
mov r15d, 1
nop dword [rax]
mov rax, qword [r10 + 0x10]
mov rcx, qword [rsi + rax]
cmp byte [rcx + 0x3c], 0
je 0x1400c2293
cmp byte [rcx + 0x3f], 0
jne 0x1400c22b4
cmp byte [rcx + 0x3e], 0
jne 0x1400c22b4
cmp qword [rcx + 0x20], 0
je 0x1400c22b4
jmp 0x1400c2300
movsxd rax, dword [rcx]
cmp eax, 0xffffffff
je 0x1400c22b4
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0xb0]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 0x20], 0
jne 0x1400c2300
cmp edi, edx
jne 0x1400c22e7
cmp edx, 0x40
jl 0x1400c22c4
mov eax, edx
shr eax, 2
jmp 0x1400c22d2
mov eax, r15d
cmp edx, 8
mov ecx, 8
cmovge eax, ecx
add edx, eax
lea rcx, [rsp + 0x68]
call fcn.140098e80
mov edi, dword [rsp + 0x74]
mov r10, qword [rsp + 0x50]
movsxd rcx, edi
mov rax, qword [rsp + 0x78]
mov dword [rax + rcx*4], ebx
mov edi, dword [rsp + 0x74]
inc edi
mov dword [rsp + 0x74], edi
mov edx, dword [rsp + 0x70]
inc ebx
add rsi, 8
cmp ebx, dword [r10 + 0xc]
jl 0x1400c2270
xor r15d, r15d
cmp edi, 1
jle 0x1400c2638
mov rsi, qword [rsp + 0x78]
add rsi, 0xfffffffffffffffc
mov eax, edi
cdq
sub eax, edx
sar eax, 1
movsxd r13, eax
mov dword [rsp + 0x48], r13d
lea rax, [rsi + r13*4]
mov qword [rbp - 0x10], rax
nop dword [rax]
mov r15d, r13d
movsxd r12, dword [rax]
lea ebx, [r13*2]
cmp ebx, edi
jg 0x1400c248f
mov r13d, 1
jge 0x1400c23ee
movsxd rax, ebx
lea rdx, [rsi + rax*4]
mov rcx, qword [r10 + 0x10]
movsxd rax, dword [rdx + 4]
mov r8, qword [rcx + rax*8]
movsxd rax, dword [rdx]
mov rdx, qword [rcx + rax*8]
movzx r9d, byte [r8 + 0x3f]
cmp r9b, byte [rdx + 0x3f]
je 0x1400c2395
mov eax, 0xffffffff
test r9b, r9b
cmovne eax, r13d
jmp 0x1400c23e8
movzx eax, byte [rdx + 0x3e]
movzx ecx, byte [r8 + 0x3e]
test r9b, r9b
je 0x1400c23c5
cmp cl, al
je 0x1400c23b4
mov eax, 0xffffffff
test cl, cl
cmovne eax, r13d
jmp 0x1400c23e8
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.1400a2ad0
neg eax
jmp 0x1400c23e3
cmp cl, al
je 0x1400c23d6
mov eax, 0xffffffff
test cl, cl
cmovne eax, r13d
jmp 0x1400c23e8
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.1400a2ad0
mov r10, qword [rsp + 0x50]
test eax, eax
jle 0x1400c23ee
inc ebx
movsxd rax, ebx
lea r14, [rsi + rax*4]
mov rcx, qword [r10 + 0x10]
mov r8, qword [rcx + r12*8]
movsxd rax, dword [r14]
mov rdx, qword [rcx + rax*8]
movzx r9d, byte [r8 + 0x3f]
cmp r9b, byte [rdx + 0x3f]
je 0x1400c241d
mov eax, 0xffffffff
test r9b, r9b
cmovne eax, r13d
jmp 0x1400c2470
movzx eax, byte [rdx + 0x3e]
movzx ecx, byte [r8 + 0x3e]
test r9b, r9b
je 0x1400c244d
cmp cl, al
je 0x1400c243c
mov eax, 0xffffffff
test cl, cl
cmovne eax, r13d
jmp 0x1400c2470
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.1400a2ad0
neg eax
jmp 0x1400c246b
cmp cl, al
je 0x1400c245e
mov eax, 0xffffffff
test cl, cl
cmovne eax, r13d
jmp 0x1400c2470
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.1400a2ad0
mov r10, qword [rsp + 0x50]
test eax, eax
jns 0x1400c248a
movsxd rcx, r15d
mov eax, dword [r14]
mov dword [rsi + rcx*4], eax
mov r15d, ebx
add ebx, ebx
cmp ebx, edi
jle 0x1400c235c
mov r13d, dword [rsp + 0x48]
movsxd rax, r15d
mov dword [rsi + rax*4], r12d
dec r13d
mov dword [rsp + 0x48], r13d
mov rax, qword [rbp - 0x10]
sub rax, 4
mov qword [rbp - 0x10], rax
test r13d, r13d
jne 0x1400c2340
movsxd r13, edi
mov r11d, 1
nop dword [rax]
movsxd r12, dword [rsi + r13*4]
mov eax, dword [rsi + 4]
mov dword [rsi + r13*4], eax
dec edi
dec r13
mov dword [rsi + 4], r12d
mov r15d, r11d
mov ebx, 2
cmp edi, ebx
jl 0x1400c2620
cmp ebx, edi
jge 0x1400c257e
movsxd rax, ebx
lea rdx, [rsi + rax*4]
mov rcx, qword [r10 + 0x10]
movsxd rax, dword [rdx + 4]
mov r8, qword [rcx + rax*8]
movsxd rax, dword [rdx]
mov rdx, qword [rcx + rax*8]
movzx r9d, byte [r8 + 0x3f]
cmp r9b, byte [rdx + 0x3f]
je 0x1400c251f
mov eax, 0xffffffff
test r9b, r9b
cmovne eax, r11d
jmp 0x1400c2578
movzx eax, byte [rdx + 0x3e]
movzx ecx, byte [r8 + 0x3e]
test r9b, r9b
je 0x1400c254f
cmp cl, al
je 0x1400c253e
mov eax, 0xffffffff
test cl, cl
cmovne eax, r11d
jmp 0x1400c2578
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.1400a2ad0
neg eax
jmp 0x1400c256d
cmp cl, al
je 0x1400c2560
mov eax, 0xffffffff
test cl, cl
cmovne eax, r11d
jmp 0x1400c2578
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.1400a2ad0
mov r11d, 1
mov r10, qword [rsp + 0x50]
test eax, eax
jle 0x1400c257e
inc ebx
movsxd rax, ebx
lea r14, [rsi + rax*4]
mov rcx, qword [r10 + 0x10]
mov r8, qword [rcx + r12*8]
movsxd rax, dword [r14]
mov rdx, qword [rcx + rax*8]
movzx r9d, byte [r8 + 0x3f]
cmp r9b, byte [rdx + 0x3f]
je 0x1400c25ad
mov eax, 0xffffffff
test r9b, r9b
cmovne eax, r11d
jmp 0x1400c2606
movzx eax, byte [rdx + 0x3e]
movzx ecx, byte [r8 + 0x3e]
test r9b, r9b
je 0x1400c25dd
cmp cl, al
je 0x1400c25cc
mov eax, 0xffffffff
test cl, cl
cmovne eax, r11d
jmp 0x1400c2606
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.1400a2ad0
neg eax
jmp 0x1400c25fb
cmp cl, al
je 0x1400c25ee
mov eax, 0xffffffff
test cl, cl
cmovne eax, r11d
jmp 0x1400c2606
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.1400a2ad0
mov r11d, 1
mov r10, qword [rsp + 0x50]
test eax, eax
jns 0x1400c2620
movsxd rcx, r15d
mov eax, dword [r14]
mov dword [rsi + rcx*4], eax
mov r15d, ebx
add ebx, ebx
cmp ebx, edi
jle 0x1400c24e6
movsxd rax, r15d
mov dword [rsi + rax*4], r12d
cmp r13, 1
jg 0x1400c24c0
mov edi, dword [rsp + 0x74]
xor r15d, r15d
mov r14d, r15d
test edi, edi
jle 0x1400c26eb
mov rsi, r15
nop word [rax + rax]
mov rax, qword [rsp + 0x78]
movsxd rcx, dword [rsi + rax]
mov rax, qword [r10 + 0x10]
mov rbx, qword [rax + rcx*8]
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x58], 0
mov edx, 3
lea rcx, [rbp + 0x50]
call fcn.140062170
mov dword [rbp + 0x60], 1
cmp byte [rbx + 0x3d], 0
je 0x1400c269d
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.1400bf500
jmp 0x1400c26b4
lea r9, [rbp + 0x140]
lea r8, [rbp + 0x40]
mov edx, dword [rbx]
mov rcx, qword [rsp + 0x58]
call fcn.1400c7220
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp - 0x38]
call fcn.1400c7350
nop
mov rcx, qword [rbp + 0x50]
call fcn.1400f877c
inc r14d
add rsi, 4
mov edi, dword [rsp + 0x74]
cmp r14d, edi
mov r10, qword [rsp + 0x50]
jl 0x1400c2650
lea rax, vtable.CBaseRecordVector.0
mov qword [rsp + 0x68], rax
mov rax, qword [method.CRecordVector_long_int_.virtual_8]
mov r8d, edi
xor edx, edx
lea rcx, [rsp + 0x68]
call rax
mov rcx, qword [rsp + 0x78]
call fcn.1400f877c
nop
mov rdi, qword [rbp - 0x38]
mov edx, dword [rdi + 0xc]
mov rcx, rdi
call fcn.140098e80
lea rcx, [rdi + 0x20]
mov edx, dword [rcx + 0xc]
call fcn.140098e80
lea rcx, [rdi + 0x40]
mov edx, dword [rcx + 0xc]
call fcn.140098e80
lea rcx, [rdi + 0x60]
mov edx, dword [rcx + 0xc]
call fcn.140098e80
lea rcx, [rdi + 0x80]
mov edx, dword [rcx + 0xc]
call fcn.140098e80
lea rcx, [rdi + 0xa0]
mov edx, dword [rcx + 0xc]
call fcn.140098e80
mov edx, dword [rdi + 0xcc]
lea rcx, [rdi + 0xc0]
call fcn.140098e80
mov edx, dword [rdi + 0xcc]
lea rcx, [rdi + 0xc0]
call fcn.140098e80
mov edx, dword [rdi + 0x10c]
lea rcx, [rdi + 0x100]
call fcn.140098e80
mov edx, dword [rdi + 0x10c]
lea rcx, [rdi + 0x100]
call fcn.140098e80
mov edx, dword [rdi + 0x14c]
lea rcx, [rdi + 0x140]
call fcn.140098e80
mov edx, dword [rdi + 0x14c]
lea rcx, [rdi + 0x140]
call fcn.140098e80
mov edx, dword [rdi + 0x18c]
lea rcx, [rdi + 0x180]
call fcn.140098e80
mov edx, dword [rdi + 0x18c]
lea rcx, [rdi + 0x180]
call fcn.140098e80
lea rcx, [rdi + 0x1c0]
mov edx, dword [rcx + 0xc]
call fcn.140098e80
mov r14d, r15d
jmp 0x1400c2810
mov r14d, 0x80004005
lea rcx, [rbp + 0x90]
call fcn.1400c2bc0
mov rsi, qword [rsp + 0x60]
lea rcx, [rbp + 0x388]
call fcn.1400a73a0
nop
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x1400c2841
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x360]
test rcx, rcx
je 0x1400c2854
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x350]
test rcx, rcx
je 0x1400c2867
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rcx, [rbp + 0x320]
call fcn.1400cb3e0
nop
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x10]
nop
lea rbx, vtable.CBaseRecordVector.0
mov qword [rbp + 0x18], rbx
mov rax, qword [method.CRecordVector_long_int_.virtual_8]
mov r8d, dword [rbp + 0x24]
xor edx, edx
lea rcx, [rbp + 0x18]
call rax
mov rcx, qword [rbp + 0x28]
call fcn.1400f877c
xor eax, eax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0xb0], rbx
mov r9, qword [method.CRecordVector_long_int_.virtual_8]
mov r8d, dword [rbp + 0xbc]
xor edx, edx
lea rcx, [rbp + 0xb0]
call r9
mov rcx, qword [rbp + 0xc0]
call fcn.1400f877c
nop
mov eax, r14d
mov rcx, qword [rbp + 0x648]
xor rcx, rsp
call fcn.1400f8730
movaps xmm6, xmmword [rsp + 0x760]
movaps xmm7, xmmword [rsp + 0x750]
add rsp, 0x778
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov eax, 1
mov dword [rsp + 0x48], eax
lea rdx, [0x140170b70]
lea rcx, [rsp + 0x48]
call fcn.1400faae4
nop
mov dword [rsp + 0x48], 0x100ec2
lea rdx, [0x140170b70]
lea rcx, [rsp + 0x48]
call fcn.1400faae4
int3
mov dword [rsp + 0x48], 0x100ec1
lea rdx, [0x140170b70]
lea rcx, [rsp + 0x48]
call fcn.1400faae4
nop
mov dword [rsp + 0x48], 0x100ec2
lea rdx, [0x140170b70]
lea rcx, [rsp + 0x48]
call fcn.1400faae4
int3
mov dword [rbp + 0x640], 0x100ec1
lea rdx, [0x140170b70]
lea rcx, [rbp + 0x640]
call fcn.1400faae4
nop
mov eax, 1
mov dword [rsp + 0x48], eax
lea rdx, [0x140170b70]
lea rcx, [rsp + 0x48]
call fcn.1400faae4
int3