Function at 0x421b10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59c844
mov eax, dword fs:[0]
push eax
sub esp, 0x370
mov eax, dword [0x639354]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x24]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x20]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x64], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x9c], ecx
mov ecx, dword [ecx + 0x1c]
mov dword [ebp - 0x13c], eax
or eax, ecx
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x10c], edx
mov dword [ebp - 0x150], ecx
jne 0x421bac
mov dword [ebp - 0x13c], 1
mov dword [ebp - 0x150], eax
mov dword [ebp - 0xe0], 0
mov eax, dword [edx]
lea ecx, [ebp - 0xe0]
push ecx
push 0x5b81dc
push edx
mov dword [ebp - 4], 0
call dword [eax]
mov dword [ebp - 0x110], 0
mov ecx, dword [ebp - 0x10c]
lea edx, [ebp - 0x110]
push edx
push 0x5b813c
push ecx
mov eax, dword [ecx]
mov byte [ebp - 4], 1
call dword [eax]
test edi, edi
je 0x421c38
mov ecx, dword [edi + 0x104]
mov eax, dword [edi + 0x100]
test ecx, ecx
jne 0x421c0b
test eax, eax
je 0x421c38
mov edx, dword [ebp - 0x9c]
cmp byte [edx + 0x2a], 0
jne 0x421c38
push 0
push ecx
push eax
push 0
push 0
push esi
push dword [ebp - 0xf8]
call fcn.00425360
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x425094
xor esi, esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0xa8], esi
mov byte [ebp - 0x90], 0
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], esi
xor eax, eax
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x9c]
mov byte [ebp - 0x41], al
mov byte [ebp - 4], 6
mov al, byte [ecx + 8]
mov byte [ebp - 0x85], al
test al, al
je 0x421d3a
mov edi, dword [ecx]
xor edx, edx
mov eax, dword [edi + 4]
mov dword [ebp - 0x84], eax
test eax, eax
je 0x421d37
mov edi, dword [edi]
lea esp, [esp]
mov eax, dword [edi]
cmp dword [eax + 0x14], 0
mov ecx, dword [eax + 0x10]
ja 0x421d22
jb 0x421cd2
cmp ecx, 0xffffffff
ja 0x421d22
cmp ecx, 0x3030205
ja 0x421d00
je 0x421d30
cmp ecx, 0x20304
ja 0x421cf3
je 0x421d30
cmp ecx, 3
je 0x421d30
cmp ecx, 0x20302
jmp 0x421d20
sub ecx, 0x3030103
je 0x421d30
sub ecx, 0x18
jmp 0x421d20
cmp ecx, 0x3030701
ja 0x421d1a
je 0x421d30
cmp ecx, 0x3030401
je 0x421d30
cmp ecx, 0x3030501
jmp 0x421d20
cmp ecx, 0x3030805
je 0x421d30
inc edx
add edi, 4
cmp edx, dword [ebp - 0x84]
jb 0x421cc0
jmp 0x421d37
mov byte [ebp - 0x85], 0
mov edi, dword [ebp - 0x5c]
test edi, edi
je 0x4222c6
mov esi, dword [edi + 0x5c]
push 0
call fcn.0055c53b
xor ecx, ecx
mov dword [ebp - 0xa4], 0
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov esi, eax
add esp, 8
xor eax, eax
mov dword [ebp - 0xa4], esi
cmp dword [edi + 0x5c], eax
jbe 0x421d8d
mov dword [esi + eax*4], 0xffffffff
inc eax
cmp eax, dword [edi + 0x5c]
jb 0x421d80
mov edi, dword [ebp - 0xa0]
xor ecx, ecx
cmp dword [edi + 4], ecx
jbe 0x421db5
lea ebx, [ebx]
mov eax, dword [edi]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x421daf
mov dword [esi + eax*4], ecx
inc ecx
cmp ecx, dword [edi + 4]
jb 0x421da0
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ecx + 4], eax
jbe 0x4222cc
jmp 0x421dd0
lea edx, [eax*4]
mov dword [ebp - 0x58], 0
mov eax, dword [ecx + 0x24]
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x6c], edx
mov edi, dword [edx + eax]
xor eax, eax
mov dword [ebp - 0x68], eax
mov eax, dword [ecx + 0x130]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], edi
mov edx, dword [edx + eax]
test edi, edi
je 0x4222ad
mov eax, dword [ebp - 0x58]
mov edi, edx
shl edi, 4
lea ebx, [ebx]
cmp edx, dword [ecx + 0x5c]
jae 0x422346
mov ecx, dword [ecx + 0x58]
cmp byte [ecx + edi + 0xc], 0
je 0x421e80
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [esi + edx*4]
mov dword [ebp - 0x84], eax
test eax, eax
js 0x421e7d
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x84]
mov eax, dword [eax]
mov eax, dword [eax + esi*4]
mov esi, dword [ebp - 0xa4]
cmp byte [eax + 0x38], 0
jne 0x421e7d
mov eax, dword [ebp - 0x68]
inc dword [ebp - 0x78]
add eax, dword [ecx + edi]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xbc]
adc eax, dword [ecx + edi + 4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
inc edx
add edi, 0x10
cmp eax, dword [ebp - 0x74]
jb 0x421e20
cmp dword [ebp - 0x78], 0
je 0x4222ad
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
mov edi, dword [ebp - 0x50]
lea eax, [ebp - 0x18c]
push eax
push edi
mov byte [ebp - 4], 9
call fcn.004190c0
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x188]
mov eax, dword [ecx + 0x34]
xor ecx, ecx
movzx eax, byte [eax + edi]
mov edi, dword [ebp - 0x18c]
mov dword [ebp - 0x174], eax
test edx, edx
je 0x421f2a
mov eax, edi
lea ebx, [ebx]
cmp dword [eax], 0x6f10701
jne 0x421f22
cmp dword [eax + 4], 0
je 0x421fda
inc ecx
add eax, 0x18
cmp ecx, edx
jb 0x421f10
mov byte [ebp - 0x51], 0
cmp byte [ebp - 0x85], 0
jne 0x421f43
mov eax, dword [ebp - 0x74]
mov byte [ebp - 0x52], 0
cmp dword [ebp - 0x78], eax
jne 0x421f47
mov byte [ebp - 0x52], 1
xor ecx, ecx
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
test edx, edx
je 0x421f86
mov eax, edi
lea ecx, [ecx]
cmp dword [eax], 0x6f10701
jne 0x421f7e
cmp dword [eax + 4], 0
je 0x421fe3
inc ecx
add eax, 0x18
cmp ecx, edx
jb 0x421f70
xor al, al
cmp byte [ebp - 0x52], 0
mov byte [ebp - 0xd4], al
je 0x422091
mov eax, dword [ebp - 0x174]
lea ecx, [eax + eax*2]
shl ecx, 3
add ecx, edi
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
cmp eax, 3
jne 0x421fe7
test edx, edx
jne 0x421fe9
cmp dword [ecx + 0xc], 1
jne 0x422091
mov eax, dword [ecx + 8]
mov dword [ebp - 0xdc], 3
movzx eax, byte [eax]
inc eax
mov dword [ebp - 0xd8], eax
jmp 0x422091
mov byte [ebp - 0x51], 1
jmp 0x421f2e
mov al, 1
jmp 0x421f88
test edx, edx
ja 0x422091
jb 0x421ffc
cmp eax, 0x3030805
ja 0x422091
cmp eax, 0x3030401
ja 0x42201e
je 0x422033
mov ecx, eax
sub ecx, 0x3030103
je 0x422033
sub ecx, 0x18
je 0x422033
sub ecx, 0xea
je 0x422033
jmp 0x422091
cmp eax, 0x3030501
je 0x422033
cmp eax, 0x3030701
je 0x422033
cmp eax, 0x3030805
jne 0x422091
mov dword [ebp - 0xdc], eax
cmp eax, 0x303011b
jne 0x42204c
mov dword [ebp - 0xdc], 0x3030103
jmp 0x422091
cmp eax, 0x3030401
jne 0x42205f
mov dword [ebp - 0xd8], 0x10
jmp 0x422091
cmp eax, 0x3030501
je 0x422087
cmp eax, 0x3030205
je 0x422087
cmp eax, 0x3030805
je 0x422087
cmp eax, 0x3030701
jne 0x422091
mov dword [ebp - 0xd8], 2
jmp 0x422091
mov dword [ebp - 0xd8], 4
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00420470
mov edi, eax
add esp, 8
cmp edi, dword [ebp - 0xe8]
jb 0x422124
lea ecx, [ebp - 0xf4]
call fcn.004111b0
push 0x18
call fcn.0055c4f4
mov ecx, eax
add esp, 4
mov dword [ebp - 0x70], ecx
test ecx, ecx
je 0x4220fa
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
jmp 0x4220fc
xor ecx, ecx
mov eax, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf4]
lea esi, [eax + 1]
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xf0], esi
mov dword [edx + eax*4], ecx
cmp edi, esi
jae 0x4220b1
mov esi, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xf4]
mov edi, dword [eax + edi*4]
mov ecx, dword [edi + 0x14]
cmp dword [edi + 0x10], ecx
jne 0x4221aa
cmp ecx, 0x7fffffff
jae 0x4250dd
mov eax, ecx
mov edx, 0x7fffffff
sub edx, ecx
shr eax, 2
inc eax
cmp eax, edx
cmovbe edx, eax
add edx, ecx
xor ecx, ecx
mov dword [ebp - 0x80], edx
mov eax, edx
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov ecx, dword [edi + 0x10]
add esp, 4
mov dword [ebp - 0x84], eax
test ecx, ecx
je 0x422190
shl ecx, 3
push ecx
push dword [edi + 0xc]
push eax
call fcn.00560500
add esp, 0xc
push dword [edi + 0xc]
call fcn.0055c53b
mov eax, dword [ebp - 0x84]
add esp, 4
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x80]
mov dword [edi + 0x14], eax
mov ecx, dword [edi + 0x10]
mov edx, dword [ebp - 0x50]
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0xc]
mov dword [eax + ecx*8], edx
mov edx, dword [ebp - 0x78]
mov dword [eax + ecx*8 + 4], edx
cmp edx, dword [ebp - 0x74]
jne 0x422206
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x30]
mov edi, dword [eax + edx + 4]
mov edx, dword [eax + edx]
mov eax, dword [ecx + 8]
shl edx, 3
mov ecx, dword [eax + edi*8]
sub ecx, dword [edx + eax]
mov eax, dword [eax + edi*8 + 4]
mov edi, dword [esi + 8]
mov esi, dword [ebp - 0xa4]
sbb eax, dword [edx + edi + 4]
add dword [ebp - 0xc0], ecx
adc dword [ebp - 0xc4], eax
jmp 0x422252
mov eax, dword [ebp - 0x68]
add dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xbc]
adc dword [ebp - 0xc4], ecx
mov byte [ebp - 0x41], 1
cmp dword [ebp - 0xa8], ecx
ja 0x422237
jb 0x42222e
cmp dword [ebp - 0x7c], eax
jae 0x422237
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0xa8], ecx
mov eax, dword [ebp - 0x90]
mov ecx, 1
cmp byte [ebp - 0x51], 0
movzx eax, al
cmovne eax, ecx
mov dword [ebp - 0x90], eax
push dword [ebp - 0x17c]
mov byte [ebp - 4], 6
call fcn.0055c53b
push dword [ebp - 0x184]
call fcn.0055c53b
mov eax, dword [ebp - 0x18c]
add esp, 8
test eax, eax
je 0x4222aa
push 0x40cc10
push dword [eax - 4]
lea edi, [eax - 4]
mov byte [ebp - 4], 0xa
push 0x18
push eax
call fcn.0055c3df
mov eax, dword [edi]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 4]
push eax
push edi
call fcn.0055c540
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp eax, dword [ecx + 4]
jb 0x421dd0
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x74], eax
mov edi, dword [ebp - 0xa0]
xor ecx, ecx
xor edx, edx
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x150], ecx
ja 0x4222ed
cmp dword [ebp - 0x13c], 1
jbe 0x42230b
mov eax, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x9c]
mov byte [ebp - 0x51], 1
mov eax, dword [eax + 0x20]
or eax, dword [esi + 0x24]
mov esi, dword [ebp - 0xa4]
jne 0x42230e
mov byte [ebp - 0x51], cl
mov eax, dword [edi + 4]
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x42237c
mov esi, dword [edi]
lea ebx, [ebx]
mov edi, dword [esi]
cmp byte [edi + 0x38], 0
je 0x42236d
mov eax, dword [edi + 0x20]
add dword [ebp - 0xc0], eax
mov edi, dword [edi + 0x24]
adc dword [ebp - 0xc4], edi
cmp byte [ebp - 0x51], 0
je 0x422353
add edx, eax
adc ecx, edi
jmp 0x422361
mov eax, 0x80004005
mov dword [ebp - 0x48], eax
jmp 0x42502a
cmp ecx, edi
ja 0x42236d
jb 0x42235d
cmp edx, eax
jae 0x42236d
mov edx, eax
mov ecx, edi
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x134], edx
add esi, 4
sub dword [ebp - 0x6c], 1
jne 0x422320
mov esi, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xa8]
cmp ecx, edi
ja 0x42239b
mov eax, dword [ebp - 0x7c]
jb 0x42238f
cmp edx, eax
jae 0x42239b
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edi
mov ecx, dword [ebp - 0x10c]
push dword [ebp - 0xc4]
push dword [ebp - 0xc0]
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x42502a
push 0x38
call fcn.0055c4f4
add esp, 4
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x4223e4
mov ecx, eax
call fcn.00431c40
mov edi, eax
mov dword [ebp - 0xac], eax
jmp 0x4223ec
xor edi, edi
mov dword [ebp - 0xac], edi
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x204], edi
test edi, edi
je 0x422400
mov eax, dword [edi]
push edi
call dword [eax + 4]
push 1
push dword [ebp - 0x10c]
mov ecx, edi
mov byte [ebp - 4], 0xf
call fcn.00431ca0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 0
mov al, byte [eax + 0x2b]
mov byte [ebp - 0x6c], al
push dword [ebp - 0x6c]
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 0x11
mov dword [ebp - method.NArchive::N7z::CThreadDecoder.virtual_0], vtable.NArchive::N7z::CThreadDecoder.0
call fcn.0040c9c0
mov byte [ebp - 0x23c], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x214], 0
cmp byte [ebp - 0x6c], 0
mov byte [ebp - 4], 0x15
je 0x422518
push 0x38
mov byte [ebp - 0x210], 0
mov dword [ebp - 0x20c], 1
call fcn.0055c4f4
mov edi, eax
add esp, 4
mov dword [ebp - 0x70], edi
test edi, edi
je 0x4224f0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi], vtable.NArchive::N7z::CFolderOutStream2.0
mov dword [edi + 0x34], 0
mov dword [ebp - 0x230], edi
mov eax, dword [edi]
push edi
call dword [eax + 4]
jmp 0x4224f8
xor edi, edi
mov dword [ebp - 0x230], edi
mov ecx, dword [ebp - 0x22c]
test ecx, ecx
je 0x422508
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x22c], edi
mov dword [ebp - 0x238], 0x80004005
mov edx, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x16
cmp byte [edx + 0x2b], 0
je 0x42255f
cmp byte [ebp - 0x41], 0
je 0x42255f
lea ecx, [ebp - 0x2b4]
call fcn.004325c0
mov edi, eax
mov dword [ebp - 0x48], edi
test edi, edi
je 0x422559
jle 0x424f5e
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0x48], edi
jmp 0x424f5e
mov edx, dword [ebp - 0x9c]
xor edi, edi
mov word [ebp - 0x114], 1
xor al, al
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], edi
mov byte [ebp - 0x112], al
mov ecx, dword [edx + 0xc]
mov byte [ebp - 4], 0x1a
test ecx, ecx
jne 0x42259e
mov word [ebp - 0x114], cx
mov byte [ebp - 0x112], cl
jmp 0x4225ee
mov edi, dword [ebp - 0xe0]
test edi, edi
je 0x4225bd
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov edx, dword [ebp - 0x9c]
mov al, byte [ebp - 0x112]
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x120], edi
test ecx, ecx
jle 0x4225ee
mov byte [ebp - 0x114], 1
cmp ecx, 7
jl 0x4225ee
cmp ecx, 9
movzx eax, al
mov ecx, 1
mov byte [ebp - 0x113], 1
cmovge eax, ecx
mov byte [ebp - 0x112], al
mov eax, dword [edx]
xor edx, edx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x6c], edx
cmp dword [eax + 4], edx
jbe 0x42285a
lea ebx, [ebx]
mov eax, dword [eax]
mov ecx, dword [eax + edx*4]
cmp byte [ecx + 0x38], 0
je 0x422841
cmp byte [ecx + 0x3b], 0
jne 0x422841
cmp byte [ecx + 0x3a], 0
jne 0x422841
mov eax, dword [ecx + 0x20]
or eax, dword [ecx + 0x24]
je 0x422841
cmp byte [ebp - 0x85], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
mov byte [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
je 0x42268c
lea eax, [ebp - 0xdc]
push eax
push ecx
push edx
lea ecx, [ebp - 0x120]
call fcn.00420210
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x4228d3
mov eax, dword [ebp - 0x84]
mov al, byte [eax + 0x31]
mov byte [ebp - 0xd4], al
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00420470
mov edx, dword [ebp - 0xe8]
add esp, 8
mov dword [ebp - 0x4c], eax
cmp eax, edx
jb 0x4227b3
mov edi, dword [ebp - 0x74]
cmp edx, edi
jne 0x422744
cmp edi, 0x7fffffff
jae 0x4250dd
mov eax, edi
mov ecx, 0x7fffffff
sub ecx, edi
shr eax, 2
inc eax
mov edx, 4
cmp eax, ecx
cmovbe ecx, eax
add edi, ecx
xor ecx, ecx
mov eax, edi
mov dword [ebp - 0x74], edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov ecx, dword [ebp - 0xe8]
add esp, 4
mov dword [ebp - 0x80], eax
test ecx, ecx
je 0x422727
shl ecx, 2
push ecx
push dword [ebp - 0xf4]
push eax
call fcn.00560500
add esp, 0xc
push dword [ebp - 0xf4]
call fcn.0055c53b
mov eax, dword [ebp - 0x80]
add esp, 4
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xec], edi
push 0x18
call fcn.0055c4f4
mov ecx, eax
add esp, 4
mov dword [ebp - 0x70], ecx
test ecx, ecx
je 0x422782
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
jmp 0x422784
xor ecx, ecx
mov edx, dword [ebp - 0xe8]
mov eax, edx
mov esi, dword [ebp - 0xf4]
inc edx
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xf0], edx
mov dword [esi + eax*4], ecx
mov eax, dword [ebp - 0x4c]
mov esi, dword [ebp - 0xa4]
cmp eax, edx
jae 0x4226c5
mov ecx, dword [ebp - 0xf4]
mov edi, dword [ecx + eax*4]
mov ecx, dword [edi + 8]
cmp dword [edi + 4], ecx
jne 0x422830
cmp ecx, 0x7fffffff
jae 0x4250dd
mov eax, ecx
mov edx, 0x7fffffff
sub edx, ecx
shr eax, 2
inc eax
cmp eax, edx
cmovbe edx, eax
add edx, ecx
xor ecx, ecx
mov dword [ebp - 0x4c], edx
mov eax, edx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov ecx, dword [edi + 4]
add esp, 4
mov dword [ebp - 0x80], eax
test ecx, ecx
je 0x42281b
shl ecx, 2
push ecx
push dword [edi]
push eax
call fcn.00560500
add esp, 0xc
push dword [edi]
call fcn.0055c53b
mov eax, dword [ebp - 0x80]
add esp, 4
mov dword [edi], eax
mov eax, dword [ebp - 0x4c]
mov dword [edi + 8], eax
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0x6c]
lea eax, [ecx + 1]
mov dword [edi + 4], eax
mov eax, dword [edi]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xa0]
inc edx
mov dword [ebp - 0x6c], edx
cmp edx, dword [eax + 4]
jb 0x422610
mov edi, dword [ebp - 0x120]
push dword [ebp - 0x11c]
call fcn.0055c53b
add esp, 4
mov byte [ebp - 4], 0x1f
test edi, edi
je 0x422876
mov eax, dword [edi]
push edi
call dword [eax + 8]
xor edi, edi
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x140], edi
cmp byte [ebp - 0x90], 0
mov byte [ebp - 4], 0x20
je 0x4229f4
push 0x14
call fcn.0055c4f4
add esp, 4
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 0x21
test eax, eax
je 0x4228fb
mov dword [eax + 4], edi
lea ecx, [eax + 8]
mov dword [eax], vtable.NArchive::N7z::CCryptoGetTextPassword.0
call fcn.00435b90
mov ecx, dword [ebp - 0xbc]
jmp 0x422903
push dword [ebp - 0x11c]
call fcn.0055c53b
add esp, 4
mov ecx, dword [ebp - 0x120]
mov byte [ebp - 4], 0x1b
test ecx, ecx
je 0x424f5e
mov eax, dword [ecx]
push ecx
jmp 0x424f5b
xor ecx, ecx
mov dword [ebp - 0xbc], ecx
mov byte [ebp - 4], 0x20
mov edi, ecx
mov dword [ebp - 0x8c], edi
test ecx, ecx
je 0x42294f
mov eax, dword [ecx]
mov eax, dword [eax + 4]
cmp eax, method.CLimitedSequentialInStream.virtual_4
jne 0x422924
inc dword [ecx + 4]
jmp 0x422933
push ecx
call eax
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x8c], edi
mov eax, dword [ecx]
mov dword [ebp - 0x140], edi
mov eax, dword [eax + 4]
cmp eax, method.CLimitedSequentialInStream.virtual_4
jne 0x42294a
inc dword [ecx + 4]
jmp 0x42295d
push ecx
call eax
jmp 0x42295d
mov edi, ecx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x140], edi
mov ecx, dword [ebp - 0x214]
test ecx, ecx
je 0x42296d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x214], ecx
mov eax, dword [eax]
cmp byte [eax + 0x31], 0
je 0x422995
add eax, 0x34
add ecx, 8
push eax
call fcn.00435c20
jmp 0x4229f4
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x4229a6
mov eax, 0x80004001
jmp 0x424f4d
mov dword [ebp - 0x50], 0
mov eax, dword [ecx]
lea edx, [ebp - 0x50]
push edx
push ecx
mov byte [ebp - 4], 0x26
call dword [eax + 0xc]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x4229d0
push dword [ebp - 0x50]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x424f50
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x4229e9
mov ecx, dword [ebp - 0xbc]
push eax
add ecx, 8
call fcn.00435c90
mov eax, dword [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x20
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 0xfc]
push 0
push dword [ebp - 0x94]
call fcn.0041c690
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424f50
mov ecx, dword [ebp - 0xfc]
call fcn.0041cd70
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424f50
xor edx, edx
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], edx
mov edi, dword [ebp - 0xa0]
xor ecx, ecx
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x50], ecx
cmp dword [edi + 4], ecx
mov edi, dword [ebp - 0x8c]
jbe 0x422aa7
mov eax, dword [ebp - 0xa0]
lea esp, [esp]
mov eax, dword [eax]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 0x38], 0
je 0x422b41
cmp byte [ecx + 0x3b], 0
jne 0x422b5b
cmp byte [ecx + 0x3a], 0
jne 0x422b5b
mov eax, dword [ecx + 0x20]
or eax, dword [ecx + 0x24]
je 0x422b5b
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0xa0]
inc ecx
mov dword [ebp - 0x50], ecx
cmp ecx, dword [eax + 4]
jb 0x422a60
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
mov ecx, eax
mov dword [ebp - 0x58], ecx
cmp ecx, 1
jbe 0x422f41
shr ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [edx + ecx*4 - 4]
mov eax, ecx
mov dword [ebp - 0x6c], edx
lea edx, [ecx + ecx]
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x48], edx
cmp edx, dword [ebp - 0xb4]
ja 0x422d46
mov edi, dword [ebp - 0xb4]
cmp edx, edi
jae 0x422c6f
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + edx*4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + edx*4 - 4]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x6c]
mov dh, byte [ecx + 0x3a]
mov dl, byte [eax + 0x3a]
mov byte [ebp - 0x52], dh
cmp dl, dh
mov byte [ebp - 0x41], dl
mov edx, dword [ebp - 0x48]
je 0x422c12
xor eax, eax
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422c67
mov ecx, dword [ecx]
cmp ecx, 0xffffffff
je 0x422b5b
mov eax, dword [ebp - 0x5c]
add ecx, ecx
mov eax, dword [eax + 0x58]
cmp byte [eax + ecx*8 + 0xc], 0
jne 0x422a8f
mov ecx, dword [ebp - 0xb4]
cmp ecx, edx
jne 0x422bf2
cmp edx, 0x7fffffff
jae 0x4250dd
mov eax, edx
mov ecx, 0x7fffffff
sub ecx, edx
shr eax, 2
inc eax
cmp eax, ecx
cmovbe ecx, eax
lea eax, [edx + ecx]
xor ecx, ecx
mov dword [ebp - 0x80], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov ecx, dword [ebp - 0xb4]
add esp, 4
mov dword [ebp - 0x84], eax
test ecx, ecx
je 0x422bc9
shl ecx, 2
push ecx
push dword [ebp - 0xb8]
push eax
call fcn.00560500
add esp, 0xc
push dword [ebp - 0xb8]
call fcn.0055c53b
mov eax, dword [ebp - 0x84]
add esp, 4
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb0], edx
mov edi, dword [ebp - 0xb8]
mov eax, ecx
inc ecx
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x50]
mov dword [edi + eax*4], ecx
mov edi, dword [ebp - 0x8c]
jmp 0x422a92
mov dl, byte [eax + 0x3b]
cmp dl, byte [ecx + 0x3b]
mov byte [ebp - 0x51], dl
mov edx, dword [ebp - 0x48]
je 0x422c45
xor eax, eax
cmp byte [ebp - 0x51], al
je 0x422c36
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422c67
cmp byte [ebp - 0x52], al
sete al
lea eax, [eax*2 - 1]
jmp 0x422c67
push dword [ecx + 0x28]
push dword [eax + 0x28]
call fcn.00436ce0
mov ecx, dword [ebp - 0x6c]
add esp, 8
cmp byte [ecx + 0x3b], 0
je 0x422c64
cmp byte [ecx + 0x3a], 0
je 0x422c64
neg eax
mov edx, dword [ebp - 0x48]
test eax, eax
jle 0x422c6f
inc edx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0xb8]
lea eax, [eax + edx*4]
add eax, 0xfffffffc
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
mov eax, dword [ecx + esi*4]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x6c]
mov dh, byte [ecx + 0x3a]
mov dl, byte [eax + 0x3a]
mov byte [ebp - 0x52], dh
cmp dl, dh
mov byte [ebp - 0x41], dl
mov edx, dword [ebp - 0x48]
je 0x422cbb
xor eax, eax
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422d10
mov dl, byte [eax + 0x3b]
cmp dl, byte [ecx + 0x3b]
mov byte [ebp - 0x51], dl
mov edx, dword [ebp - 0x48]
je 0x422cee
xor eax, eax
cmp byte [ebp - 0x51], al
je 0x422cdf
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422d10
cmp byte [ebp - 0x52], al
sete al
lea eax, [eax*2 - 1]
jmp 0x422d10
push dword [ecx + 0x28]
push dword [eax + 0x28]
call fcn.00436ce0
mov ecx, dword [ebp - 0x6c]
add esp, 8
cmp byte [ecx + 0x3b], 0
je 0x422d0d
cmp byte [ecx + 0x3a], 0
je 0x422d0d
neg eax
mov edx, dword [ebp - 0x48]
test eax, eax
jns 0x422d40
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x74]
mov edi, dword [ebp - 0xb8]
mov eax, dword [eax]
mov dword [edi + ecx*4 - 4], eax
mov eax, edx
mov edi, dword [ebp - 0xb4]
add edx, edx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x48], edx
cmp edx, edi
jbe 0x422ae9
jmp 0x422d43
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0xb8]
sub ecx, 1
mov dword [ebp - 0x64], ecx
mov dword [edx + eax*4 - 4], esi
jne 0x422ac0
mov esi, dword [ebp - 0xa4]
mov edi, dword [ebp - 0x58]
mov ecx, dword [edx + edi*4 - 4]
mov eax, dword [edx]
mov dword [edx + edi*4 - 4], eax
dec edi
mov dword [edx], ecx
mov eax, 1
mov edx, 2
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x48], edx
cmp edi, edx
jb 0x422f22
mov esi, dword [ebp - 0x58]
mov edi, ecx
cmp edx, esi
jae 0x422e45
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + edx*4]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + edx*4 - 4]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x6c]
mov dh, byte [ecx + 0x3a]
mov dl, byte [eax + 0x3a]
mov byte [ebp - 0x52], dh
cmp dl, dh
mov byte [ebp - 0x41], dl
mov edx, dword [ebp - 0x48]
je 0x422de8
xor eax, eax
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422e3d
mov dl, byte [eax + 0x3b]
cmp dl, byte [ecx + 0x3b]
mov byte [ebp - 0x51], dl
mov edx, dword [ebp - 0x48]
je 0x422e1b
xor eax, eax
cmp byte [ebp - 0x51], al
je 0x422e0c
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422e3d
cmp byte [ebp - 0x52], al
sete al
lea eax, [eax*2 - 1]
jmp 0x422e3d
push dword [ecx + 0x28]
push dword [eax + 0x28]
call fcn.00436ce0
mov ecx, dword [ebp - 0x6c]
add esp, 8
cmp byte [ecx + 0x3b], 0
je 0x422e3a
cmp byte [ecx + 0x3a], 0
je 0x422e3a
neg eax
mov edx, dword [ebp - 0x48]
test eax, eax
jle 0x422e45
inc edx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0xb8]
lea eax, [eax + edx*4]
add eax, 0xfffffffc
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
mov eax, dword [ecx + edi*4]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x6c]
mov dh, byte [ecx + 0x3a]
mov dl, byte [eax + 0x3a]
mov byte [ebp - 0x52], dh
cmp dl, dh
mov byte [ebp - 0x41], dl
mov edx, dword [ebp - 0x48]
je 0x422e91
xor eax, eax
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422ee6
mov dl, byte [eax + 0x3b]
cmp dl, byte [ecx + 0x3b]
mov byte [ebp - 0x51], dl
mov edx, dword [ebp - 0x48]
je 0x422ec4
xor eax, eax
cmp byte [ebp - 0x51], al
je 0x422eb5
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422ee6
cmp byte [ebp - 0x52], al
sete al
lea eax, [eax*2 - 1]
jmp 0x422ee6
push dword [ecx + 0x28]
push dword [eax + 0x28]
call fcn.00436ce0
mov ecx, dword [ebp - 0x6c]
add esp, 8
cmp byte [ecx + 0x3b], 0
je 0x422ee3
cmp byte [ecx + 0x3a], 0
je 0x422ee3
neg eax
mov edx, dword [ebp - 0x48]
test eax, eax
jns 0x422f13
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0xb8]
mov eax, dword [eax]
mov dword [esi + ecx*4 - 4], eax
mov eax, edx
mov esi, dword [ebp - 0x58]
add edx, edx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x48], edx
cmp edx, esi
jbe 0x422d97
jmp 0x422f16
mov eax, dword [ebp - 0x74]
mov esi, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x58]
mov edx, dword [ebp - 0xb8]
mov dword [edx + eax*4 - 4], ecx
cmp edi, 1
ja 0x422d65
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x42302f
mov edi, dword [ebp - 0xb4]
xor esi, esi
mov ecx, dword [edx + esi*4]
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
call fcn.00435b90
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x34
push ecx
cmp byte [eax + 0x39], 0
je 0x422fc7
push eax
call fcn.00425170
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x14c]
add esp, 0xc
mov byte [ebp - 0xce], 0
add eax, 0x28
push eax
call fcn.00435c20
jmp 0x422fe8
push dword [eax]
push dword [ebp - 0x5c]
call fcn.004200c0
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x14c]
add esp, 0x10
push eax
mov eax, dword [ebp - 0x74]
push dword [eax]
call fcn.00418a80
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.0041c3d0
push dword [ebp - 0x14c]
mov byte [ebp - 4], 0x33
call fcn.0055c53b
mov edx, dword [ebp - 0xb8]
inc esi
add esp, 4
cmp esi, edi
jb 0x422f51
mov edi, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xa4]
push dword [ebp - 0xb8]
mov byte [ebp - 4], 0x20
call fcn.0055c53b
mov eax, dword [ebp - 0xac]
add esp, 4
mov edx, dword [ebp - 0x128]
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
xor eax, eax
test edx, edx
je 0x42307a
mov ecx, dword [ebp - 0x12c]
add ecx, 0xc
lea ebx, [ebx]
mov dword [ecx], eax
lea ecx, [ecx + 0x10]
inc eax
cmp eax, edx
jb 0x423070
mov eax, edx
mov dword [ebp - 0x58], eax
cmp eax, 1
jbe 0x42334a
mov edi, dword [ebp - 0x12c]
shr eax, 1
add edi, 0xfffffff0
mov edx, eax
mov dword [ebp - 0xcc], edi
shl edx, 4
add edx, edi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x94], edx
lea esp, [esp]
mov esi, dword [edx + 4]
mov ecx, eax
mov eax, dword [edx]
mov dword [ebp - 0x4c], esi
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [ebp - 0x80], edx
mov edx, dword [ebp - 0x68]
add edx, edx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x50], edx
cmp edx, dword [ebp - 0x128]
ja 0x4231a3
mov eax, dword [ebp - 0x128]
cmp edx, eax
jae 0x42312f
mov eax, edx
add eax, eax
cmp byte [edi + eax*8 + 0x18], 0
mov dl, byte [edi + eax*8 + 8]
mov byte [ebp - 0x41], dl
mov edx, dword [ebp - 0x50]
jne 0x423104
cmp byte [ebp - 0x41], 0
je 0x42310a
jmp 0x42312f
cmp byte [ebp - 0x41], 0
je 0x42312b
mov esi, dword [edi + eax*8]
cmp dword [edi + eax*8 + 0x10], esi
jb 0x42312f
ja 0x42312b
mov esi, dword [edi + eax*8 + 4]
mov dword [ebp - 0x84], esi
mov esi, dword [edi + eax*8 + 0x14]
cmp esi, dword [ebp - 0x84]
jbe 0x42312f
inc edx
mov dword [ebp - 0x50], edx
mov eax, edx
shl eax, 4
add eax, edi
cmp byte [ebp - 0x64], 0
mov dword [ebp - 0x74], eax
mov dl, byte [eax + 8]
mov byte [ebp - 0x41], dl
mov edx, dword [ebp - 0x50]
jne 0x423150
cmp byte [ebp - 0x41], 0
je 0x423156
jmp 0x423167
cmp byte [ebp - 0x41], 0
je 0x4231a0
mov esi, dword [ebp - 0x6c]
cmp esi, dword [eax]
jb 0x423167
ja 0x4231a0
mov esi, dword [ebp - 0x4c]
cmp esi, dword [eax + 4]
jae 0x4231a0
mov eax, dword [eax]
shl ecx, 4
add ecx, edi
mov dword [ecx], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, edx
mov eax, dword [ebp - 0x128]
add edx, edx
mov dword [ebp - 0x50], edx
cmp edx, eax
jbe 0x4230e5
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x94]
shl ecx, 4
sub edx, 0x10
add ecx, edi
mov dword [ebp - 0x94], edx
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x64]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x80]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x68]
dec eax
mov dword [ebp - 0x68], eax
test eax, eax
jne 0x4230b0
mov edx, dword [ebp - 0x128]
mov esi, dword [ebp - 0xcc]
shl edx, 4
add edx, edi
mov edi, dword [ebp - 0x8c]
mov eax, dword [edx + 4]
mov ecx, dword [edx]
dec dword [ebp - 0x58]
mov dword [ebp - 0x68], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x78], eax
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 0x10]
mov dword [edx], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x1c]
mov dword [edx + 0xc], eax
sub edx, 0x10
mov eax, dword [ebp - 0x68]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x78]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x80], edx
mov edx, 2
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x6c], ecx
mov ecx, 1
mov dword [ebp - 0x50], edx
cmp eax, edx
jb 0x423315
cmp edx, eax
jae 0x4232a1
mov eax, edx
add eax, eax
cmp byte [esi + eax*8 + 0x18], 0
mov dl, byte [esi + eax*8 + 8]
mov byte [ebp - 0x41], dl
mov edx, dword [ebp - 0x50]
jne 0x423276
cmp byte [ebp - 0x41], 0
je 0x42327c
jmp 0x4232a1
cmp byte [ebp - 0x41], 0
je 0x42329d
mov edi, dword [esi + eax*8 + 0x10]
cmp edi, dword [esi + eax*8]
jb 0x4232a1
ja 0x42329d
mov edi, dword [esi + eax*8 + 0x14]
mov dword [ebp - 0x84], edi
mov edi, dword [esi + eax*8 + 4]
cmp dword [ebp - 0x84], edi
jbe 0x4232a1
inc edx
mov dword [ebp - 0x50], edx
mov eax, edx
shl eax, 4
add eax, esi
cmp byte [ebp - 0x78], 0
mov dword [ebp - 0x74], eax
mov dl, byte [eax + 8]
mov byte [ebp - 0x41], dl
mov edx, dword [ebp - 0x50]
jne 0x4232c2
cmp byte [ebp - 0x41], 0
je 0x4232c8
jmp 0x4232d9
cmp byte [ebp - 0x41], 0
je 0x42330f
mov edi, dword [ebp - 0x6c]
cmp edi, dword [eax]
jb 0x4232d9
ja 0x42330f
mov edi, dword [ebp - 0x68]
cmp edi, dword [eax + 4]
jae 0x42330f
mov eax, dword [eax]
shl ecx, 4
add ecx, esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, edx
mov eax, dword [ebp - 0x58]
add edx, edx
mov dword [ebp - 0x50], edx
cmp edx, eax
jbe 0x423257
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x80]
shl ecx, 4
add ecx, esi
cmp dword [ebp - 0x58], 1
mov dword [ecx], eax
mov eax, dword [ebp - 0x68]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x78]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x4c]
mov dword [ecx + 0xc], eax
ja 0x4231f1
mov esi, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x128]
xor eax, eax
mov dword [ebp - 0x84], eax
test edx, edx
je 0x424f14
lea ebx, [ebx]
shl eax, 4
lea ecx, [ebp - 0x1cc]
add eax, dword [ebp - 0x12c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x9c]
push dword [eax]
call fcn.0041f550
mov eax, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x35
cmp byte [eax + 9], 0
je 0x423399
cmp byte [eax + 0x2b], 0
je 0x423399
mov al, 1
jmp 0x42339b
xor al, al
push eax
push dword [ebp - 0x68]
lea eax, [ebp - 0x1cc]
push eax
call fcn.00420650
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424ec0
mov eax, dword [ebp - 0x68]
cmp byte [eax + 8], 0
je 0x4233ed
cmp byte [ebp - 0x19b], 0
jne 0x423409
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x4233e4
add eax, 8
lea ecx, [ebp - 0x198]
push eax
call fcn.00435c20
mov byte [ebp - 0x19b], 1
jmp 0x423409
mov eax, dword [ebp - 0x198]
xor ecx, ecx
mov byte [ebp - 0x19b], 0
mov dword [ebp - 0x194], 0
mov word [eax], cx
lea eax, [ebp - 0x1cc]
push eax
lea ecx, [ebp - 0x37c]
call fcn.0040e860
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0xf4]
mov byte [ebp - 4], 0x3a
mov eax, dword [eax + 0xc]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xc8], ecx
cmp dword [eax + 0x10], ecx
jbe 0x424224
jmp 0x42344a
mov esi, dword [ebp - 0xa4]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + ecx*8]
lea eax, [eax + ecx*8]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0x68], edx
lea eax, [edx*4]
mov dword [ebp - 0x90], eax
lea ecx, [edx*4]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x24]
mov eax, dword [ecx + eax]
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x78], eax
cmp dword [ecx + 4], eax
jne 0x4237f3
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x42350f
mov ecx, dword [eax]
push 3
push edx
push 2
push eax
call dword [ecx + 0x10]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424eb5
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
mov edx, dword [ebp - 0x90]
mov eax, dword [eax + 0x130]
mov edx, dword [edx + eax]
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x78], ecx
jbe 0x42350f
mov esi, edx
shl esi, 4
lea esp, [esp]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x58]
cmp byte [eax + esi + 0xc], 0
je 0x423503
mov eax, dword [ebp - 0xe0]
inc ecx
push 3
push edx
mov dword [ebp - 0x64], ecx
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x10]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424eb5
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x64]
inc edx
add esi, 0x10
mov dword [ebp - 0x4c], edx
cmp ecx, dword [ebp - 0x78]
jb 0x4234d0
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x90]
push dword [ebp - 0xac]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + edx + 4]
mov eax, dword [eax + edx]
mov edx, dword [esi + eax*8]
mov dword [ebp - 0x58], edx
mov edx, dword [esi + eax*8 + 4]
mov eax, dword [esi + ecx*8]
mov ecx, dword [esi + ecx*8 + 4]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x58]
sub dword [ebp - 0x50], eax
sbb ecx, edx
add eax, dword [esi + 0x110]
mov dword [ebp - 0x58], eax
mov eax, dword [esi + 0x114]
mov esi, dword [ebp - 0x50]
adc eax, edx
mov edx, dword [ebp - 0x58]
push ecx
push esi
push eax
mov eax, dword [ebp - 0xfc]
push edx
mov dword [ebp - 0x4c], ecx
push dword [eax + 0x54]
push dword [ebp - 0xf8]
call fcn.00425360
add esp, 0x1c
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424eb5
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x4c]
add dword [ecx + 0x18], esi
adc dword [ecx + 0x1c], eax
mov ecx, dword [ebp - 0x60]
add ecx, 0x54
call fcn.004111b0
push 0x18
call fcn.0055c4f4
mov esi, eax
mov dword [ebp - 0x4c], eax
add esp, 4
mov dword [ebp - 0x70], esi
test esi, esi
je 0x4235e5
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
jmp 0x4235ea
xor esi, esi
mov dword [ebp - 0x4c], esi
mov edx, dword [ebp - 0x60]
push esi
push dword [ebp - 0x68]
mov ecx, dword [edx + 0x58]
lea eax, [ecx + 1]
mov dword [edx + 0x58], eax
mov eax, dword [edx + 0x54]
mov dword [eax + ecx*4], esi
mov ecx, dword [ebp - 0x5c]
call fcn.004190c0
cmp dword [esi + 0x14], 0
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x64], 0
mov eax, dword [ecx + 0x30]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx + eax]
jbe 0x423704
shl edx, 3
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 8]
mov ecx, dword [edx + eax + 8]
sub ecx, dword [edx + eax]
mov dword [ebp - 0x50], ecx
mov ecx, dword [edx + eax + 0xc]
sbb ecx, dword [edx + eax + 4]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x58], ecx
mov ecx, dword [edx + 0x38]
cmp dword [edx + 0x34], ecx
jne 0x4236cc
cmp ecx, 0x7fffffff
jae 0x4250f8
mov eax, ecx
mov esi, 0x7fffffff
sub esi, ecx
shr eax, 2
inc eax
mov edx, 8
cmp eax, esi
cmovbe esi, eax
add esi, ecx
xor ecx, ecx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov edx, dword [ebp - 0x60]
add esp, 4
mov dword [ebp - 0x68], eax
mov ecx, dword [edx + 0x34]
test ecx, ecx
je 0x4236b2
shl ecx, 3
push ecx
push dword [edx + 0x30]
push eax
call fcn.00560500
mov edx, dword [ebp - 0x60]
add esp, 0xc
push dword [edx + 0x30]
call fcn.0055c53b
mov edx, dword [ebp - 0x60]
add esp, 4
mov eax, dword [ebp - 0x68]
mov dword [edx + 0x38], esi
mov esi, dword [ebp - 0x4c]
mov dword [edx + 0x30], eax
mov ecx, dword [edx + 0x34]
lea eax, [ecx + 1]
mov dword [edx + 0x34], eax
mov eax, dword [edx + 0x30]
mov edx, dword [ebp - 0x50]
mov dword [eax + ecx*8], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + ecx*8 + 4], edx
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x94]
inc eax
add edx, 8
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x94], edx
cmp eax, dword [esi + 0x14]
jb 0x423631
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x90]
mov esi, dword [ebp - 0x60]
mov eax, dword [eax + 0x2c]
mov ecx, dword [eax + edx]
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], eax
cmp ecx, eax
jae 0x424029
jmp 0x423730
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x28]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [esi + 0x2c]
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x68], eax
cmp dword [esi + 0x28], ecx
jne 0x4237c8
cmp ecx, 0x7fffffff
jae 0x4250f8
mov eax, ecx
mov esi, 0x7fffffff
sub esi, ecx
shr eax, 2
inc eax
mov edx, 8
cmp eax, esi
cmovbe esi, eax
add esi, ecx
xor ecx, ecx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov edx, dword [ebp - 0x60]
add esp, 4
mov dword [ebp - 0x64], eax
mov ecx, dword [edx + 0x28]
test ecx, ecx
je 0x4237a9
shl ecx, 3
push ecx
push dword [edx + 0x24]
push eax
call fcn.00560500
mov edx, dword [ebp - 0x60]
add esp, 0xc
push dword [edx + 0x24]
call fcn.0055c53b
mov ecx, dword [ebp - 0x60]
add esp, 4
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x94]
mov dword [ecx + 0x2c], esi
mov esi, ecx
mov dword [ecx + 0x24], eax
mov ecx, dword [esi + 0x28]
lea eax, [ecx + 1]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x24]
mov dword [eax + ecx*8], edx
mov edx, dword [ebp - 0x68]
mov dword [eax + ecx*8 + 4], edx
mov ecx, dword [ebp - 0x4c]
inc ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, dword [ebp - 0x50]
jb 0x423730
jmp 0x424029
xor ecx, ecx
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], ecx
mov eax, dword [ebp - 0xe0]
mov byte [ebp - 4], 0x47
mov dword [ebp - 0x98], ecx
test eax, eax
je 0x42383f
mov ecx, dword [eax]
push 4
push edx
push 2
push eax
call dword [ecx + 0x10]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424e6e
mov ecx, dword [ebp - 0x100]
cmp dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x50], 0
mov eax, dword [eax + 0x130]
mov edx, dword [edx + eax]
jbe 0x42399c
mov eax, edx
lea edx, [esi + edx*4]
shl eax, 4
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x7c], edx
lea ebx, [ebx]
mov esi, dword [ebp - 0x5c]
xor dl, dl
mov dword [ebp - 0x4c], edx
mov esi, dword [esi + 0x58]
add esi, eax
mov dword [ebp - 0x64], esi
cmp byte [esi + 0xc], dl
je 0x4238cf
mov eax, dword [ebp - 0x7c]
inc dword [ebp - 0x98]
mov eax, dword [eax]
test eax, eax
js 0x4238cf
mov esi, dword [ebp - 0x7c]
mov eax, dword [ebp - 0xa0]
movzx edx, dl
mov edi, dword [esi]
mov eax, dword [eax]
mov esi, dword [ebp - 0x64]
mov eax, dword [eax + edi*4]
mov edi, dword [ebp - 0x8c]
cmp byte [eax + 0x38], 0
mov eax, 1
cmove edx, eax
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x104], ecx
jne 0x423946
cmp ecx, 0x7fffffff
jae 0x4250f8
mov eax, ecx
mov esi, 0x7fffffff
shr eax, 2
sub esi, ecx
inc eax
cmp eax, esi
cmovbe esi, eax
add esi, ecx
push esi
call fcn.0055c532
mov ecx, dword [ebp - 0x104]
add esp, 4
mov dword [ebp - 0xa8], eax
test ecx, ecx
je 0x423920
push ecx
push dword [ebp - 0x108]
push eax
call fcn.00560500
add esp, 0xc
push dword [ebp - 0x108]
call fcn.0055c53b
mov eax, dword [ebp - 0xa8]
add esp, 4
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x100], esi
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x104]
lea eax, [ecx + 1]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x108]
mov byte [ecx + eax], dl
test dl, dl
je 0x423973
mov eax, dword [ebp - 0x58]
add eax, dword [esi]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x50]
adc eax, dword [esi + 4]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x94]
add dword [ebp - 0x7c], 4
add eax, 0x10
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x98], ecx
jae 0x42399c
mov ecx, dword [ebp - 0x100]
jmp 0x423880
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xa8], 0
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x70], eax
push 0x1c
mov byte [ebp - 4], 0x4c
mov dword [ebp - 0x7c], 0
call fcn.0055c4f4
mov esi, eax
add esp, 4
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x4239f1
mov dword [esi + 4], vtable.ICompressGetSubStreamSize.0
mov dword [esi + 8], 0
mov dword [esi], vtable.NArchive::N7z::CRepackInStreamWithSizes.0
mov dword [esi + 4], vtable.NArchive::N7z::CRepackInStreamWithSizes.1.0
mov dword [esi + 0xc], 0
jmp 0x4239f3
xor esi, esi
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x94], esi
test esi, esi
je 0x423a15
mov eax, dword [esi]
mov eax, dword [eax + 4]
cmp eax, method.CSequentialInStreamSizeCount2.virtual_4
jne 0x423a12
inc dword [esi + 8]
jmp 0x423a15
push esi
call eax
mov eax, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x4e
cmp byte [eax + 0x2b], 0
je 0x423b21
mov eax, dword [ebp - 0x230]
test eax, eax
je 0x423a3e
add eax, 8
mov dword [ebp - 0x98], eax
jmp 0x423a48
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x74], 0
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x4f
push eax
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x200]
call fcn.00431e90
lea ecx, [ebp - 0x200]
call fcn.00431f20
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424dd0
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x64], ecx
test ecx, ecx
je 0x423a9b
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x423aa8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x64]
mov dword [ecx + 0x34], eax
mov ecx, dword [ebp - 0xf8]
test ecx, ecx
je 0x423ac1
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x423ad1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x21c], edx
mov eax, dword [edx + 0x110]
mov ecx, dword [edx + 0x114]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x74]
mov byte [ebp - 4], 0x57
test eax, eax
je 0x423b18
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4e
jmp 0x423c99
push 0x40
call fcn.0055c4f4
add esp, 4
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x1dc], eax
test eax, eax
je 0x423b7a
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 0x30], 0
mov dword [eax], vtable.NArchive::N7z::CFolderInStream2.0
mov dword [eax + 0x38], 0
push 0x10000
mov byte [ebp - 4], 0x5a
mov dword [eax + 0x3c], 0
call fcn.0055c532
mov ecx, dword [ebp - 0x7c]
add esp, 4
mov dword [ecx + 0x34], eax
jmp 0x423b7f
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
mov eax, dword [ecx]
mov byte [ebp - 4], 0x4e
mov dword [ecx + 0x3c], 0
mov eax, dword [eax + 4]
cmp eax, method.NArchive::N7z::CFolderOutStream2.virtual_4
jne 0x423b9b
inc dword [ecx + 0x30]
jmp 0x423b9e
push ecx
call eax
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x423bae
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x7c]
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0xa8], eax
add eax, 8
mov dword [ebp - 0x98], eax
mov byte [ebp - 0x52], 0
mov byte [ebp - 0x51], 0
call fcn.00435b90
mov dword [ebp - 0x138], 0
push 0
push 0
push 1
push 0
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 0x5c
push eax
lea eax, [ebp - 0x51]
mov byte [ebp - 0x85], 0
push eax
lea eax, [ebp - 0x52]
push eax
push edi
lea eax, [ebp - 0x85]
push eax
lea eax, [ebp - 0x138]
push eax
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x2a0]
push 0
push 0
push 0
push dword [ebp - 0x68]
push eax
push dword [eax + 0x114]
push dword [eax + 0x110]
push dword [ebp - 0xf8]
call fcn.0040d260
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], ecx
test eax, eax
jne 0x424e30
test ecx, ecx
je 0x424e28
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x423c6a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x4c]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0x138]
mov byte [ebp - 4], 0x6b
test eax, eax
je 0x423c87
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x11c]
mov byte [ebp - 4], 0x4e
call fcn.0055c53b
add esp, 4
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x5c]
mov dword [eax + 0x1c], ecx
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x4c], ecx
test ecx, ecx
je 0x423cbe
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x423ccb
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x4c]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x4c], ecx
test ecx, ecx
je 0x423cea
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x423cfd
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x90]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x130]
mov eax, dword [edx + eax]
mov dword [ebp - 0x4c], eax
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0x108]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x18], 0
mov byte [ecx + 1], 0
call fcn.00420cb0
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424e4c
mov eax, dword [ebp - 0x5c]
mov dword [esi + 0x18], eax
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x4c]
mov dword [esi + 0x14], eax
lea eax, [ebp - 0x108]
mov dword [ebp - 0x64], ecx
mov dword [esi + 0x10], eax
test ecx, ecx
je 0x423d6d
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x423d7a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x64]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x9c]
cmp byte [eax + 0x2b], 0
je 0x423da2
lea ecx, [ebp - 0x2b4]
call fcn.00432620
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424de3
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x158], eax
add ecx, 0x54
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x4c], eax
call fcn.004111b0
push 0x18
call fcn.0055c4f4
mov edx, eax
add esp, 4
mov dword [ebp - 0x64], edx
test edx, edx
je 0x423e09
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
jmp 0x423e0b
xor edx, edx
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp - 0x60]
push dword [ebp - 0xac]
mov ecx, dword [eax + 0x58]
lea eax, [ecx + 1]
mov dword [edi + 0x58], eax
mov eax, edi
mov eax, dword [eax + 0x54]
mov dword [eax + ecx*4], edx
mov ecx, edi
lea eax, [ecx + 0x30]
push eax
push dword [ebp - 0x4c]
lea eax, [ebp - 0x158]
push eax
lea eax, [ecx + 0x24]
push eax
push edx
lea eax, [ebp - 0x134]
push eax
push esi
lea ecx, [ebp - 0x37c]
call fcn.0040f7f0
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x48], eax
cmp eax, 0x20000002
je 0x424e1e
mov ecx, dword [ebp - 0x9c]
cmp byte [ecx + 0x2b], 0
je 0x423f44
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0xa8]
xor esi, esi
mov dword [ebp - 0x94], esi
test eax, eax
je 0x423e98
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0xa8], esi
push dword [ebp - 0x2ac]
call fcn.0040c7a0
add esp, 4
test eax, eax
jne 0x424df2
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x4c], eax
cmp eax, 1
je 0x423ecf
cmp byte [ebp - 0x23c], 0
jne 0x423ecf
test eax, eax
jne 0x424dfb
jmp 0x423f1b
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x423f12
mov ecx, dword [eax]
mov edx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x5c]
mov ecx, dword [ecx + 0x130]
mov edx, dword [edx + ecx]
xor ecx, ecx
cmp dword [ebp - 0x4c], ecx
sete cl
lea ecx, [ecx*4 + 2]
push ecx
push edx
push 1
push eax
call dword [ebp - 0x64]
test eax, eax
jne 0x424dfb
cmp dword [ebp - 0x4c], esi
jne 0x424e1e
cmp dword [ebp - 0x48], esi
jne 0x424e4c
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x1e8], eax
jne 0x424e1e
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x1e4], eax
jne 0x424e1e
jmp 0x423f63
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx + 0x3c]
cmp ecx, 1
je 0x424e00
test ecx, ecx
jne 0x424df9
test eax, eax
jne 0x424e4c
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x4c], 0
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [edx + 0x18]
cmp eax, ecx
mov edx, 0x80004005
cmove edx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], edx
jne 0x424e4c
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x158], eax
jne 0x424e1e
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x154], eax
jne 0x424e1e
mov byte [ebp - 4], 0xba
test esi, esi
je 0x423fb9
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0xa8]
mov byte [ebp - 4], 0xbb
test eax, eax
je 0x423fcd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x70]
cmp edx, dword [esi + 0x34]
jae 0x423fff
mov edi, dword [ebp - 0xac]
mov edi, edi
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
add dword [edi + 0x28], ecx
adc eax, dword [edi + 0x2c]
inc edx
mov dword [edi + 0x2c], eax
cmp edx, dword [esi + 0x34]
jb 0x423fe0
mov edi, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x158]
push dword [ebp - 0x108]
mov byte [ebp - 4], 0x3a
add dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x154]
adc dword [ecx + 0x24], eax
call fcn.0055c53b
add esp, 4
mov eax, dword [ebp - 0xcc]
mov ecx, dword [esi + 0x20]
mov eax, dword [eax + 4]
mov dword [ebp - 0x4c], eax
cmp dword [esi + 0x1c], ecx
jne 0x4240b1
cmp ecx, 0x7fffffff
jae 0x4250f8
mov eax, ecx
mov esi, 0x7fffffff
sub esi, ecx
shr eax, 2
inc eax
mov edx, 4
cmp eax, esi
cmovbe esi, eax
add esi, ecx
xor ecx, ecx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov edx, dword [ebp - 0x60]
add esp, 4
mov dword [ebp - 0x70], eax
mov ecx, dword [edx + 0x1c]
test ecx, ecx
je 0x424098
shl ecx, 2
push ecx
push dword [edx + 0x18]
push eax
call fcn.00560500
mov edx, dword [ebp - 0x60]
add esp, 0xc
push dword [edx + 0x18]
call fcn.0055c53b
mov ecx, dword [ebp - 0x60]
add esp, 4
mov eax, dword [ebp - 0x70]
mov dword [ecx + 0x20], esi
mov esi, ecx
mov dword [ecx + 0x18], eax
cmp dword [ebp - 0x78], 0
mov ecx, dword [esi + 0x1c]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], 0
lea eax, [ecx + 1]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x18]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x90]
mov eax, dword [eax + 0x130]
mov ecx, dword [ecx + eax]
mov dword [ebp - 0x58], ecx
jbe 0x42420b
mov esi, dword [ebp - 0xa4]
mov edi, ecx
mov edx, dword [ebp - 0x50]
shl edi, 4
jmp 0x424100
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x58]
cmp byte [edi + eax + 0xc], 0
je 0x4241f5
inc edx
mov dword [ebp - 0x50], edx
mov edx, dword [esi + ecx*4]
test edx, edx
js 0x4241f2
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x4c], eax
cmp byte [eax + 0x38], 0
jne 0x4241f2
lea ecx, [ebp - 0x1d8]
call fcn.00435b90
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xbc
push eax
lea eax, [ebp - 0x180]
mov dword [ebp - 0x180], 0
push eax
push dword [ebp - 0x58]
mov dword [ebp - 0x17c], 0
push dword [ebp - 0x5c]
mov dword [ebp - 0x178], 0
call fcn.004200c0
mov eax, dword [ebp - 0x4c]
add esp, 0x10
cmp byte [eax + 0x39], 0
je 0x4241b1
lea ecx, [ebp - 0x40]
push ecx
push eax
call fcn.00425110
mov ecx, dword [ebp - 0x4c]
add esp, 8
mov al, byte [ecx + 0x3b]
mov byte [ebp - 0x173], al
lea eax, [ecx + 0x28]
push eax
lea ecx, [ebp - 0x1d8]
call fcn.00435c20
jmp 0x4241c3
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x1d8]
push eax
push dword [ebp - 0x58]
call fcn.00418a80
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x180]
push eax
call fcn.0041c3d0
push dword [ebp - 0x1d8]
mov byte [ebp - 4], 0x3a
call fcn.0055c53b
mov ecx, dword [ebp - 0x58]
add esp, 4
mov edx, dword [ebp - 0x50]
inc ecx
add edi, 0x10
mov dword [ebp - 0x58], ecx
cmp edx, dword [ebp - 0x78]
jb 0x424100
mov edi, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x80]
inc ecx
mov dword [ebp - 0xc8], ecx
cmp ecx, dword [eax + 0x10]
jb 0x423444
mov esi, dword [eax + 4]
mov dword [ebp - 0x90], esi
test esi, esi
je 0x424d4b
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x168], 0
mov byte [ebp - 4], 0xbd
mov dword [ebp - 0x16c], 0
cmp esi, 0x7fffffff
ja 0x4250f8
push 0
call fcn.0055c53b
xor ecx, ecx
mov dword [ebp - 0x170], 0
mov eax, esi
mov dword [ebp - 0x168], 0
mov edx, 0x14
mov dword [ebp - 0x70], esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov ecx, eax
add esp, 8
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x16c], esi
xor esi, esi
mov byte [ebp - 4], 0xbd
mov al, byte [eax + 0x29]
mov dword [ebp - 0x170], ecx
mov byte [ebp - 0x41], al
mov dword [ebp - 0x64], esi
cmp dword [ebp - 0x90], esi
jbe 0x4244a4
mov dword [ebp - 0x94], ecx
lea ebx, [ebx]
mov eax, dword [ebp - 0x80]
xor edx, edx
xor edi, edi
mov eax, dword [eax]
mov ecx, dword [eax + esi*4]
xor esi, esi
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x50], eax
cmp byte [ebp - 0x41], dl
je 0x424462
lea ecx, [eax + 0x28]
call fcn.00436240
mov ecx, dword [ebp - 0x50]
mov esi, eax
push 0x2e
lea eax, [esi + 1]
lea ecx, [ecx + 0x28]
mov dword [ebp - 0x58], eax
call fcn.00436200
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x2c]
cmp eax, esi
jg 0x424339
mov esi, ecx
jmp 0x42445f
lea esi, [eax + 1]
mov dword [ebp - 0x70], esi
cmp esi, ecx
je 0x42445f
lea ecx, [ebp - 0x164]
call fcn.00435aa0
mov ecx, dword [ebp - 0x50]
add esi, esi
mov byte [ebp - 4], 0xbf
mov eax, dword [ecx + 0x28]
mov ecx, 0x80
movzx eax, word [esi + eax]
mov dword [ebp - 0x4c], eax
cmp ax, cx
jae 0x42444a
mov edx, dword [ebp - 0x160]
lea esp, [esp]
test ax, ax
je 0x4243ee
lea ecx, [eax - 0x41]
add al, 0x20
movzx eax, al
cmp cl, 0x19
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x68]
movzx eax, al
cmova ecx, eax
mov dword [ebp - 0x68], ecx
cmp dword [ebp - 0x15c], edx
jne 0x4243be
lea ecx, [ebp - 0x164]
call fcn.00435f60
mov edx, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x164]
add esi, 2
mov byte [eax + edx], cl
inc edx
mov ecx, dword [ebp - 0x50]
mov byte [eax + edx], 0
mov eax, dword [ecx + 0x28]
mov ecx, 0x80
mov dword [ebp - 0x160], edx
movzx eax, word [esi + eax]
mov dword [ebp - 0x4c], eax
cmp ax, cx
jb 0x424380
jmp 0x42444a
mov ecx, dword [str._7z_xz_lzma_ace_arc_arj_bz_tbz_bz2_tbz2_cab_deb_gz_tgz_ha_lha_lzh_lzo_lzx_pak_rar_rpm_sit_zoo_zip_jar_ear_war_msi_3gp_avi_mov_mpeg_mpg_mpe_wmv_aac_ape_fla_flac_la_mp3_m4a_mp4_ofr_ogg_pac_ra_rm_rka_shn_swa_tta_wv_wma_wav_swf_chm_hxi_hxs_gif_jpeg_jpg_jp2_png_tiff__bmp_ico_psd_psp_awg_ps_eps_cgm_dxf_svg_vrml_wmf_emf_ai_md_cad_dwg_pps_key_sxi_max_3ds_iso_bin_nrg_mdf_img_pdi_tar_cpio_xpi_vfd_vhd_vud_vmc_vsv_vmdk_dsk_nvram_vmem_vmsd_vmsn_vmss_vmtm_inl_inc_idl_acf_asa_h_hpp_hxx_c_cpp_cxx_m_mm_go_swift_rc_java_cs_rs_pas_bas_vb_cls_ctl_frm_dlg_def_f77_f_f90_f95_asm_s_sql_manifest_dep_mak_clw_csproj_vcproj_sln_dsp_dsw_class_bat_cmd_bash_sh_xml_xsd_xsl_xslt_hxk_hxc_htm_html_xhtml_xht_mht_mhtml_htw_asp_aspx_css_cgi_jsp_shtml_awk_sed_hta_js_json_php_php3_php4_php5_phptml_pl_pm_py_pyo_rb_tcl_ts_vbs_text_txt_tex_ans_asc_srt_reg_ini_doc_docx_mcw_dot_rtf_hlp_xls_xlr_xlt_xlw_ppt_pdf_sxc_sxd_sxi_sxg_sxw_stc_sti_stw_stm_odt_ott_odg_otg_odp_otp_ods_ots_odf_abw_afp_cwk_lwp_wpd_wps_wpt_wrf_wri_abf_afm_bdf_fon_mgf_otf_pcf_pfa_snf_ttf_dbf_mdb_nsf_ntf_wdb_db_fdb_gdb_exe_dll_ocx_vbx_sfx_sys_tlb_awx_com_obj_lib_out_o_so_pdb_pch_idb_ncb_opt]
mov edi, 1
mov dword [ebp - 0x68], edi
mov al, byte [ecx]
inc ecx
test al, al
je 0x42444a
mov edi, dword [ebp - 0x164]
lea esp, [esp]
cmp al, 0x20
je 0x424440
mov esi, edi
mov dl, byte [esi]
lea esi, [esi + 1]
test dl, dl
jne 0x424427
test al, al
je 0x424447
cmp al, 0x20
je 0x424447
cmp al, dl
jne 0x424430
mov al, byte [ecx]
inc ecx
jmp 0x424416
inc dword [ebp - 0x68]
test al, al
je 0x424447
cmp al, 0x20
je 0x424440
mov al, byte [ecx]
inc ecx
jmp 0x424433
mov al, byte [ecx]
inc ecx
test al, al
jne 0x424410
mov edi, dword [ebp - 0x68]
push dword [ebp - 0x164]
mov byte [ebp - 4], 0xbd
call fcn.0055c53b
mov esi, dword [ebp - 0x70]
add esp, 4
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x50]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x64]
mov dword [eax + 0xc], edx
inc esi
mov dword [eax + 0x10], edi
add eax, 0x14
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x94], eax
cmp esi, dword [ebp - 0x90]
jb 0x4242e0
mov edi, dword [ebp - 0x8c]
mov al, byte [ebp - 0x41]
mov byte [ebp - 0xe1], al
lea ecx, [ebp - 0x170]
lea eax, [ebp - 0xe1]
push eax
push 0x41fe40
call fcn.00421830
mov eax, dword [ebp - 0x90]
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov esi, eax
add esp, 4
mov dword [ebp - 0x68], esi
xor ecx, ecx
mov byte [ebp - 4], 0xc0
cmp dword [ebp - 0x90], ecx
jbe 0x424d3a
mov edx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x90]
add edx, 4
mov eax, dword [edx]
lea edx, [edx + 0x14]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edi
jb 0x424503
mov edi, dword [ebp - 0x8c]
xor eax, eax
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x58], eax
xor edx, edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x7c], edx
cmp eax, ecx
jae 0x424610
mov edi, edx
jmp 0x424543
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp ecx, dword [ebp - 0x150]
ja 0x424605
jb 0x42455f
cmp edi, dword [ebp - 0x13c]
jae 0x424605
add eax, edi
mov ecx, dword [esi + eax*4]
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x9c]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x64], eax
add edx, dword [eax + 0x20]
mov dword [ebp - 0x50], edx
adc ecx, dword [eax + 0x24]
cmp ecx, dword [esi + 0x24]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x78], ecx
ja 0x424605
mov ecx, dword [ebp - 0x9c]
jb 0x42459c
cmp edx, dword [ecx + 0x20]
ja 0x424605
cmp byte [ecx + 0x28], 0
je 0x4245f0
add eax, 0x28
mov ecx, eax
mov dword [ebp - 0x80], eax
call fcn.00436240
mov ecx, dword [ebp - 0x80]
push 0x2e
mov dword [ebp - 0x70], eax
call fcn.00436200
cmp eax, dword [ebp - 0x70]
jg 0x4245c9
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x2c]
jmp 0x4245cc
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
lea eax, [eax + ecx*2]
test edi, edi
jne 0x4245dd
mov dword [ebp - 0x4c], eax
jmp 0x4245ed
push dword [ebp - 0x4c]
push eax
call fcn.004363e0
add esp, 8
test al, al
je 0x424605
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x58]
inc edi
add eax, edi
mov dword [ebp - 0x7c], edi
cmp eax, dword [ebp - 0x90]
jb 0x424540
cmp edi, 1
mov edi, dword [ebp - 0x8c]
jae 0x424617
mov dword [ebp - 0x7c], 1
mov ecx, dword [ebp - 0xac]
call fcn.00431db0
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424ea4
push 0xb8
call fcn.0055c4f4
mov ecx, eax
mov dword [ebp - 0x98], eax
add esp, 4
mov dword [ebp - 0x70], ecx
test ecx, ecx
je 0x42474e
mov dword [ecx + 4], vtable.ICompressGetSubStreamSize.0
mov dword [ecx + 8], 0
mov dword [ecx], vtable.NArchive::N7z::CFolderInStream.0
mov dword [ecx + 4], vtable.NArchive::N7z::CFolderInStream.1.0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x4c], 0
mov dword [ecx + 0x50], 0
mov dword [ecx + 0x54], 0
mov dword [ecx + 0x58], 0
mov dword [ecx + 0x5c], 0
mov dword [ecx + 0x60], 0
mov dword [ecx + 0x64], 0
mov dword [ecx + 0x68], 0
mov dword [ecx + 0x6c], 0
mov dword [ecx + 0x70], 0
mov dword [ecx + 0x74], 0
mov dword [ecx + 0x78], 0
mov dword [ecx + 0x7c], 0
mov dword [ecx + 0x80], 0
mov dword [ecx + 0x84], 0
mov dword [ecx + 0x88], 0
mov dword [ecx + 0x8c], 0
mov dword [ecx + 0x90], 0
mov dword [ecx + 0x94], 0
mov dword [ecx + 0x98], 0
mov dword [ecx + 0x9c], 0
mov dword [ecx + 0xa0], 0
mov dword [ecx + 0xa4], 0
mov dword [ecx + 0xa8], 0
mov dword [ecx + 0xac], 0
mov dword [ecx + 0xb0], 0
jmp 0x424756
xor ecx, ecx
mov dword [ebp - 0x98], ecx
mov byte [ebp - 4], 0xc4
mov dword [ebp - 0x1e0], ecx
test ecx, ecx
je 0x42477e
mov eax, dword [ecx]
mov eax, dword [eax + 4]
cmp eax, method.CSequentialInStreamSizeCount2.virtual_4
jne 0x424775
inc dword [ecx + 8]
jmp 0x42477e
push ecx
call eax
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x9c]
push dword [ebp - 0x7c]
mov byte [ebp - 4], 0xc5
mov al, byte [edx + 0x2c]
mov byte [ecx + 0xb0], al
mov al, byte [edx + 0x2d]
mov byte [ecx + 0xb1], al
mov al, byte [edx + 0x2e]
mov byte [ecx + 0xb2], al
mov al, byte [edx + 0x2f]
mov byte [ecx + 0xb3], al
mov eax, dword [ebp - 0x58]
lea eax, [esi + eax*4]
push eax
push dword [ebp - 0x10c]
mov dword [ebp - 0xcc], eax
call fcn.00412b00
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + 0x34]
lea ecx, [ecx + 0x54]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x70], eax
call fcn.004111b0
push 0x18
call fcn.0055c4f4
mov edx, eax
add esp, 4
mov dword [ebp - 0x4c], edx
test edx, edx
je 0x424834
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
jmp 0x424836
xor edx, edx
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp - 0x60]
push dword [ebp - 0xac]
mov ecx, dword [eax + 0x58]
lea eax, [ecx + 1]
mov dword [edi + 0x58], eax
mov eax, edi
mov eax, dword [eax + 0x54]
mov dword [eax + ecx*4], edx
mov ecx, edi
lea eax, [ecx + 0x30]
push eax
push dword [ebp - 0x70]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0xb4]
push eax
lea eax, [ecx + 0x24]
push eax
push edx
lea eax, [ebp - 0x134]
push eax
push dword [ebp - 0x98]
lea ecx, [ebp - 0x37c]
call fcn.0040f7f0
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424e94
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx + 0x54]
cmp eax, dword [ecx + 0x44]
jne 0x424e8c
mov eax, dword [ebp - 0x60]
xor edx, edx
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x78], edx
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x64], edx
cmp ecx, eax
jae 0x42496a
sub eax, ecx
cmp eax, 2
jb 0x42493d
mov esi, dword [ebp - 0x60]
mov eax, dword [esi + 0x34]
dec eax
mov dword [ebp - 0x70], eax
mov eax, edx
mov edi, edi
mov edi, dword [ebp - 0xc8]
mov esi, dword [edi]
mov edi, dword [ebp - 0x78]
add edx, dword [esi + ecx*8]
adc eax, dword [esi + ecx*8 + 4]
add edi, dword [esi + ecx*8 + 8]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x78], edi
mov edi, dword [eax]
mov eax, dword [ebp - 0x50]
adc esi, dword [edi + ecx*8 + 0xc]
add ecx, 2
mov dword [ebp - 0x48], esi
cmp ecx, dword [ebp - 0x70]
jb 0x4248e0
mov edi, dword [ebp - 0x78]
mov dword [ebp - 0x78], edi
mov edi, esi
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x48], edi
mov edi, ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x50], eax
cmp edi, dword [esi + 0x34]
mov esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x8c]
jae 0x424958
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
mov esi, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x4c], esi
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x50]
add edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
add ecx, edx
mov edx, dword [ebp - 0x64]
adc edx, eax
jmp 0x42496e
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x4c], 0
add dword [eax + 0x28], ecx
mov ecx, dword [ebp - 0xb0]
adc dword [eax + 0x2c], edx
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb4]
add dword [edx + 0x20], eax
adc dword [edx + 0x24], ecx
xor edx, edx
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x7c], edx
jbe 0x424c0f
mov ecx, dword [ebp - 0xcc]
jmp 0x4249d0
mov ecx, dword [ecx]
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
call fcn.00435b90
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x40]
push ecx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0xcc
push ecx
cmp byte [eax + 0x39], 0
je 0x424a3e
push eax
call fcn.00425170
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
add esp, 0xc
add eax, 0x28
push eax
call fcn.00435c20
jmp 0x424a5f
push dword [eax]
push dword [ebp - 0x5c]
call fcn.004200c0
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x14c]
add esp, 0x10
push eax
mov eax, dword [ebp - 0x50]
push dword [eax]
call fcn.00418a80
cmp byte [ebp - 0x17], 0
jne 0x424e7e
cmp byte [ebp - 0xcf], 0
jne 0x424e7e
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x48]
mov eax, dword [edx + 0x50]
cmp byte [ecx + eax], 0
jne 0x424aa2
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x64]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebp - 0x4c]
adc ecx, dword [eax + 0x24]
mov dword [ebp - 0x4c], ecx
jmp 0x424bcc
mov eax, dword [edx + 0x5c]
lea edi, [ecx*4]
mov dword [ebp - 0x70], edi
mov eax, dword [edi + eax]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0xd4], eax
mov eax, dword [edx + 0x68]
mov ecx, dword [eax + ecx*8]
mov eax, dword [eax + edi*8 + 4]
add dword [ebp - 0xc8], ecx
mov dword [ebp - 0xdc], ecx
adc dword [ebp - 0x78], eax
or ecx, eax
mov dword [ebp - 0xd8], eax
je 0x424af4
inc dword [ebp - 0x94]
mov byte [ebp - 0xce], 1
mov byte [ebp - 0xd0], 1
jmp 0x424b02
mov byte [ebp - 0xce], 0
mov byte [ebp - 0xd0], 0
mov eax, dword [edx + 0xa4]
mov ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x8c]
cmp byte [ecx + eax], 0
je 0x424bb2
cmp byte [edx + 0xb0], 0
je 0x424b41
mov eax, dword [edx + 0x74]
mov esi, dword [ebp - 0x48]
mov byte [ebp - 0x1c], 1
mov ecx, dword [eax + ecx*8]
mov eax, dword [eax + esi*8 + 4]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
cmp byte [edx + 0xb1], 0
je 0x424b6a
mov eax, dword [edx + 0x80]
mov edi, dword [ebp - 0x48]
mov byte [ebp - 0x1b], 1
mov ecx, dword [eax + ecx*8]
mov eax, dword [eax + edi*8 + 4]
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], eax
cmp byte [edx + 0xb2], 0
je 0x424b96
mov eax, dword [edx + 0x8c]
mov ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x48]
mov byte [ebp - 0x1a], 1
mov ecx, dword [eax + ecx*8]
mov eax, dword [eax + edi*8 + 4]
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], eax
cmp byte [edx + 0xb3], 0
je 0x424bb2
mov eax, dword [edx + 0x98]
mov ecx, dword [ebp - 0x70]
mov byte [ebp - 0x18], 1
mov eax, dword [ecx + eax]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x14c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xdc]
push eax
call fcn.0041c3d0
push dword [ebp - 0x14c]
mov byte [ebp - 4], 0xc5
call fcn.0055c53b
mov eax, dword [ebp - 0x48]
add esp, 4
mov ecx, dword [ebp - 0xcc]
inc eax
add ecx, 4
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xcc], ecx
cmp eax, dword [ebp - 0x7c]
jb 0x4249d0
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xc8]
cmp edx, eax
jne 0x424e8c
cmp dword [ebp - 0x78], ecx
jne 0x424e8c
mov edx, dword [ebp - 0x60]
mov ecx, dword [edx + 0x20]
cmp dword [edx + 0x1c], ecx
jne 0x424ca3
cmp ecx, 0x7fffffff
jae 0x4250f8
mov eax, ecx
mov edx, 0x7fffffff
sub edx, ecx
shr eax, 2
inc eax
cmp eax, edx
cmovbe edx, eax
add edx, ecx
xor ecx, ecx
mov dword [ebp - 0x80], edx
mov eax, edx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0055c532
mov edx, dword [ebp - 0x60]
add esp, 4
mov dword [ebp - 0x70], eax
mov ecx, dword [edx + 0x1c]
test ecx, ecx
je 0x424c89
shl ecx, 2
push ecx
push dword [edx + 0x18]
push eax
call fcn.00560500
mov edx, dword [ebp - 0x60]
add esp, 0xc
push dword [edx + 0x18]
call fcn.0055c53b
mov edx, dword [ebp - 0x60]
add esp, 4
mov eax, dword [ebp - 0x70]
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x80]
mov dword [edx + 0x20], eax
mov ecx, dword [edx + 0x1c]
lea eax, [ecx + 1]
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x18]
mov edx, dword [ebp - 0x94]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], eax
mov eax, ecx
or eax, edx
je 0x424d15
cmp dword [ebp - 0xc4], edx
jb 0x424d15
mov eax, dword [ebp - 0xc0]
ja 0x424ce1
cmp eax, ecx
jb 0x424d15
sub eax, ecx
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xc0], eax
sbb ecx, edx
mov edx, dword [ebp - 0x10c]
push ecx
push dword [ebp - 0xc0]
mov dword [ebp - 0xc4], ecx
mov eax, dword [edx]
push edx
call dword [eax + 0xc]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424e94
mov ecx, dword [ebp - 0x98]
push ecx
mov byte [ebp - 4], 0xd7
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x90]
mov byte [ebp - 4], 0xc0
cmp eax, ecx
jb 0x424521
push esi
call fcn.0055c53b
push dword [ebp - 0x6c]
call fcn.0055c53b
add esp, 8
lea ecx, [ebp - 0x37c]
call fcn.0040ec90
mov ecx, dword [ebp - 0x198]
mov byte [ebp - 4], 0x20
test ecx, ecx
je 0x424d8d
mov eax, dword [ebp - 0x190]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.00560a80
mov ecx, dword [ebp - 0x198]
add esp, 0xc
mov dword [ebp - 0x194], 0
push ecx
call fcn.0055c53b
push dword [ebp - 0x1c0]
call fcn.0055c53b
add esp, 8
lea ecx, [ebp - 0x1cc]
call fcn.0040eb50
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp eax, dword [ebp - 0x128]
jae 0x424f14
mov esi, dword [ebp - 0xa4]
jmp 0x423360
mov eax, dword [ebp - 0x74]
mov byte [ebp - 4], 0x50
test eax, eax
je 0x424e4c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x424e4c
jle 0x424e4c
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0x48], eax
jmp 0x424e4c
jg 0x424de5
mov dword [ebp - 0x48], eax
jmp 0x424e4c
mov eax, ecx
mov dword [ebp - 0x48], eax
jmp 0x424e4c
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x424e1e
mov ecx, dword [eax]
push 2
push dword [ebp - 0x68]
push 2
push eax
call dword [ecx + 0x14]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424e4c
mov eax, 0x80004005
mov dword [ebp - 0x48], eax
jmp 0x424e4c
mov eax, 0x80004005
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x64
test ecx, ecx
je 0x424e3e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push dword [ebp - 0x11c]
call fcn.0055c53b
add esp, 4
mov byte [ebp - 4], 0xb4
test esi, esi
je 0x424e5a
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0xa8]
mov byte [ebp - 4], 0xb5
test eax, eax
je 0x424e6e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x108]
call fcn.0055c53b
add esp, 4
jmp 0x424eb5
push dword [ebp - 0x14c]
call fcn.0055c53b
add esp, 4
mov eax, 0x80004005
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x98]
push ecx
mov byte [ebp - 4], 0xd3
mov eax, dword [ecx]
call dword [eax + 8]
push esi
call fcn.0055c53b
push dword [ebp - 0x6c]
call fcn.0055c53b
add esp, 8
lea ecx, [ebp - 0x37c]
call fcn.0040ec90
mov ecx, dword [ebp - 0x198]
test ecx, ecx
je 0x424ef3
mov eax, dword [ebp - 0x190]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.00560a80
mov ecx, dword [ebp - 0x198]
add esp, 0xc
mov dword [ebp - 0x194], 0
push ecx
call fcn.0055c53b
push dword [ebp - 0x1c0]
call fcn.0055c53b
add esp, 8
lea ecx, [ebp - 0x1cc]
call fcn.0040eb50
jmp 0x424f50
mov ecx, dword [ebp - 0xac]
call fcn.00431db0
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424f50
mov ecx, dword [ebp - 0x60]
call fcn.00421420
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x424f4b
mov ecx, dword [eax]
push 7
push 0xffffffffffffffff
push 0
push eax
call dword [ecx + 0x10]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424f50
xor eax, eax
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0xde
test edi, edi
je 0x424f5e
mov eax, dword [edi]
push edi
call dword [eax + 8]
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0xdf
mov dword [ebp - method.NArchive::N7z::CThreadDecoder.virtual_0], vtable.NArchive::N7z::CThreadDecoder.0
call fcn.00432640
mov ecx, dword [ebp - 0x214]
mov byte [ebp - 4], 0xe0
test ecx, ecx
je 0x424f8b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x22c]
mov byte [ebp - 4], 0xe1
test ecx, ecx
je 0x424f9f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x234]
mov byte [ebp - 4], 0xe2
test ecx, ecx
je 0x424fb3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea ecx, [ebp - 0x2a0]
call fcn.00411590
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0xe3
mov dword [ebp - method.ISequentialInStream.virtual_0], vtable.CVirtThread.0
call fcn.00432640
lea eax, [ebp - 0x2a8]
push eax
call fcn.0040c760
lea eax, [ebp - 0x2ac]
push eax
call fcn.0040c760
lea eax, [ebp - 0x2b0]
push eax
call fcn.0040c760
lea eax, [ebp - 0x1fc]
push eax
call fcn.0040c760
lea eax, [ebp - 0x200]
push eax
call fcn.0040c760
add esp, 0x14
mov ecx, dword [ebp - 0xac]
mov byte [ebp - 4], 0xe4
test ecx, ecx
je 0x42502a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edi, dword [ebp - 0xe8]
test edi, edi
je 0x42506d
mov eax, dword [ebp - 0xf4]
lea ebx, [ebx]
mov esi, dword [eax + edi*4 - 4]
dec edi
test esi, esi
je 0x425069
push dword [esi + 0xc]
call fcn.0055c53b
push dword [esi]
call fcn.0055c53b
push 0x18
push esi
call fcn.0055c524
mov eax, dword [ebp - 0xf4]
add esp, 0x10
test edi, edi
jne 0x425040
push dword [ebp - 0xf4]
call fcn.0055c53b
push dword [ebp - 0x12c]
call fcn.0055c53b
push dword [ebp - 0xa4]
call fcn.0055c53b
mov esi, dword [ebp - 0x48]
add esp, 0xc
mov eax, dword [ebp - 0x110]
mov byte [ebp - 4], 0xe5
test eax, eax
je 0x4250a8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 4], 0xe6
test ecx, ecx
je 0x4250bf
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055c3a9
mov esp, ebp
pop ebp
ret
push 0x5f7c98
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0x7e5
push eax
call fcn.00560f5e
push 0x5f7c98
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], 0x7e5
push eax
call fcn.00560f5e
int3