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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5982d4
mov eax, dword fs:[0]
push eax
sub esp, 0x370
mov eax, dword [0x63434c]
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 0x421b4c
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 0x5b31dc
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 0x5b313c
push ecx
mov eax, dword [ecx]
mov byte [ebp - 4], 1
call dword [eax]
test edi, edi
je 0x421bd8
mov ecx, dword [edi + 0x104]
mov eax, dword [edi + 0x100]
test ecx, ecx
jne 0x421bab
test eax, eax
je 0x421bd8
mov edx, dword [ebp - 0x9c]
cmp byte [edx + 0x2a], 0
jne 0x421bd8
push 0
push ecx
push eax
push 0
push 0
push esi
push dword [ebp - 0xf8]
call fcn.00425300
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x425034
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 0x421cda
mov edi, dword [ecx]
xor edx, edx
mov eax, dword [edi + 4]
mov dword [ebp - 0x84], eax
test eax, eax
je 0x421cd7
mov edi, dword [edi]
lea esp, [esp]
mov eax, dword [edi]
cmp dword [eax + 0x14], 0
mov ecx, dword [eax + 0x10]
ja 0x421cc2
jb 0x421c72
cmp ecx, 0xffffffff
ja 0x421cc2
cmp ecx, 0x3030205
ja 0x421ca0
je 0x421cd0
cmp ecx, 0x20304
ja 0x421c93
je 0x421cd0
cmp ecx, 3
je 0x421cd0
cmp ecx, 0x20302
jmp 0x421cc0
sub ecx, 0x3030103
je 0x421cd0
sub ecx, 0x18
jmp 0x421cc0
cmp ecx, 0x3030701
ja 0x421cba
je 0x421cd0
cmp ecx, 0x3030401
je 0x421cd0
cmp ecx, 0x3030501
jmp 0x421cc0
cmp ecx, 0x3030805
je 0x421cd0
inc edx
add edi, 4
cmp edx, dword [ebp - 0x84]
jb 0x421c60
jmp 0x421cd7
mov byte [ebp - 0x85], 0
mov edi, dword [ebp - 0x5c]
test edi, edi
je 0x422266
mov esi, dword [edi + 0x5c]
push 0
call fcn.0055801b
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.00558012
mov esi, eax
add esp, 8
xor eax, eax
mov dword [ebp - 0xa4], esi
cmp dword [edi + 0x5c], eax
jbe 0x421d2d
mov dword [esi + eax*4], 0xffffffff
inc eax
cmp eax, dword [edi + 0x5c]
jb 0x421d20
mov edi, dword [ebp - 0xa0]
xor ecx, ecx
cmp dword [edi + 4], ecx
jbe 0x421d55
lea ebx, [ebx]
mov eax, dword [edi]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x421d4f
mov dword [esi + eax*4], ecx
inc ecx
cmp ecx, dword [edi + 4]
jb 0x421d40
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ecx + 4], eax
jbe 0x42226c
jmp 0x421d70
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 0x42224d
mov eax, dword [ebp - 0x58]
mov edi, edx
shl edi, 4
lea ebx, [ebx]
cmp edx, dword [ecx + 0x5c]
jae 0x4222e6
mov ecx, dword [ecx + 0x58]
cmp byte [ecx + edi + 0xc], 0
je 0x421e20
inc eax
mov dword [ebp - 0x58], eax
mov eax, dword [esi + edx*4]
mov dword [ebp - 0x84], eax
test eax, eax
js 0x421e1d
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 0x421e1d
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 0x421dc0
cmp dword [ebp - 0x78], 0
je 0x42224d
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.00419050
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 0x421eca
mov eax, edi
lea ebx, [ebx]
cmp dword [eax], 0x6f10701
jne 0x421ec2
cmp dword [eax + 4], 0
je 0x421f7a
inc ecx
add eax, 0x18
cmp ecx, edx
jb 0x421eb0
mov byte [ebp - 0x51], 0
cmp byte [ebp - 0x85], 0
jne 0x421ee3
mov eax, dword [ebp - 0x74]
mov byte [ebp - 0x52], 0
cmp dword [ebp - 0x78], eax
jne 0x421ee7
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 0x421f26
mov eax, edi
lea ecx, [ecx]
cmp dword [eax], 0x6f10701
jne 0x421f1e
cmp dword [eax + 4], 0
je 0x421f83
inc ecx
add eax, 0x18
cmp ecx, edx
jb 0x421f10
xor al, al
cmp byte [ebp - 0x52], 0
mov byte [ebp - 0xd4], al
je 0x422031
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 0x421f87
test edx, edx
jne 0x421f89
cmp dword [ecx + 0xc], 1
jne 0x422031
mov eax, dword [ecx + 8]
mov dword [ebp - 0xdc], 3
movzx eax, byte [eax]
inc eax
mov dword [ebp - 0xd8], eax
jmp 0x422031
mov byte [ebp - 0x51], 1
jmp 0x421ece
mov al, 1
jmp 0x421f28
test edx, edx
ja 0x422031
jb 0x421f9c
cmp eax, 0x3030805
ja 0x422031
cmp eax, 0x3030401
ja 0x421fbe
je 0x421fd3
mov ecx, eax
sub ecx, 0x3030103
je 0x421fd3
sub ecx, 0x18
je 0x421fd3
sub ecx, 0xea
je 0x421fd3
jmp 0x422031
cmp eax, 0x3030501
je 0x421fd3
cmp eax, 0x3030701
je 0x421fd3
cmp eax, 0x3030805
jne 0x422031
mov dword [ebp - 0xdc], eax
cmp eax, 0x303011b
jne 0x421fec
mov dword [ebp - 0xdc], 0x3030103
jmp 0x422031
cmp eax, 0x3030401
jne 0x421fff
mov dword [ebp - 0xd8], 0x10
jmp 0x422031
cmp eax, 0x3030501
je 0x422027
cmp eax, 0x3030205
je 0x422027
cmp eax, 0x3030805
je 0x422027
cmp eax, 0x3030701
jne 0x422031
mov dword [ebp - 0xd8], 2
jmp 0x422031
mov dword [ebp - 0xd8], 4
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00420410
mov edi, eax
add esp, 8
cmp edi, dword [ebp - 0xe8]
jb 0x4220c4
lea ecx, [ebp - 0xf4]
call fcn.00411140
push 0x18
call fcn.00557fd4
mov ecx, eax
add esp, 4
mov dword [ebp - 0x70], ecx
test ecx, ecx
je 0x42209a
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 0x42209c
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 0x422051
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 0x42214a
cmp ecx, 0x7fffffff
jae 0x42507d
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.00558012
mov ecx, dword [edi + 0x10]
add esp, 4
mov dword [ebp - 0x84], eax
test ecx, ecx
je 0x422130
shl ecx, 3
push ecx
push dword [edi + 0xc]
push eax
call fcn.0055bfb0
add esp, 0xc
push dword [edi + 0xc]
call fcn.0055801b
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 0x4221a6
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 0x4221f2
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 0x4221d7
jb 0x4221ce
cmp dword [ebp - 0x7c], eax
jae 0x4221d7
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.0055801b
push dword [ebp - 0x184]
call fcn.0055801b
mov eax, dword [ebp - 0x18c]
add esp, 8
test eax, eax
je 0x42224a
push 0x40cba0
push dword [eax - 4]
lea edi, [eax - 4]
mov byte [ebp - 4], 0xa
push 0x18
push eax
call fcn.00557ebf
mov eax, dword [edi]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 4]
push eax
push edi
call fcn.00558020
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 0x421d70
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 0x42228d
cmp dword [ebp - 0x13c], 1
jbe 0x4222ab
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 0x4222ae
mov byte [ebp - 0x51], cl
mov eax, dword [edi + 4]
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x42231c
mov esi, dword [edi]
lea ebx, [ebx]
mov edi, dword [esi]
cmp byte [edi + 0x38], 0
je 0x42230d
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 0x4222f3
add edx, eax
adc ecx, edi
jmp 0x422301
mov eax, 0x80004005
mov dword [ebp - 0x48], eax
jmp 0x424fca
cmp ecx, edi
ja 0x42230d
jb 0x4222fd
cmp edx, eax
jae 0x42230d
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 0x4222c0
mov esi, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xa8]
cmp ecx, edi
ja 0x42233b
mov eax, dword [ebp - 0x7c]
jb 0x42232f
cmp edx, eax
jae 0x42233b
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 0x424fca
push 0x38
call fcn.00557fd4
add esp, 4
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x422384
mov ecx, eax
call fcn.00431be0
mov edi, eax
mov dword [ebp - 0xac], eax
jmp 0x42238c
xor edi, edi
mov dword [ebp - 0xac], edi
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x204], edi
test edi, edi
je 0x4223a0
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.00431c40
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.0040c950
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 0x4224b8
push 0x38
mov byte [ebp - 0x210], 0
mov dword [ebp - 0x20c], 1
call fcn.00557fd4
mov edi, eax
add esp, 4
mov dword [ebp - 0x70], edi
test edi, edi
je 0x422490
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 0x422498
xor edi, edi
mov dword [ebp - 0x230], edi
mov ecx, dword [ebp - 0x22c]
test ecx, ecx
je 0x4224a8
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 0x4224ff
cmp byte [ebp - 0x41], 0
je 0x4224ff
lea ecx, [ebp - 0x2b4]
call fcn.00432560
mov edi, eax
mov dword [ebp - 0x48], edi
test edi, edi
je 0x4224f9
jle 0x424efe
movzx edi, di
or edi, 0x80070000
mov dword [ebp - 0x48], edi
jmp 0x424efe
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 0x42253e
mov word [ebp - 0x114], cx
mov byte [ebp - 0x112], cl
jmp 0x42258e
mov edi, dword [ebp - 0xe0]
test edi, edi
je 0x42255d
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 0x42258e
mov byte [ebp - 0x114], 1
cmp ecx, 7
jl 0x42258e
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 0x4227fa
lea ebx, [ebx]
mov eax, dword [eax]
mov ecx, dword [eax + edx*4]
cmp byte [ecx + 0x38], 0
je 0x4227e1
cmp byte [ecx + 0x3b], 0
jne 0x4227e1
cmp byte [ecx + 0x3a], 0
jne 0x4227e1
mov eax, dword [ecx + 0x20]
or eax, dword [ecx + 0x24]
je 0x4227e1
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 0x42262c
lea eax, [ebp - 0xdc]
push eax
push ecx
push edx
lea ecx, [ebp - 0x120]
call fcn.004201b0
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x422873
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.00420410
mov edx, dword [ebp - 0xe8]
add esp, 8
mov dword [ebp - 0x4c], eax
cmp eax, edx
jb 0x422753
mov edi, dword [ebp - 0x74]
cmp edx, edi
jne 0x4226e4
cmp edi, 0x7fffffff
jae 0x42507d
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.00558012
mov ecx, dword [ebp - 0xe8]
add esp, 4
mov dword [ebp - 0x80], eax
test ecx, ecx
je 0x4226c7
shl ecx, 2
push ecx
push dword [ebp - 0xf4]
push eax
call fcn.0055bfb0
add esp, 0xc
push dword [ebp - 0xf4]
call fcn.0055801b
mov eax, dword [ebp - 0x80]
add esp, 4
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xec], edi
push 0x18
call fcn.00557fd4
mov ecx, eax
add esp, 4
mov dword [ebp - 0x70], ecx
test ecx, ecx
je 0x422722
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 0x422724
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 0x422665
mov ecx, dword [ebp - 0xf4]
mov edi, dword [ecx + eax*4]
mov ecx, dword [edi + 8]
cmp dword [edi + 4], ecx
jne 0x4227d0
cmp ecx, 0x7fffffff
jae 0x42507d
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.00558012
mov ecx, dword [edi + 4]
add esp, 4
mov dword [ebp - 0x80], eax
test ecx, ecx
je 0x4227bb
shl ecx, 2
push ecx
push dword [edi]
push eax
call fcn.0055bfb0
add esp, 0xc
push dword [edi]
call fcn.0055801b
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 0x4225b0
mov edi, dword [ebp - 0x120]
push dword [ebp - 0x11c]
call fcn.0055801b
add esp, 4
mov byte [ebp - 4], 0x1f
test edi, edi
je 0x422816
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 0x422994
push 0x14
call fcn.00557fd4
add esp, 4
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0x70], eax
mov byte [ebp - 4], 0x21
test eax, eax
je 0x42289b
mov dword [eax + 4], edi
lea ecx, [eax + 8]
mov dword [eax], vtable.NArchive::N7z::CCryptoGetTextPassword.0
call fcn.00435b30
mov ecx, dword [ebp - 0xbc]
jmp 0x4228a3
push dword [ebp - 0x11c]
call fcn.0055801b
add esp, 4
mov ecx, dword [ebp - 0x120]
mov byte [ebp - 4], 0x1b
test ecx, ecx
je 0x424efe
mov eax, dword [ecx]
push ecx
jmp 0x424efb
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 0x4228ef
mov eax, dword [ecx]
mov eax, dword [eax + 4]
cmp eax, method.CLimitedSequentialInStream.virtual_4
jne 0x4228c4
inc dword [ecx + 4]
jmp 0x4228d3
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 0x4228ea
inc dword [ecx + 4]
jmp 0x4228fd
push ecx
call eax
jmp 0x4228fd
mov edi, ecx
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x140], edi
mov ecx, dword [ebp - 0x214]
test ecx, ecx
je 0x42290d
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 0x422935
add eax, 0x34
add ecx, 8
push eax
call fcn.00435bc0
jmp 0x422994
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x422946
mov eax, 0x80004001
jmp 0x424eed
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 0x422970
push dword [ebp - 0x50]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x424ef0
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x422989
mov ecx, dword [ebp - 0xbc]
push eax
add ecx, 8
call fcn.00435c30
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.0041c620
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424ef0
mov ecx, dword [ebp - 0xfc]
call fcn.0041cd00
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424ef0
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 0x422a47
mov eax, dword [ebp - 0xa0]
lea esp, [esp]
mov eax, dword [eax]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx + 0x38], 0
je 0x422ae1
cmp byte [ecx + 0x3b], 0
jne 0x422afb
cmp byte [ecx + 0x3a], 0
jne 0x422afb
mov eax, dword [ecx + 0x20]
or eax, dword [ecx + 0x24]
je 0x422afb
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0xa0]
inc ecx
mov dword [ebp - 0x50], ecx
cmp ecx, dword [eax + 4]
jb 0x422a00
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
mov ecx, eax
mov dword [ebp - 0x58], ecx
cmp ecx, 1
jbe 0x422ee1
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 0x422ce6
mov edi, dword [ebp - 0xb4]
cmp edx, edi
jae 0x422c0f
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 0x422bb2
xor eax, eax
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422c07
mov ecx, dword [ecx]
cmp ecx, 0xffffffff
je 0x422afb
mov eax, dword [ebp - 0x5c]
add ecx, ecx
mov eax, dword [eax + 0x58]
cmp byte [eax + ecx*8 + 0xc], 0
jne 0x422a2f
mov ecx, dword [ebp - 0xb4]
cmp ecx, edx
jne 0x422b92
cmp edx, 0x7fffffff
jae 0x42507d
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.00558012
mov ecx, dword [ebp - 0xb4]
add esp, 4
mov dword [ebp - 0x84], eax
test ecx, ecx
je 0x422b69
shl ecx, 2
push ecx
push dword [ebp - 0xb8]
push eax
call fcn.0055bfb0
add esp, 0xc
push dword [ebp - 0xb8]
call fcn.0055801b
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 0x422a32
mov dl, byte [eax + 0x3b]
cmp dl, byte [ecx + 0x3b]
mov byte [ebp - 0x51], dl
mov edx, dword [ebp - 0x48]
je 0x422be5
xor eax, eax
cmp byte [ebp - 0x51], al
je 0x422bd6
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422c07
cmp byte [ebp - 0x52], al
sete al
lea eax, [eax*2 - 1]
jmp 0x422c07
push dword [ecx + 0x28]
push dword [eax + 0x28]
call fcn.00436c80
mov ecx, dword [ebp - 0x6c]
add esp, 8
cmp byte [ecx + 0x3b], 0
je 0x422c04
cmp byte [ecx + 0x3a], 0
je 0x422c04
neg eax
mov edx, dword [ebp - 0x48]
test eax, eax
jle 0x422c0f
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 0x422c5b
xor eax, eax
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422cb0
mov dl, byte [eax + 0x3b]
cmp dl, byte [ecx + 0x3b]
mov byte [ebp - 0x51], dl
mov edx, dword [ebp - 0x48]
je 0x422c8e
xor eax, eax
cmp byte [ebp - 0x51], al
je 0x422c7f
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422cb0
cmp byte [ebp - 0x52], al
sete al
lea eax, [eax*2 - 1]
jmp 0x422cb0
push dword [ecx + 0x28]
push dword [eax + 0x28]
call fcn.00436c80
mov ecx, dword [ebp - 0x6c]
add esp, 8
cmp byte [ecx + 0x3b], 0
je 0x422cad
cmp byte [ecx + 0x3a], 0
je 0x422cad
neg eax
mov edx, dword [ebp - 0x48]
test eax, eax
jns 0x422ce0
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 0x422a89
jmp 0x422ce3
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 0x422a60
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 0x422ec2
mov esi, dword [ebp - 0x58]
mov edi, ecx
cmp edx, esi
jae 0x422de5
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 0x422d88
xor eax, eax
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422ddd
mov dl, byte [eax + 0x3b]
cmp dl, byte [ecx + 0x3b]
mov byte [ebp - 0x51], dl
mov edx, dword [ebp - 0x48]
je 0x422dbb
xor eax, eax
cmp byte [ebp - 0x51], al
je 0x422dac
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422ddd
cmp byte [ebp - 0x52], al
sete al
lea eax, [eax*2 - 1]
jmp 0x422ddd
push dword [ecx + 0x28]
push dword [eax + 0x28]
call fcn.00436c80
mov ecx, dword [ebp - 0x6c]
add esp, 8
cmp byte [ecx + 0x3b], 0
je 0x422dda
cmp byte [ecx + 0x3a], 0
je 0x422dda
neg eax
mov edx, dword [ebp - 0x48]
test eax, eax
jle 0x422de5
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 0x422e31
xor eax, eax
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422e86
mov dl, byte [eax + 0x3b]
cmp dl, byte [ecx + 0x3b]
mov byte [ebp - 0x51], dl
mov edx, dword [ebp - 0x48]
je 0x422e64
xor eax, eax
cmp byte [ebp - 0x51], al
je 0x422e55
cmp byte [ebp - 0x41], al
setne al
lea eax, [eax*2 - 1]
jmp 0x422e86
cmp byte [ebp - 0x52], al
sete al
lea eax, [eax*2 - 1]
jmp 0x422e86
push dword [ecx + 0x28]
push dword [eax + 0x28]
call fcn.00436c80
mov ecx, dword [ebp - 0x6c]
add esp, 8
cmp byte [ecx + 0x3b], 0
je 0x422e83
cmp byte [ecx + 0x3a], 0
je 0x422e83
neg eax
mov edx, dword [ebp - 0x48]
test eax, eax
jns 0x422eb3
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 0x422d37
jmp 0x422eb6
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 0x422d05
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x422fcf
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.00435b30
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 0x422f67
push eax
call fcn.00425110
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x14c]
add esp, 0xc
mov byte [ebp - 0xce], 0
add eax, 0x28
push eax
call fcn.00435bc0
jmp 0x422f88
push dword [eax]
push dword [ebp - 0x5c]
call fcn.00420060
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x14c]
add esp, 0x10
push eax
mov eax, dword [ebp - 0x74]
push dword [eax]
call fcn.00418a10
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.0041c360
push dword [ebp - 0x14c]
mov byte [ebp - 4], 0x33
call fcn.0055801b
mov edx, dword [ebp - 0xb8]
inc esi
add esp, 4
cmp esi, edi
jb 0x422ef1
mov edi, dword [ebp - 0x8c]
mov esi, dword [ebp - 0xa4]
push dword [ebp - 0xb8]
mov byte [ebp - 4], 0x20
call fcn.0055801b
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 0x42301a
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 0x423010
mov eax, edx
mov dword [ebp - 0x58], eax
cmp eax, 1
jbe 0x4232ea
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 0x423143
mov eax, dword [ebp - 0x128]
cmp edx, eax
jae 0x4230cf
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 0x4230a4
cmp byte [ebp - 0x41], 0
je 0x4230aa
jmp 0x4230cf
cmp byte [ebp - 0x41], 0
je 0x4230cb
mov esi, dword [edi + eax*8]
cmp dword [edi + eax*8 + 0x10], esi
jb 0x4230cf
ja 0x4230cb
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 0x4230cf
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 0x4230f0
cmp byte [ebp - 0x41], 0
je 0x4230f6
jmp 0x423107
cmp byte [ebp - 0x41], 0
je 0x423140
mov esi, dword [ebp - 0x6c]
cmp esi, dword [eax]
jb 0x423107
ja 0x423140
mov esi, dword [ebp - 0x4c]
cmp esi, dword [eax + 4]
jae 0x423140
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 0x423085
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 0x423050
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 0x4232b5
cmp edx, eax
jae 0x423241
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 0x423216
cmp byte [ebp - 0x41], 0
je 0x42321c
jmp 0x423241
cmp byte [ebp - 0x41], 0
je 0x42323d
mov edi, dword [esi + eax*8 + 0x10]
cmp edi, dword [esi + eax*8]
jb 0x423241
ja 0x42323d
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 0x423241
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 0x423262
cmp byte [ebp - 0x41], 0
je 0x423268
jmp 0x423279
cmp byte [ebp - 0x41], 0
je 0x4232af
mov edi, dword [ebp - 0x6c]
cmp edi, dword [eax]
jb 0x423279
ja 0x4232af
mov edi, dword [ebp - 0x68]
cmp edi, dword [eax + 4]
jae 0x4232af
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 0x4231f7
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 0x423191
mov esi, dword [ebp - 0xa4]
mov edx, dword [ebp - 0x128]
xor eax, eax
mov dword [ebp - 0x84], eax
test edx, edx
je 0x424eb4
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.0041f4f0
mov eax, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x35
cmp byte [eax + 9], 0
je 0x423339
cmp byte [eax + 0x2b], 0
je 0x423339
mov al, 1
jmp 0x42333b
xor al, al
push eax
push dword [ebp - 0x68]
lea eax, [ebp - 0x1cc]
push eax
call fcn.004205f0
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424e60
mov eax, dword [ebp - 0x68]
cmp byte [eax + 8], 0
je 0x42338d
cmp byte [ebp - 0x19b], 0
jne 0x4233a9
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x423384
add eax, 8
lea ecx, [ebp - 0x198]
push eax
call fcn.00435bc0
mov byte [ebp - 0x19b], 1
jmp 0x4233a9
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.0040e7f0
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 0x4241c4
jmp 0x4233ea
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 0x423793
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x4234af
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 0x424e55
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 0x4234af
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 0x4234a3
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 0x424e55
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 0x423470
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.00425300
add esp, 0x1c
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424e55
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.00411140
push 0x18
call fcn.00557fd4
mov esi, eax
mov dword [ebp - 0x4c], eax
add esp, 4
mov dword [ebp - 0x70], esi
test esi, esi
je 0x423585
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 0x42358a
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.00419050
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 0x4236a4
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 0x42366c
cmp ecx, 0x7fffffff
jae 0x425098
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.00558012
mov edx, dword [ebp - 0x60]
add esp, 4
mov dword [ebp - 0x68], eax
mov ecx, dword [edx + 0x34]
test ecx, ecx
je 0x423652
shl ecx, 3
push ecx
push dword [edx + 0x30]
push eax
call fcn.0055bfb0
mov edx, dword [ebp - 0x60]
add esp, 0xc
push dword [edx + 0x30]
call fcn.0055801b
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 0x4235d1
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 0x423fc9
jmp 0x4236d0
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 0x423768
cmp ecx, 0x7fffffff
jae 0x425098
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.00558012
mov edx, dword [ebp - 0x60]
add esp, 4
mov dword [ebp - 0x64], eax
mov ecx, dword [edx + 0x28]
test ecx, ecx
je 0x423749
shl ecx, 3
push ecx
push dword [edx + 0x24]
push eax
call fcn.0055bfb0
mov edx, dword [ebp - 0x60]
add esp, 0xc
push dword [edx + 0x24]
call fcn.0055801b
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 0x4236d0
jmp 0x423fc9
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 0x4237df
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 0x424e0e
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 0x42393c
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 0x42386f
mov eax, dword [ebp - 0x7c]
inc dword [ebp - 0x98]
mov eax, dword [eax]
test eax, eax
js 0x42386f
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 0x4238e6
cmp ecx, 0x7fffffff
jae 0x425098
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.00558012
mov ecx, dword [ebp - 0x104]
add esp, 4
mov dword [ebp - 0xa8], eax
test ecx, ecx
je 0x4238c0
push ecx
push dword [ebp - 0x108]
push eax
call fcn.0055bfb0
add esp, 0xc
push dword [ebp - 0x108]
call fcn.0055801b
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 0x423913
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 0x42393c
mov ecx, dword [ebp - 0x100]
jmp 0x423820
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.00557fd4
mov esi, eax
add esp, 4
mov dword [ebp - 0x4c], esi
test esi, esi
je 0x423991
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 0x423993
xor esi, esi
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x94], esi
test esi, esi
je 0x4239b5
mov eax, dword [esi]
mov eax, dword [eax + 4]
cmp eax, method.CSequentialInStreamSizeCount2.virtual_4
jne 0x4239b2
inc dword [esi + 8]
jmp 0x4239b5
push esi
call eax
mov eax, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x4e
cmp byte [eax + 0x2b], 0
je 0x423ac1
mov eax, dword [ebp - 0x230]
test eax, eax
je 0x4239de
add eax, 8
mov dword [ebp - 0x98], eax
jmp 0x4239e8
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.00431e30
lea ecx, [ebp - 0x200]
call fcn.00431ec0
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424d70
mov ecx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x64], ecx
test ecx, ecx
je 0x423a3b
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x423a48
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 0x423a61
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x423a71
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 0x423ab8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4e
jmp 0x423c39
push 0x40
call fcn.00557fd4
add esp, 4
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x1dc], eax
test eax, eax
je 0x423b1a
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.00558012
mov ecx, dword [ebp - 0x7c]
add esp, 4
mov dword [ecx + 0x34], eax
jmp 0x423b1f
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 0x423b3b
inc dword [ecx + 0x30]
jmp 0x423b3e
push ecx
call eax
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x423b4e
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.00435b30
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.0040d1f0
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], ecx
test eax, eax
jne 0x424dd0
test ecx, ecx
je 0x424dc8
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0x38]
test ecx, ecx
je 0x423c0a
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 0x423c27
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x11c]
mov byte [ebp - 4], 0x4e
call fcn.0055801b
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 0x423c5e
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x423c6b
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 0x423c8a
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x423c9d
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.00420c50
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424dec
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 0x423d0d
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x423d1a
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 0x423d42
lea ecx, [ebp - 0x2b4]
call fcn.004325c0
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424d83
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.00411140
push 0x18
call fcn.00557fd4
mov edx, eax
add esp, 4
mov dword [ebp - 0x64], edx
test edx, edx
je 0x423da9
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 0x423dab
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.0040f780
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x48], eax
cmp eax, 0x20000002
je 0x424dbe
mov ecx, dword [ebp - 0x9c]
cmp byte [ecx + 0x2b], 0
je 0x423ee4
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 0x423e38
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0xa8], esi
push dword [ebp - 0x2ac]
call fcn.0040c730
add esp, 4
test eax, eax
jne 0x424d92
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x4c], eax
cmp eax, 1
je 0x423e6f
cmp byte [ebp - 0x23c], 0
jne 0x423e6f
test eax, eax
jne 0x424d9b
jmp 0x423ebb
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x423eb2
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 0x424d9b
cmp dword [ebp - 0x4c], esi
jne 0x424dbe
cmp dword [ebp - 0x48], esi
jne 0x424dec
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x1e8], eax
jne 0x424dbe
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x1e4], eax
jne 0x424dbe
jmp 0x423f03
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx + 0x3c]
cmp ecx, 1
je 0x424da0
test ecx, ecx
jne 0x424d99
test eax, eax
jne 0x424dec
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 0x424dec
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x158], eax
jne 0x424dbe
mov eax, dword [ebp - 0x50]
cmp dword [ebp - 0x154], eax
jne 0x424dbe
mov byte [ebp - 4], 0xba
test esi, esi
je 0x423f59
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0xa8]
mov byte [ebp - 4], 0xbb
test eax, eax
je 0x423f6d
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 0x423f9f
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 0x423f80
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.0055801b
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 0x424051
cmp ecx, 0x7fffffff
jae 0x425098
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.00558012
mov edx, dword [ebp - 0x60]
add esp, 4
mov dword [ebp - 0x70], eax
mov ecx, dword [edx + 0x1c]
test ecx, ecx
je 0x424038
shl ecx, 2
push ecx
push dword [edx + 0x18]
push eax
call fcn.0055bfb0
mov edx, dword [ebp - 0x60]
add esp, 0xc
push dword [edx + 0x18]
call fcn.0055801b
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 0x4241ab
mov esi, dword [ebp - 0xa4]
mov edi, ecx
mov edx, dword [ebp - 0x50]
shl edi, 4
jmp 0x4240a0
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x58]
cmp byte [edi + eax + 0xc], 0
je 0x424195
inc edx
mov dword [ebp - 0x50], edx
mov edx, dword [esi + ecx*4]
test edx, edx
js 0x424192
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 0x424192
lea ecx, [ebp - 0x1d8]
call fcn.00435b30
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.00420060
mov eax, dword [ebp - 0x4c]
add esp, 0x10
cmp byte [eax + 0x39], 0
je 0x424151
lea ecx, [ebp - 0x40]
push ecx
push eax
call fcn.004250b0
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.00435bc0
jmp 0x424163
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x1d8]
push eax
push dword [ebp - 0x58]
call fcn.00418a10
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.0041c360
push dword [ebp - 0x1d8]
mov byte [ebp - 4], 0x3a
call fcn.0055801b
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 0x4240a0
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 0x4233e4
mov esi, dword [eax + 4]
mov dword [ebp - 0x90], esi
test esi, esi
je 0x424ceb
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x168], 0
mov byte [ebp - 4], 0xbd
mov dword [ebp - 0x16c], 0
cmp esi, 0x7fffffff
ja 0x425098
push 0
call fcn.0055801b
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.00558012
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 0x424444
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 0x424402
lea ecx, [eax + 0x28]
call fcn.004361e0
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.004361a0
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx + 0x2c]
cmp eax, esi
jg 0x4242d9
mov esi, ecx
jmp 0x4243ff
lea esi, [eax + 1]
mov dword [ebp - 0x70], esi
cmp esi, ecx
je 0x4243ff
lea ecx, [ebp - 0x164]
call fcn.00435a40
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 0x4243ea
mov edx, dword [ebp - 0x160]
lea esp, [esp]
test ax, ax
je 0x42438e
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 0x42435e
lea ecx, [ebp - 0x164]
call fcn.00435f00
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 0x424320
jmp 0x4243ea
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 0x4243ea
mov edi, dword [ebp - 0x164]
lea esp, [esp]
cmp al, 0x20
je 0x4243e0
mov esi, edi
mov dl, byte [esi]
lea esi, [esi + 1]
test dl, dl
jne 0x4243c7
test al, al
je 0x4243e7
cmp al, 0x20
je 0x4243e7
cmp al, dl
jne 0x4243d0
mov al, byte [ecx]
inc ecx
jmp 0x4243b6
inc dword [ebp - 0x68]
test al, al
je 0x4243e7
cmp al, 0x20
je 0x4243e0
mov al, byte [ecx]
inc ecx
jmp 0x4243d3
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4243b0
mov edi, dword [ebp - 0x68]
push dword [ebp - 0x164]
mov byte [ebp - 4], 0xbd
call fcn.0055801b
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 0x424280
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 0x41fde0
call fcn.004217d0
mov eax, dword [ebp - 0x90]
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00558012
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 0x424cda
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 0x4244a3
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 0x4245b0
mov edi, edx
jmp 0x4244e3
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp ecx, dword [ebp - 0x150]
ja 0x4245a5
jb 0x4244ff
cmp edi, dword [ebp - 0x13c]
jae 0x4245a5
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 0x4245a5
mov ecx, dword [ebp - 0x9c]
jb 0x42453c
cmp edx, dword [ecx + 0x20]
ja 0x4245a5
cmp byte [ecx + 0x28], 0
je 0x424590
add eax, 0x28
mov ecx, eax
mov dword [ebp - 0x80], eax
call fcn.004361e0
mov ecx, dword [ebp - 0x80]
push 0x2e
mov dword [ebp - 0x70], eax
call fcn.004361a0
cmp eax, dword [ebp - 0x70]
jg 0x424569
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 0x2c]
jmp 0x42456c
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x80]
mov eax, dword [eax]
lea eax, [eax + ecx*2]
test edi, edi
jne 0x42457d
mov dword [ebp - 0x4c], eax
jmp 0x42458d
push dword [ebp - 0x4c]
push eax
call fcn.00436380
add esp, 8
test al, al
je 0x4245a5
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 0x4244e0
cmp edi, 1
mov edi, dword [ebp - 0x8c]
jae 0x4245b7
mov dword [ebp - 0x7c], 1
mov ecx, dword [ebp - 0xac]
call fcn.00431d50
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424e44
push 0xb8
call fcn.00557fd4
mov ecx, eax
mov dword [ebp - 0x98], eax
add esp, 4
mov dword [ebp - 0x70], ecx
test ecx, ecx
je 0x4246ee
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 0x4246f6
xor ecx, ecx
mov dword [ebp - 0x98], ecx
mov byte [ebp - 4], 0xc4
mov dword [ebp - 0x1e0], ecx
test ecx, ecx
je 0x42471e
mov eax, dword [ecx]
mov eax, dword [eax + 4]
cmp eax, method.CSequentialInStreamSizeCount2.virtual_4
jne 0x424715
inc dword [ecx + 8]
jmp 0x42471e
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.00412a90
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.00411140
push 0x18
call fcn.00557fd4
mov edx, eax
add esp, 4
mov dword [ebp - 0x4c], edx
test edx, edx
je 0x4247d4
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 0x4247d6
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.0040f780
mov edi, dword [ebp - 0x8c]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424e34
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx + 0x54]
cmp eax, dword [ecx + 0x44]
jne 0x424e2c
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 0x42490a
sub eax, ecx
cmp eax, 2
jb 0x4248dd
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 0x424880
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 0x4248f8
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 0x42490e
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 0x424baf
mov ecx, dword [ebp - 0xcc]
jmp 0x424970
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.00435b30
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 0x4249de
push eax
call fcn.00425110
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
add esp, 0xc
add eax, 0x28
push eax
call fcn.00435bc0
jmp 0x4249ff
push dword [eax]
push dword [ebp - 0x5c]
call fcn.00420060
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x14c]
add esp, 0x10
push eax
mov eax, dword [ebp - 0x50]
push dword [eax]
call fcn.00418a10
cmp byte [ebp - 0x17], 0
jne 0x424e1e
cmp byte [ebp - 0xcf], 0
jne 0x424e1e
mov edx, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x48]
mov eax, dword [edx + 0x50]
cmp byte [ecx + eax], 0
jne 0x424a42
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 0x424b6c
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 0x424a94
inc dword [ebp - 0x94]
mov byte [ebp - 0xce], 1
mov byte [ebp - 0xd0], 1
jmp 0x424aa2
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 0x424b52
cmp byte [edx + 0xb0], 0
je 0x424ae1
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 0x424b0a
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 0x424b36
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 0x424b52
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.0041c360
push dword [ebp - 0x14c]
mov byte [ebp - 4], 0xc5
call fcn.0055801b
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 0x424970
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xc8]
cmp edx, eax
jne 0x424e2c
cmp dword [ebp - 0x78], ecx
jne 0x424e2c
mov edx, dword [ebp - 0x60]
mov ecx, dword [edx + 0x20]
cmp dword [edx + 0x1c], ecx
jne 0x424c43
cmp ecx, 0x7fffffff
jae 0x425098
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.00558012
mov edx, dword [ebp - 0x60]
add esp, 4
mov dword [ebp - 0x70], eax
mov ecx, dword [edx + 0x1c]
test ecx, ecx
je 0x424c29
shl ecx, 2
push ecx
push dword [edx + 0x18]
push eax
call fcn.0055bfb0
mov edx, dword [ebp - 0x60]
add esp, 0xc
push dword [edx + 0x18]
call fcn.0055801b
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 0x424cb5
cmp dword [ebp - 0xc4], edx
jb 0x424cb5
mov eax, dword [ebp - 0xc0]
ja 0x424c81
cmp eax, ecx
jb 0x424cb5
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 0x424e34
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 0x4244c1
push esi
call fcn.0055801b
push dword [ebp - 0x6c]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0x37c]
call fcn.0040ec20
mov ecx, dword [ebp - 0x198]
mov byte [ebp - 4], 0x20
test ecx, ecx
je 0x424d2d
mov eax, dword [ebp - 0x190]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.0055c530
mov ecx, dword [ebp - 0x198]
add esp, 0xc
mov dword [ebp - 0x194], 0
push ecx
call fcn.0055801b
push dword [ebp - 0x1c0]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0x1cc]
call fcn.0040eae0
mov eax, dword [ebp - 0x84]
inc eax
mov dword [ebp - 0x84], eax
cmp eax, dword [ebp - 0x128]
jae 0x424eb4
mov esi, dword [ebp - 0xa4]
jmp 0x423300
mov eax, dword [ebp - 0x74]
mov byte [ebp - 4], 0x50
test eax, eax
je 0x424dec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x424dec
jle 0x424dec
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0x48], eax
jmp 0x424dec
jg 0x424d85
mov dword [ebp - 0x48], eax
jmp 0x424dec
mov eax, ecx
mov dword [ebp - 0x48], eax
jmp 0x424dec
mov eax, dword [ebp - 0x110]
test eax, eax
je 0x424dbe
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 0x424dec
mov eax, 0x80004005
mov dword [ebp - 0x48], eax
jmp 0x424dec
mov eax, 0x80004005
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x64
test ecx, ecx
je 0x424dde
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push dword [ebp - 0x11c]
call fcn.0055801b
add esp, 4
mov byte [ebp - 4], 0xb4
test esi, esi
je 0x424dfa
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0xa8]
mov byte [ebp - 4], 0xb5
test eax, eax
je 0x424e0e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x108]
call fcn.0055801b
add esp, 4
jmp 0x424e55
push dword [ebp - 0x14c]
call fcn.0055801b
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.0055801b
push dword [ebp - 0x6c]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0x37c]
call fcn.0040ec20
mov ecx, dword [ebp - 0x198]
test ecx, ecx
je 0x424e93
mov eax, dword [ebp - 0x190]
lea eax, [eax*2 + 2]
push eax
push 0
push ecx
call fcn.0055c530
mov ecx, dword [ebp - 0x198]
add esp, 0xc
mov dword [ebp - 0x194], 0
push ecx
call fcn.0055801b
push dword [ebp - 0x1c0]
call fcn.0055801b
add esp, 8
lea ecx, [ebp - 0x1cc]
call fcn.0040eae0
jmp 0x424ef0
mov ecx, dword [ebp - 0xac]
call fcn.00431d50
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x424ef0
mov ecx, dword [ebp - 0x60]
call fcn.004213c0
mov eax, dword [ebp - 0xe0]
test eax, eax
je 0x424eeb
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 0x424ef0
xor eax, eax
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0xde
test edi, edi
je 0x424efe
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.004325e0
mov ecx, dword [ebp - 0x214]
mov byte [ebp - 4], 0xe0
test ecx, ecx
je 0x424f2b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x22c]
mov byte [ebp - 4], 0xe1
test ecx, ecx
je 0x424f3f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x234]
mov byte [ebp - 4], 0xe2
test ecx, ecx
je 0x424f53
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea ecx, [ebp - 0x2a0]
call fcn.00411520
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0xe3
mov dword [ebp - method.ISequentialInStream.virtual_0], vtable.CVirtThread.0
call fcn.004325e0
lea eax, [ebp - 0x2a8]
push eax
call fcn.0040c6f0
lea eax, [ebp - 0x2ac]
push eax
call fcn.0040c6f0
lea eax, [ebp - 0x2b0]
push eax
call fcn.0040c6f0
lea eax, [ebp - 0x1fc]
push eax
call fcn.0040c6f0
lea eax, [ebp - 0x200]
push eax
call fcn.0040c6f0
add esp, 0x14
mov ecx, dword [ebp - 0xac]
mov byte [ebp - 4], 0xe4
test ecx, ecx
je 0x424fca
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edi, dword [ebp - 0xe8]
test edi, edi
je 0x42500d
mov eax, dword [ebp - 0xf4]
lea ebx, [ebx]
mov esi, dword [eax + edi*4 - 4]
dec edi
test esi, esi
je 0x425009
push dword [esi + 0xc]
call fcn.0055801b
push dword [esi]
call fcn.0055801b
push 0x18
push esi
call fcn.00558004
mov eax, dword [ebp - 0xf4]
add esp, 0x10
test edi, edi
jne 0x424fe0
push dword [ebp - 0xf4]
call fcn.0055801b
push dword [ebp - 0x12c]
call fcn.0055801b
push dword [ebp - 0xa4]
call fcn.0055801b
mov esi, dword [ebp - 0x48]
add esp, 0xc
mov eax, dword [ebp - 0x110]
mov byte [ebp - 4], 0xe5
test eax, eax
je 0x425048
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 4], 0xe6
test ecx, ecx
je 0x42505f
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.00557e89
mov esp, ebp
pop ebp
ret
push 0x5f2918
lea eax, [ebp - 0x84]
mov dword [ebp - 0x84], 0x7e5
push eax
call fcn.0055ca0e
push 0x5f2918
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], 0x7e5
push eax
call fcn.0055ca0e
int3