Function at 0x1400bd050
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 [0x1401740a0]
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 0x1400bd123
mov r9, qword [r14 + 0x1e8]
test r9, r9
je 0x1400bd123
cmp byte [r13 + 0x29], sil
jne 0x1400bd123
mov qword [rsp + 0x20], rsi
xor r8d, r8d
call fcn.1400bba10
test eax, eax
jne 0x1400bfdf0
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 0x1400bd641
mov edx, dword [r14 + 0xac]
lea rcx, [rbp + 0xb0]
call fcn.140096390
xor r9d, r9d
mov ebx, r9d
cmp dword [r14 + 0xac], r9d
jle 0x1400bd220
mov eax, dword [rbp + 0xbc]
lea edi, [r9 + 1]
lea r12d, [r9 + 8]
mov ecx, dword [rbp + 0xb8]
cmp eax, ecx
jne 0x1400bd1e7
cmp ecx, 0x40
jl 0x1400bd1c9
mov eax, ecx
shr eax, 2
jmp 0x1400bd1d2
mov eax, edi
cmp ecx, r12d
cmovge eax, r12d
lea edx, [rax + rcx]
lea rcx, [rbp + 0xb0]
call fcn.140096390
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 0x1400bd1b3
mov rdi, qword [rsp + 0x60]
mov r12, qword [rbp + 0x138]
xor r9d, r9d
mov edx, r9d
cmp dword [r15 + 0xc], 0
jle 0x1400bd259
mov r8, r9
nop dword [rax]
mov rax, qword [r15 + 0x10]
mov rcx, qword [r8 + rax]
movsxd rax, dword [rcx]
cmp eax, 0xffffffff
je 0x1400bd24d
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 0x1400bd230
mov ebx, r9d
mov dword [rbp + 0x640], ebx
cmp dword [r14 + 0x6c], 0
jle 0x1400bd62e
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 0x1400bd5e6
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 0x1400bd2f4
inc r9d
mov rax, qword [rbp + 0xc0]
movsxd r8, dword [rax + rcx*4]
test r8d, r8d
js 0x1400bd2f4
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax + r8*8]
cmp byte [rcx + 0x3c], 0
jne 0x1400bd2f4
inc esi
add r14, qword [r10]
inc edx
cmp r9d, r12d
jb 0x1400bd2c0
mov rdi, qword [rsp + 0x60]
test esi, esi
je 0x1400bd5eb
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 0x1400bd348
movsxd rcx, eax
mov rax, qword [r10 + 0x10]
lea rdx, [rax + rcx*8]
mov rax, qword [rdx]
cmp qword [rax], 0x6f10701
je 0x1400bd386
sub rdx, 8
sub rcx, 1
jns 0x1400bd332
xor r15b, r15b
test r8d, r8d
jle 0x1400bd38f
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 0x1400bd38b
cmp r8, 0x303011b
je 0x1400bd38b
inc rdx
add rcx, 8
cmp rdx, r9
jl 0x1400bd360
jmp 0x1400bd392
mov r15b, 1
jmp 0x1400bd350
mov dl, 1
jmp 0x1400bd394
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 0x1400bd445
cmp eax, 0x40
jl 0x1400bd3c2
mov ecx, eax
shr ecx, 2
jmp 0x1400bd3d2
mov ecx, 1
cmp eax, 8
mov edx, 8
cmovge ecx, edx
lea ebx, [rcx + rax]
cmp ebx, eax
je 0x1400bd445
cmp ebx, 0x80000000
jae 0x1400bfe58
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 0x1400bfe3e
mov rdi, r10
test rcx, rcx
je 0x1400bd42f
call fcn.1400f6418
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.1400f8070
mov rcx, qword [rbp + 0x28]
call fcn.1400f5c2c
mov qword [rbp + 0x28], rdi
mov dword [rbp + 0x20], ebx
mov r13d, dword [rbp + 0x24]
jmp 0x1400bd449
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 0x1400bd59c
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 0x1400bd51c
cmp ebx, 4
jb 0x1400bd51c
mov r8, qword [r14 + 0x10]
xorps xmm2, xmm2
xorps xmm1, xmm1
mov ecx, r12d
mov edx, ebx
and edx, 0x80000003
jge 0x1400bd4c9
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 0x1400bd4e0
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 0x1400bd587
mov r9, qword [r14 + 0x10]
mov rax, rbx
sub rax, r10
cmp rax, 2
jl 0x1400bd578
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 0x1400bd560
cmp r10, rbx
jge 0x1400bd580
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 0x1400bd5f3
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 0x1400bd5f8
mov r14, rcx
jmp 0x1400bd5f0
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 0x1400bd282
mov r15, qword [rsp + 0x50]
mov r13, qword [rbp + 0x78]
mov r12, qword [rbp + 0x138]
mov r8, r14
lea rcx, [rbp + 0x18]
call fcn.1400c0130
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 0x1400bd690
mov rdx, qword [r15 + 0x10]
nop dword [rax + rax]
mov rcx, qword [rdx]
cmp byte [rcx + 0x3c], r11b
je 0x1400bd686
mov rcx, qword [rcx + 0x20]
add rdi, rcx
cmp rbx, 1
je 0x1400bd67b
add rax, rcx
jmp 0x1400bd682
cmp rcx, rax
cmova rax, rcx
mov qword [rbp + 0x70], rax
add rdx, 8
sub r8, 1
jne 0x1400bd660
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 0x1400bfd95
lea ecx, [rax + 0x48]
call fcn.1400f5c3c
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 0x1400bd723
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 0x1400bd73c
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x10], r12
mov rax, qword [r12]
lea r8, [rsi + 0x18]
lea rdx, [0x14014d898]
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.1400b94a0
nop
mov byte [rbp + 0x470], r12b
mov eax, 1
mov dword [rbp + 0x474], eax
lea ecx, [rax + 0x4f]
call fcn.1400f5c3c
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.1400f5c3c
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 0x1400bd813
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 0x1400bd839
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbp + 0x360], rbx
mov dword [rbp + 0x348], 0x80004005
cmp dword [rbp + 0x24], 0
je 0x1400bd964
cmp qword [rbp + 0x328], 0
jne 0x1400bd898
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 0x1400bd898
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 1
mov r14d, ebx
test eax, eax
cmovne r14d, eax
test r14d, r14d
je 0x1400bd89d
jmp 0x1400bfd31
mov ebx, 1
cmp qword [rbp + 0x330], 0
jne 0x1400bd8db
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 0x1400bd8db
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, ebx
test eax, eax
cmovne r14d, eax
test r14d, r14d
jne 0x1400bfd31
mov rcx, qword [rbp + 0x328]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x1400bd8f2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbp + 0x330]
call qword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x1400bd909
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rbp + 0x340], 0
cmp qword [rbp + 0x338], 0
jne 0x1400bd964
lea rax, [rsp + 0x48]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
lea r9, [rbp + 0x320]
lea r8, [0x1400c8780]
xor edx, edx
xor ecx, ecx
call fcn.14010cd4c
mov qword [rbp + 0x338], rax
test rax, rax
jne 0x1400bd964
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, ebx
test eax, eax
cmovne r14d, eax
test r14d, r14d
jne 0x1400bfd31
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.1400f5c3c
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.1400a6ee0
nop
mov edx, dword [rbp + 0x9c]
mov ecx, dword [rbp + 0x98]
cmp edx, ecx
jne 0x1400bdaae
cmp ecx, 0x40
jl 0x1400bda10
mov eax, ecx
shr eax, 2
jmp 0x1400bda1b
mov eax, 1
cmp ecx, 8
cmovge eax, edi
lea edi, [rcx + rax]
cmp edi, ecx
je 0x1400bdaae
cmp edi, 0x80000000
jae 0x1400bfe8c
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 0x1400bfe72
mov rsi, r12
test rcx, rcx
je 0x1400bda8d
call fcn.1400f6418
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.1400f8070
mov rcx, qword [rbp + 0xa0]
call fcn.1400f5c2c
mov qword [rbp + 0xa0], rsi
mov dword [rbp + 0x98], edi
mov edx, dword [rbp + 0x9c]
jmp 0x1400bdab5
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.1400f5c2c
nop
inc r14d
cmp r14d, 4
jge 0x1400bdb01
mov edi, 8
jmp 0x1400bd98f
movzx r12d, byte [r13 + 0x10]
mov r13, qword [r13]
cmp dword [r13 + 0xc], 1
jne 0x1400bdb18
cmp dword [r13 + 0x2c], 0
je 0x1400bdb1b
xor r12b, r12b
xor esi, esi
mov r14d, esi
cmp dword [r15 + 0xc], esi
jle 0x1400bdc78
mov r15d, esi
mov rdi, qword [rsp + 0x50]
mov rax, qword [rdi + 0x10]
mov rcx, qword [r15 + rax]
cmp byte [rcx + 0x3c], 0
je 0x1400bdc67
cmp byte [rcx + 0x3f], 0
jne 0x1400bdc67
cmp byte [rcx + 0x3e], 0
jne 0x1400bdc67
cmp qword [rcx + 0x20], 0
je 0x1400bdc67
mov rbx, rsi
test r12b, r12b
je 0x1400bdc0a
lea r10, [rcx + 0x28]
movsxd r9, dword [r10 + 8]
test r9d, r9d
je 0x1400bdc0a
mov rdx, qword [r10]
lea rcx, [r9 - 1]
lea rcx, [rdx + rcx*2]
cmp word [rcx], 0x2e
je 0x1400bdba0
cmp rcx, rdx
je 0x1400bdc0a
sub rcx, 2
cmp word [rcx], 0x2e
jne 0x1400bdb91
sub rcx, rdx
sar rcx, 1
test ecx, ecx
js 0x1400bdc0a
lea r8d, [rcx + 1]
sub r9d, r8d
lea rdx, [rbp + 0x170]
mov rcx, r10
call fcn.1400afa80
or dword [rbp - 0x30], 1
mov edi, esi
lea rbx, [0x140147b70]
mov rsi, qword [rbp + 0x170]
mov rdx, qword [rbx]
mov rcx, rsi
call fcn.14009ffe0
test eax, eax
je 0x1400bdbf6
inc edi
add rbx, 8
cmp edi, 5
jb 0x1400bdbd4
xor r11d, r11d
mov ebx, r11d
jmp 0x1400bdbfb
mov ebx, 1
mov rcx, rsi
call fcn.1400f5c2c
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 0x1400bdc59
cmp ecx, 0x40
jl 0x1400bdc3b
mov eax, ecx
shr eax, 2
jmp 0x1400bdc4b
mov eax, 1
cmp ecx, 8
mov edx, 8
cmovge eax, edx
lea edx, [rcx + rax]
mov rcx, rbx
call fcn.140096390
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 0x1400bdb32
xor r15d, r15d
mov r13d, r15d
mov qword [rbp - 0x10], r15
cmp byte [rbp - 0x70], r15b
je 0x1400bdd92
lea ecx, [r15 + 0x20]
call fcn.1400f5c3c
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.14005f550
nop
mov rax, qword [r13]
mov rcx, r13
call qword [rax + VariantCopy]
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x1400bdce3
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 0x1400bdd3c
add rdi, 0x48
cmp rdi, rbx
je 0x1400bdd96
mov dword [rbx + 8], r15d
mov rax, qword [rbx]
mov word [rax], r15w
mov edx, dword [rdi + 8]
mov rcx, rbx
call fcn.14005f550
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 0x1400bdd21
mov eax, dword [rdi + 8]
mov dword [rbx + 8], eax
jmp 0x1400bdd96
mov rcx, qword [rbp + 0x38]
test rcx, rcx
jne 0x1400bdd50
mov r14d, 0x80004001
jmp 0x1400bfd20
mov qword [rsp + 0x48], r15
mov rax, qword [rcx]
lea rdx, [rsp + 0x48]
call qword [rax + 0x18]
mov r14d, eax
test eax, eax
je 0x1400bdd77
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1400bfd20
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140095a00
nop
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1400bdd96
mov r12, qword [rbp + 0x78]
mov rsi, qword [rbp + 0x68]
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x1400bddad
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 0x1400bddc5
mov rax, qword [rcx]
call qword [rax + 0x10]
xor r11d, r11d
mov qword [r15], r11
mov rbx, qword [rbp - 0x18]
test rbx, rbx
je 0x1400bddd7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x1400bdde6
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rsi + 0x78], rbx
mov rax, qword [rbx]
mov r8, r15
lea rdx, [0x1401497f0]
mov rcx, rbx
call qword [rax]
cmp qword [r15], 0
jne 0x1400bde0d
mov r14d, 0x80004001
jmp 0x1400bfd20
mov eax, dword [0x140174ed8]
mov dword [rbp + 0x640], eax
movzx eax, word [0x140174edc]
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 0x1400bfd20
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x1400bfd1a
add rdi, rax
sub rbx, rax
mov eax, 0xffffffff
jne 0x1400bde50
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 0x1400bfd20
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 0x1400bfd20
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.14005f550
nop
test bl, 1
je 0x1400bdfad
lea r8, [rbp + 0xd0]
movzx edx, byte [r12 + 0x11]
mov rcx, qword [r12]
call fcn.1400bc220
xor r12d, r12d
jmp 0x1400be06c
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.140096390
xor r12d, r12d
mov edi, r12d
mov r14, rbx
test ebx, ebx
jle 0x1400be02c
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + rdi*8]
mov ecx, 0x30
call fcn.1400f5c3c
mov qword [rbp + 0x308], rax
mov rdx, rbx
mov rcx, rax
call fcn.1400ab470
nop
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.14005f600
inc rdi
cmp rdi, r14
jl 0x1400bdff0
lea rdx, [rsi + 0x20]
lea rcx, [rbp + 0xf0]
call fcn.1400ab020
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.14005f300
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 0x1400be0e9
cmp byte [rbp + 0x114], 0
jne 0x1400be102
test r13, r13
je 0x1400be0e0
lea rbx, [r13 + 0x10]
lea rax, [rbp + 0x118]
cmp rbx, rax
je 0x1400be0dd
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.14005f550
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 0x1400be0c1
mov eax, dword [rbx + 8]
mov dword [rbp + 0x120], eax
mov ebx, dword [rbp - 0x78]
mov byte [rbp + 0x114], 1
jmp 0x1400be102
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.1400cc0e0
nop
cmp esi, dword [rbp + 0x24]
jge 0x1400bea86
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 0x1400bea81
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 0x1400be381
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 0x1400be1fc
cmp r11d, 4
jb 0x1400be1fc
mov r8, qword [r14 + 0x10]
xorps xmm2, xmm2
xorps xmm1, xmm1
mov edx, r10d
mov ecx, r11d
and ecx, 0x80000003
jge 0x1400be1ae
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 0x1400be1c0
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 0x1400be267
mov r9, qword [r14 + 0x10]
mov rax, r11
sub rax, r10
cmp rax, 2
jl 0x1400be258
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 0x1400be240
cmp r10, r11
jge 0x1400be260
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.1400bba10
mov r14d, eax
test eax, eax
jne 0x1400bf70b
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 0x1400be353
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 0x1400be32a
cmp ecx, 0x40
jl 0x1400be30d
mov eax, ecx
shr eax, 2
jmp 0x1400be31b
mov eax, r13d
cmp ecx, 8
mov edx, 8
cmovge eax, edx
lea edx, [rcx + rax]
mov rcx, r15
call fcn.140096390
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 0x1400be2f0
mov r12, qword [rbp + 0x38]
mov r13, qword [rbp - 0x18]
xor esi, esi
mov ecx, 0x88
call fcn.1400f5c3c
mov qword [rbp + 0x2f0], rax
mov rdx, r14
mov rcx, rax
call fcn.1400a6c30
nop
mov rdx, rax
lea rcx, [r15 + 0x60]
call fcn.14005f600
jmp 0x1400be8bc
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x140], xmm0
xor esi, esi
mov qword [rbp + 0x150], rsi
lea rcx, [rbp + 0x140]
call fcn.1400ca210
mov r14d, eax
test eax, eax
jne 0x1400bf605
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x28], rsi
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0x140]
call fcn.1400ca2d0
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 0x1400be4cb
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 0x1400be45a
inc esi
mov rax, qword [rbp + 0xc0]
movsxd rcx, dword [rax + rdx*4]
test ecx, ecx
js 0x1400be45a
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 0x1400be493
cmp r9d, 0x40
jl 0x1400be46d
mov eax, r9d
shr eax, 2
jmp 0x1400be477
mov eax, r11d
cmp r9d, r13d
cmovge eax, r13d
lea edx, [rax + r9]
lea rcx, [rbp - 0x68]
call fcn.140096390
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 0x1400be4b8
mov r9d, dword [rbp - 0x60]
jmp 0x1400be420
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 0x1400be4f7
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x1400be506
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.1400bcd30
mov r14d, eax
mov rdi, qword [rbp - 0x28]
test eax, eax
jne 0x1400bf5b4
test rbx, rbx
je 0x1400be544
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
xor r14d, r14d
mov ebx, r14d
mov qword [rbp - 0x70], rbx
jmp 0x1400be547
xor r14d, r14d
mov rsi, qword [rbp + 0x180]
test rsi, rsi
je 0x1400be55c
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + VariantCopy]
mov rcx, qword [rbp + 0x350]
test rcx, rcx
je 0x1400be56e
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 0x1400be5de
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.1400cb1a0
mov r14d, eax
test eax, eax
jne 0x1400bf5a6
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x330]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov r14d, dword [rbp + 0x348]
test r14d, r14d
jne 0x1400bf5a6
mov r10, qword [rsp + 0x60]
cmp esi, dword [r15 + 0xc]
jge 0x1400be738
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 0x1400be720
mov edx, dword [rbp + 0x20c]
test edx, edx
jne 0x1400be74a
xor r11d, r11d
mov ecx, r11d
jmp 0x1400be795
dec edx
mov r9, qword [rbp + 0x1d0]
mov r8d, dword [rbp + 0x1cc]
xor r11d, r11d
nop dword [rax]
test edx, edx
js 0x1400bfeaa
mov ecx, r11d
test r8d, r8d
jle 0x1400be787
lea rax, [r9 + 4]
cmp dword [rax], edx
je 0x1400be865
inc ecx
add rax, 8
cmp ecx, r8d
jl 0x1400be774
movsxd rcx, edx
mov rax, qword [rbp + 0x210]
mov rcx, qword [rax + rcx*8]
add qword [r10 + 0x30], rcx
mov ecx, 0x88
call fcn.1400f5c3c
mov qword [rbp + 0x2f8], rax
lea rdx, [rbp + 0x1a0]
mov rcx, rax
call fcn.1400a6c30
nop
mov rdx, rax
lea rcx, [r15 + 0x60]
call fcn.14005f600
nop
lea rcx, [rbp + 0x200]
call fcn.14005c0a0
lea rcx, [rbp + 0x1e0]
call fcn.14005c0a0
lea rcx, [rbp + 0x1c0]
call fcn.14005c0a0
lea rcx, [rbp + 0x1a0]
call fcn.14009ace0
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.1400f5c2c
xor esi, esi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], rsi
test rdi, rdi
je 0x1400be838
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1400be847
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x150]
test rcx, rcx
je 0x1400be874
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400be874
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400be87b
test ecx, ecx
js 0x1400be787
dec edx
jmp 0x1400be760
mov qword [rbp + 0x150], rsi
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x1400be899
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400be899
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400be8a0
mov qword [rbp + 0x148], rsi
mov rcx, qword [rbp + 0x140]
test rcx, rcx
je 0x1400be8bc
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400be8bc
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 0x1400be8fb
cmp ecx, 0x40
jl 0x1400be8dd
mov eax, ecx
shr eax, 2
jmp 0x1400be8ed
mov eax, 1
cmp ecx, 8
mov edx, 8
cmovge eax, edx
lea edx, [rax + rcx]
mov rcx, rbx
call fcn.140096390
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 0x1400bea5c
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.14005f550
mov dword [rbp - 0x48], 1
lea r9, [rbp + 0x140]
lea r8, [rbp - 0x68]
mov edx, edi
mov rcx, rbx
call fcn.1400c4730
movzx esi, byte [rbp - 0x48]
test sil, sil
je 0x1400bea43
inc r14d
movsxd rcx, edi
mov rax, qword [rbp + 0xc0]
movsxd rdx, dword [rax + rcx*4]
test edx, edx
js 0x1400bea43
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + rdx*8]
cmp byte [rbx + 0x3c], 0
jne 0x1400bea43
cmp byte [rbx + 0x3d], 0
je 0x1400bea2f
mov qword [rbp + 0x50], r12
mov qword [rbp + 0x58], r12
mov edx, 3
lea rcx, [rbp + 0x50]
call fcn.14005f550
mov dword [rbp + 0x60], 1
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.1400bca10
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.14005f300
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.1400f5c2c
lea r8, [rbp + 0x140]
lea rdx, [rbp - 0x68]
mov rcx, r13
call fcn.1400c4860
nop
mov rcx, qword [rbp - 0x58]
call fcn.1400f5c2c
inc edi
cmp r14d, r15d
mov rbx, qword [rsp + 0x58]
jb 0x1400be940
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 0x1400be120
mov r15, qword [rsp + 0x48]
movsxd r12, dword [r15 + 0xc]
mov dword [rbp - 0x70], r12d
test r12d, r12d
jne 0x1400beacc
lea rcx, [rbp + 0x480]
call fcn.1400ccf70
nop
mov rcx, qword [rbp + 0x118]
call fcn.1400f5c2c
lea rcx, [rbp + 0xf0]
call fcn.14005c0a0
lea rcx, [rbp + 0xd0]
call fcn.1400ab220
xor r15d, r15d
jmp 0x1400bf57c
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.140096390
cmp qword [rbp + 0x130], 1
seta r9b
mov byte [rsp + 0x40], r9b
mov r14, r12
mov qword [rbp + 0x38], r12
test r12d, r12d
jle 0x1400bebb2
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.1400bbe20
movups xmm6, xmmword [rax]
movsd xmm7, qword [rax + 0x10]
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x70]
cmp eax, ecx
jne 0x1400beb7b
cmp ecx, 0x40
jl 0x1400beb5a
mov eax, ecx
shr eax, 2
jmp 0x1400beb6a
mov eax, 1
cmp ecx, 8
mov edx, 8
cmovge eax, edx
lea edx, [rcx + rax]
lea rcx, [rsp + 0x68]
call fcn.140096390
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 0x1400bebad
movzx r9d, byte [rsp + 0x40]
jmp 0x1400beb20
mov r12d, r14d
jmp 0x1400bebb6
mov esi, dword [rsp + 0x74]
cmp esi, 1
jle 0x1400beda1
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 0x1400bec7c
jge 0x1400bec26
movsxd rax, ebx
lea rcx, [rax + rax*2]
lea rdx, [rdi + rcx*8]
lea rcx, [rdx + 0x18]
lea r8, [rsp + 0x40]
call fcn.1400bc0d0
test eax, eax
jle 0x1400bec26
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.1400bc0d0
test eax, eax
jns 0x1400bec6d
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 0x1400bec05
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 0x1400bebe0
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 0x1400bed7e
cmp ebx, esi
jge 0x1400bed28
movsxd rax, ebx
lea rcx, [rax + rax*2]
lea rdx, [rdi + rcx*8]
lea rcx, [rdx + 0x18]
lea r8, [rsp + 0x40]
call fcn.1400bc0d0
test eax, eax
jle 0x1400bed28
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.1400bc0d0
test eax, eax
jns 0x1400bed6f
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 0x1400bed07
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 0x1400becb0
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.140096390
mov r8d, dword [rbp + 4]
test r14, r14
jle 0x1400bee4c
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 0x1400bee27
cmp ecx, 0x40
jl 0x1400bee0d
mov eax, ecx
shr eax, 2
jmp 0x1400bee17
mov eax, r15d
cmp ecx, r12d
cmovge eax, r12d
lea edx, [rcx + rax]
lea rcx, [rbp - 8]
call fcn.140096390
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 0x1400bedf0
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 0x1400bf4ea
mov r14, r15
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], 0
mov edx, 3
lea rcx, [rbp + 0x80]
call fcn.14005f550
nop
mov edi, r15d
mov dword [rbp - 0x40], r15d
mov qword [rbp - 0x28], r15
cmp r13d, r12d
jge 0x1400beff7
lea rsi, [rbx*4]
mov r12, qword [rbp + 0x80]
nop
movsxd rax, edi
cmp rax, qword [rbp + 0x130]
jae 0x1400beff2
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 0x1400beff2
cmp byte [rax + 0x28], 0
je 0x1400befcc
lea rcx, [r11 + 0x28]
call fcn.1400bbb50
movsxd r9, dword [r11 + 0x30]
test r9d, r9d
je 0x1400bef3c
mov rdx, qword [r11 + 0x28]
lea rcx, [r9 - 1]
lea rcx, [rdx + rcx*2]
cmp word [rcx], 0x2e
je 0x1400bef24
cmp rcx, rdx
je 0x1400bef3c
sub rcx, 2
cmp word [rcx], 0x2e
jne 0x1400bef15
sub rcx, rdx
sar rcx, 1
test ecx, ecx
js 0x1400bef3c
cmp ecx, eax
jge 0x1400bef36
test eax, eax
jns 0x1400bef3c
lea r8d, [rcx + 1]
jmp 0x1400bef40
mov r8d, dword [r11 + 0x30]
sub r9d, r8d
lea rdx, [rbp + 0x170]
lea rcx, [r11 + 0x28]
call fcn.1400afa80
or dword [rbp - 0x30], 6
test edi, edi
jne 0x1400befae
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.14005f550
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 0x1400bef90
mov dword [rbp + 0x88], edi
mov edi, dword [rbp - 0x40]
jmp 0x1400befc4
mov rdx, r12
mov rbx, qword [rbp + 0x170]
mov rcx, rbx
call fcn.14009ffe0
test eax, eax
jne 0x1400befea
mov rcx, rbx
call fcn.1400f5c2c
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 0x1400beff2
jmp 0x1400beeb0
mov rcx, rbx
call fcn.1400f5c2c
cmp edi, 1
jge 0x1400bf007
mov eax, 1
mov esi, eax
mov dword [rbp - 0x40], eax
mov qword [rbp - 0x28], rax
jmp 0x1400bf00a
mov esi, dword [rbp - 0x40]
mov ecx, 0xb8
call fcn.1400f5c3c
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.1400f5c3c
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 0x1400bf0e5
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 0x1400bf126
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.1400cb1a0
mov r14d, eax
test eax, eax
jne 0x1400bf688
cmp ebx, dword [rdi + 0xc]
jge 0x1400bf287
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 0x1400bf270
mov edx, dword [rbp + 0x29c]
test edx, edx
jne 0x1400bf299
xor r11d, r11d
mov ecx, r11d
jmp 0x1400bf2e5
dec edx
mov r9, qword [rbp + 0x260]
mov r8d, dword [rbp + 0x25c]
xor r11d, r11d
nop dword [rax]
test edx, edx
js 0x1400bfe23
mov ecx, r11d
test r8d, r8d
jle 0x1400bf2d7
lea rax, [r9 + 4]
cmp dword [rax], edx
je 0x1400bf386
inc ecx
add rax, 8
cmp ecx, r8d
jl 0x1400bf2c4
movsxd rcx, edx
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rax + rcx*8]
add qword [rsi + 0x30], rcx
mov ecx, 0x88
call fcn.1400f5c3c
mov qword [rbp + 0x188], rax
lea rdx, [rbp + 0x230]
mov rcx, rax
call fcn.1400a6c30
nop
mov rdx, rax
lea rcx, [rdi + 0x60]
call fcn.14005f600
xor r8d, r8d
mov esi, r8d
mov edi, r8d
mov r14, qword [rbp - 0x28]
test r14, r14
jle 0x1400bf429
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.14005f550
mov dword [rbp - 0x48], 1
cmp byte [rbx + 0x3d], 0
je 0x1400bf395
lea r8, [rbp + 0x40]
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.1400bca10
jmp 0x1400bf3a9
test ecx, ecx
js 0x1400bf2d7
dec edx
jmp 0x1400bf2b0
lea r9, [rbp + 0x40]
lea r8, [rbp - 0x68]
mov edx, dword [rbx]
mov rcx, qword [rsp + 0x58]
call fcn.1400c4730
cmp byte [rbp + 0x64], 0
jne 0x1400bf678
cmp byte [rbp - 0x47], 0
jne 0x1400bf678
mov rax, qword [r15 + 0x68]
cmp byte [rdi + rax], 0
je 0x1400bf40e
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 0x1400bf3f4
mov byte [rbp - 0x46], 1
mov byte [rbp - 0x48], 1
inc esi
jmp 0x1400bf3fc
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.1400c4860
nop
mov rcx, qword [rbp - 0x58]
call fcn.1400f5c2c
inc rdi
cmp rdi, r14
mov r8d, 0
jl 0x1400bf330
mov rbx, qword [rbp - 0x38]
sub rbx, 0xffffffffffffff80
mov eax, dword [rbx + 0xc]
mov ecx, dword [rbx + 8]
cmp eax, ecx
jne 0x1400bf465
cmp ecx, 0x40
jl 0x1400bf447
mov eax, ecx
shr eax, 2
jmp 0x1400bf457
mov eax, 1
cmp ecx, 8
mov edx, 8
cmovge eax, edx
lea edx, [rax + rcx]
mov rcx, rbx
call fcn.140096390
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.14005c0a0
lea rcx, [rbp + 0x270]
call fcn.14005c0a0
lea rcx, [rbp + 0x250]
call fcn.14005c0a0
lea rcx, [rbp + 0x230]
call fcn.14009ace0
nop
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x80]
call fcn.1400f5c2c
cmp rbx, qword [rbp + 0x38]
mov r12d, dword [rbp - 0x70]
mov r15d, 0
jl 0x1400bee64
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.1400f5c2c
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.1400f5c2c
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r15
lea rcx, [rbp + 0x480]
call fcn.1400ccf70
nop
mov rcx, qword [rbp + 0x118]
call fcn.1400f5c2c
lea rcx, [rbp + 0xf0]
call fcn.14005c0a0
lea rcx, [rbp + 0xd0]
call fcn.1400ab220
mov ebx, dword [rbp - 0x78]
inc ebx
mov dword [rbp - 0x78], ebx
cmp ebx, 4
jge 0x1400bf729
mov rdi, qword [rbp - 0x20]
mov esi, dword [rbp + 0x640]
mov r12, qword [rbp + 0x78]
mov r13, qword [rbp - 0x10]
xor edx, edx
jmp 0x1400bdeec
lea rcx, [rbp + 0x1a0]
call fcn.14009b340
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.1400f5c2c
mov qword [rbp - 0x60], 0
mov qword [rbp - 0x58], rsi
test rdi, rdi
je 0x1400bf5f6
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
test rbx, rbx
je 0x1400bf605
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x150]
test rcx, rcx
je 0x1400bf623
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400bf623
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400bf62a
mov qword [rbp + 0x150], rsi
mov rcx, qword [rbp + 0x148]
test rcx, rcx
je 0x1400bf648
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400bf648
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400bf64f
mov qword [rbp + 0x148], rsi
mov rcx, qword [rbp + 0x140]
test rcx, rcx
je 0x1400bf70b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
jne 0x1400bf70b
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1400bf70b
mov r14d, 0x80004005
mov rcx, qword [rbp - 0x58]
call fcn.1400f5c2c
nop
lea rcx, [rbp + 0x230]
call fcn.14009b340
nop
mov rax, qword [r15]
mov rcx, r15
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x80]
call fcn.1400f5c2c
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.1400f5c2c
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.1400f5c2c
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
lea rcx, [rbp + 0x480]
call fcn.1400ccf70
nop
lea rcx, [rbp + 0xd0]
call fcn.1400aa5c0
jmp 0x1400bfd20
mov eax, dword [rbp + 0x640]
cmp eax, dword [rbp + 0x24]
jne 0x1400bfd1a
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 0x1400bf823
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 0x1400bf7a3
cmp byte [rcx + 0x3f], 0
jne 0x1400bf7c4
cmp byte [rcx + 0x3e], 0
jne 0x1400bf7c4
cmp qword [rcx + 0x20], 0
je 0x1400bf7c4
jmp 0x1400bf810
movsxd rax, dword [rcx]
cmp eax, 0xffffffff
je 0x1400bf7c4
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 0x1400bf810
cmp edi, edx
jne 0x1400bf7f7
cmp edx, 0x40
jl 0x1400bf7d4
mov eax, edx
shr eax, 2
jmp 0x1400bf7e2
mov eax, r15d
cmp edx, 8
mov ecx, 8
cmovge eax, ecx
add edx, eax
lea rcx, [rsp + 0x68]
call fcn.140096390
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 0x1400bf780
xor r15d, r15d
cmp edi, 1
jle 0x1400bfb48
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 0x1400bf99f
mov r13d, 1
jge 0x1400bf8fe
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 0x1400bf8a5
mov eax, 0xffffffff
test r9b, r9b
cmovne eax, r13d
jmp 0x1400bf8f8
movzx eax, byte [rdx + 0x3e]
movzx ecx, byte [r8 + 0x3e]
test r9b, r9b
je 0x1400bf8d5
cmp cl, al
je 0x1400bf8c4
mov eax, 0xffffffff
test cl, cl
cmovne eax, r13d
jmp 0x1400bf8f8
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.14009ffe0
neg eax
jmp 0x1400bf8f3
cmp cl, al
je 0x1400bf8e6
mov eax, 0xffffffff
test cl, cl
cmovne eax, r13d
jmp 0x1400bf8f8
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.14009ffe0
mov r10, qword [rsp + 0x50]
test eax, eax
jle 0x1400bf8fe
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 0x1400bf92d
mov eax, 0xffffffff
test r9b, r9b
cmovne eax, r13d
jmp 0x1400bf980
movzx eax, byte [rdx + 0x3e]
movzx ecx, byte [r8 + 0x3e]
test r9b, r9b
je 0x1400bf95d
cmp cl, al
je 0x1400bf94c
mov eax, 0xffffffff
test cl, cl
cmovne eax, r13d
jmp 0x1400bf980
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.14009ffe0
neg eax
jmp 0x1400bf97b
cmp cl, al
je 0x1400bf96e
mov eax, 0xffffffff
test cl, cl
cmovne eax, r13d
jmp 0x1400bf980
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.14009ffe0
mov r10, qword [rsp + 0x50]
test eax, eax
jns 0x1400bf99a
movsxd rcx, r15d
mov eax, dword [r14]
mov dword [rsi + rcx*4], eax
mov r15d, ebx
add ebx, ebx
cmp ebx, edi
jle 0x1400bf86c
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 0x1400bf850
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 0x1400bfb30
cmp ebx, edi
jge 0x1400bfa8e
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 0x1400bfa2f
mov eax, 0xffffffff
test r9b, r9b
cmovne eax, r11d
jmp 0x1400bfa88
movzx eax, byte [rdx + 0x3e]
movzx ecx, byte [r8 + 0x3e]
test r9b, r9b
je 0x1400bfa5f
cmp cl, al
je 0x1400bfa4e
mov eax, 0xffffffff
test cl, cl
cmovne eax, r11d
jmp 0x1400bfa88
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.14009ffe0
neg eax
jmp 0x1400bfa7d
cmp cl, al
je 0x1400bfa70
mov eax, 0xffffffff
test cl, cl
cmovne eax, r11d
jmp 0x1400bfa88
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.14009ffe0
mov r11d, 1
mov r10, qword [rsp + 0x50]
test eax, eax
jle 0x1400bfa8e
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 0x1400bfabd
mov eax, 0xffffffff
test r9b, r9b
cmovne eax, r11d
jmp 0x1400bfb16
movzx eax, byte [rdx + 0x3e]
movzx ecx, byte [r8 + 0x3e]
test r9b, r9b
je 0x1400bfaed
cmp cl, al
je 0x1400bfadc
mov eax, 0xffffffff
test cl, cl
cmovne eax, r11d
jmp 0x1400bfb16
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.14009ffe0
neg eax
jmp 0x1400bfb0b
cmp cl, al
je 0x1400bfafe
mov eax, 0xffffffff
test cl, cl
cmovne eax, r11d
jmp 0x1400bfb16
mov rdx, qword [rdx + 0x28]
mov rcx, qword [r8 + 0x28]
call fcn.14009ffe0
mov r11d, 1
mov r10, qword [rsp + 0x50]
test eax, eax
jns 0x1400bfb30
movsxd rcx, r15d
mov eax, dword [r14]
mov dword [rsi + rcx*4], eax
mov r15d, ebx
add ebx, ebx
cmp ebx, edi
jle 0x1400bf9f6
movsxd rax, r15d
mov dword [rsi + rax*4], r12d
cmp r13, 1
jg 0x1400bf9d0
mov edi, dword [rsp + 0x74]
xor r15d, r15d
mov r14d, r15d
test edi, edi
jle 0x1400bfbfb
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.14005f550
mov dword [rbp + 0x60], 1
cmp byte [rbx + 0x3d], 0
je 0x1400bfbad
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x40]
mov rcx, rbx
call fcn.1400bca10
jmp 0x1400bfbc4
lea r9, [rbp + 0x140]
lea r8, [rbp + 0x40]
mov edx, dword [rbx]
mov rcx, qword [rsp + 0x58]
call fcn.1400c4730
lea r8, [rbp + 0x140]
lea rdx, [rbp + 0x40]
mov rcx, qword [rbp - 0x38]
call fcn.1400c4860
nop
mov rcx, qword [rbp + 0x50]
call fcn.1400f5c2c
inc r14d
add rsi, 4
mov edi, dword [rsp + 0x74]
cmp r14d, edi
mov r10, qword [rsp + 0x50]
jl 0x1400bfb60
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.1400f5c2c
nop
mov rdi, qword [rbp - 0x38]
mov edx, dword [rdi + 0xc]
mov rcx, rdi
call fcn.140096390
lea rcx, [rdi + 0x20]
mov edx, dword [rcx + 0xc]
call fcn.140096390
lea rcx, [rdi + 0x40]
mov edx, dword [rcx + 0xc]
call fcn.140096390
lea rcx, [rdi + 0x60]
mov edx, dword [rcx + 0xc]
call fcn.140096390
lea rcx, [rdi + 0x80]
mov edx, dword [rcx + 0xc]
call fcn.140096390
lea rcx, [rdi + 0xa0]
mov edx, dword [rcx + 0xc]
call fcn.140096390
mov edx, dword [rdi + 0xcc]
lea rcx, [rdi + 0xc0]
call fcn.140096390
mov edx, dword [rdi + 0xcc]
lea rcx, [rdi + 0xc0]
call fcn.140096390
mov edx, dword [rdi + 0x10c]
lea rcx, [rdi + 0x100]
call fcn.140096390
mov edx, dword [rdi + 0x10c]
lea rcx, [rdi + 0x100]
call fcn.140096390
mov edx, dword [rdi + 0x14c]
lea rcx, [rdi + 0x140]
call fcn.140096390
mov edx, dword [rdi + 0x14c]
lea rcx, [rdi + 0x140]
call fcn.140096390
mov edx, dword [rdi + 0x18c]
lea rcx, [rdi + 0x180]
call fcn.140096390
mov edx, dword [rdi + 0x18c]
lea rcx, [rdi + 0x180]
call fcn.140096390
lea rcx, [rdi + 0x1c0]
mov edx, dword [rcx + 0xc]
call fcn.140096390
mov r14d, r15d
jmp 0x1400bfd20
mov r14d, 0x80004005
lea rcx, [rbp + 0x90]
call fcn.1400c00d0
mov rsi, qword [rsp + 0x60]
lea rcx, [rbp + 0x388]
call fcn.1400a48b0
nop
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x1400bfd51
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x360]
test rcx, rcx
je 0x1400bfd64
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x350]
test rcx, rcx
je 0x1400bfd77
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rcx, [rbp + 0x320]
call fcn.1400c88f0
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.1400f5c2c
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.1400f5c2c
nop
mov eax, r14d
mov rcx, qword [rbp + 0x648]
xor rcx, rsp
call fcn.1400f5be0
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, [0x14016d900]
lea rcx, [rsp + 0x48]
call fcn.1400f7f94
nop
mov dword [rsp + 0x48], 0x100ec2
lea rdx, [0x14016d900]
lea rcx, [rsp + 0x48]
call fcn.1400f7f94
int3
mov dword [rsp + 0x48], 0x100ec1
lea rdx, [0x14016d900]
lea rcx, [rsp + 0x48]
call fcn.1400f7f94
nop
mov dword [rsp + 0x48], 0x100ec2
lea rdx, [0x14016d900]
lea rcx, [rsp + 0x48]
call fcn.1400f7f94
int3
mov dword [rbp + 0x640], 0x100ec1
lea rdx, [0x14016d900]
lea rcx, [rbp + 0x640]
call fcn.1400f7f94
nop
mov eax, 1
mov dword [rsp + 0x48], eax
lea rdx, [0x14016d900]
lea rcx, [rsp + 0x48]
call fcn.1400f7f94
int3