Function at 0x1004cd00
Capabilities:
Access peb ldr_data
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101617c2
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x17bac
call fcn.1015dc90
mov eax, dword [0x101ed004]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x17a80], edi
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebp - 0x17ab0], ecx
mov ecx, edi
mov dword [ebp - 0x17ac4], edi
call dword [eax + 0x5c]
push 0x17940
call fcn.101427a2
mov esi, eax
mov dword [ebp - 0x7c], esi
push 0x17940
push 0
push esi
mov dword [ebp - 4], 0
call fcn.10143f10
add esp, 0x10
mov ecx, esi
call fcn.1004bfe0
mov dword [ebp - 4], 0xffffffff
push 0x18
mov dword [edi + 0x810], eax
call fcn.101427a2
mov dword [ebp - 0x7c], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x64], xmm0
add esp, 4
mov byte [ebp - 0x17a91], 0
movups xmmword [eax], xmm0
mov dword [ebp - 0x64], 0
movq qword [eax + 0x10], xmm0
mov ecx, dword [edi + 0x30]
mov dword [eax], vtable.ZpaqInput.0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [edi + 0x814], eax
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 4], 1
movups xmmword [ebp - 0xb4], xmm0
mov dword [ebp - 0x17b18], 0x107a3fff
movups xmmword [ebp - 0xa4], xmm0
mov byte [ebp - 0x17aa6], 1
movlpd qword [ebp - 0x80], xmm0
movlpd qword [ebp - 0x17ac0], xmm0
mov dword [ebp - 0xb4], vtable.libzpaq::StringBuffer.1.0
mov dword [ebp - 0xb0], vtable.libzpaq::StringBuffer.0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xffffffff
mov dword [ebp - 0x98], 0x8040
movq qword [ebp - 0xc0], xmm0
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xb8], 0
push 0x101d45b4
mov dword [ebp - 0xc0], 0x101d1eb4
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
call fcn.100100c0
add edi, 0x818
mov byte [ebp - 4], 3
mov dword [ebp - 0x17b0c], 1
cmp dword [edi + 8], 1
jb 0x1004cefe
mov edx, dword [edi + 4]
mov esi, 1
cmp edx, esi
jae 0x1004cef5
mov eax, esi
lea ecx, [edx*8]
sub eax, edx
sub ecx, edx
push eax
mov eax, dword [edi]
lea eax, [eax + ecx*4]
push eax
call fcn.100507b0
mov dword [edi + 4], 1
jmp 0x1004cf30
push 1
mov ecx, edi
call fcn.100507f0
mov esi, 1
test al, al
je 0x1004cf30
mov edx, dword [edi + 4]
mov eax, esi
sub eax, edx
push eax
mov eax, dword [edi]
lea ecx, [edx*8]
sub ecx, edx
lea eax, [eax + ecx*4]
push eax
call fcn.100507b0
mov dword [edi + 4], esi
nop
push 1
lea ecx, [ebp - 0x64]
call fcn.10050710
mov edi, dword [ebp - 0x64]
test al, al
je 0x1004cf78
mov ecx, dword [ebp - 0x60]
sub esi, ecx
lea eax, [ecx*8]
sub eax, ecx
lea ecx, [edi + eax*8]
test esi, esi
je 0x1004cf6e
lea eax, [esi*8]
sub eax, esi
shl eax, 3
push eax
push 0
push ecx
call fcn.10143f10
add esp, 0xc
mov esi, 1
mov dword [ebp - 0x60], esi
jmp 0x1004cf7b
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x7c]
xorps xmm0, xmm0
mov dword [ebp - 0x17b08], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x17ab4], eax
mov eax, dword [ebp - 0x17abc]
movsd qword [ebp - 0x17b40], xmm0
movsd xmm0, qword [0x101dc6e0]
mov dword [ebp - 0x17ab8], eax
mov eax, dword [ebp - 0x17ac0]
mov dword [ebp - 0x17aac], eax
movsd qword [ebp - 0x17b48], xmm0
cmp byte [ebp - 0x17a91], 0
jne 0x1004e9ee
push 0x17940
lea eax, [ebp - 0x17a7c]
push 0
push eax
call fcn.10143f10
add esp, 0xc
lea ecx, [ebp - 0x17a7c]
call fcn.1004bfe0
mov eax, dword [ebp - 0x17a80]
movsd xmm0, qword [ebp - 0x17b40]
mov byte [ebp - 4], 5
movsd qword [ebp - 0x17b38], xmm0
mov eax, dword [eax + 0x814]
mov dword [ebp - 0x17a04], eax
nop dword [eax]
nop dword [eax + eax]
lea eax, [ebp - 0x17b38]
push eax
lea ecx, [ebp - 0x17a7c]
call fcn.100ad090
test al, al
je 0x1004e94b
mov dword [ebp - 0x54], 0x101d4810
mov dword [ebp - 0x50], 0x101d1eb4
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x74], 0x101d4810
mov dword [ebp - 0x70], 0x101d1eb4
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov byte [ebp - 4], 7
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x17aa5], 0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x17a7c]
call fcn.100ad1d0
test al, al
je 0x1004e8a3
mov edx, dword [ebp - 0x4c]
test edx, edx
je 0x1004d0da
xor ecx, ecx
test edx, edx
jle 0x1004d0cb
test ecx, ecx
js 0x1004d0c6
cmp ecx, edx
jg 0x1004d0c6
mov eax, dword [ebp - 0x50]
cmp word [eax + ecx*2], 0x5c
jne 0x1004d0c6
mov edx, 0x2f
mov word [eax + ecx*2], dx
mov edx, dword [ebp - 0x4c]
inc ecx
cmp ecx, edx
jl 0x1004d0a8
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0xc0]
call fcn.10010220
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x1004d0f1
cmp eax, 0x101d1eb4
je 0x1004d0f1
push eax
call fcn.10146720
add esp, 4
mov dword [ebp - 0x70], 0x101d1eb4
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x144], 3
mov eax, dword [ebp - 0x17a08]
lea ecx, [ebp - 0x17a08]
mov eax, dword [eax]
call eax
cmp eax, 0xffffffff
je 0x1004ebe4
test eax, eax
jne 0x1004e895
mov eax, dword [ebp - 0x17a08]
lea ecx, [ebp - 0x17a08]
mov eax, dword [eax]
call eax
test eax, eax
jne 0x1004ebee
mov ecx, dword [ebp - 0x6c]
cmp ecx, 4
jl 0x1004d1b6
lea eax, [ecx - 4]
sub ecx, eax
push ecx
push eax
lea eax, [ebp - 0x17b24]
push eax
lea ecx, [ebp - 0x70]
call fcn.10010380
or dword [ebp - 0x17ab0], 1
mov ecx, 0x101d45bc
mov eax, dword [ebp - 0x17b24]
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1004d1a6
test dx, dx
je 0x1004d1a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1004d1a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x1004d180
xor eax, eax
jmp 0x1004d1ab
sbb eax, eax
or eax, 1
mov byte [ebp - 0x17a89], 1
test eax, eax
je 0x1004d1bd
mov byte [ebp - 0x17a89], 0
mov eax, dword [ebp - 0x17ab0]
test al, 1
je 0x1004d208
and eax, 0xfffffffe
mov dword [ebp - 0x17ab0], eax
mov eax, dword [ebp - 0x17b24]
test eax, eax
je 0x1004d1ea
cmp eax, 0x101d1eb4
je 0x1004d1ea
push eax
call fcn.10146720
add esp, 4
mov dword [ebp - 0x17b24], 0x101d1eb4
mov dword [ebp - 0x17b20], 0
mov dword [ebp - 0x17b1c], 0
cmp byte [ebp - 0x17a89], 0
je 0x1004e403
cmp dword [ebp - 0x4c], 0x1c
jne 0x1004d27a
push 3
push 0
lea eax, [ebp - 0x17b30]
push eax
lea ecx, [ebp - 0x50]
call fcn.10010380
mov ecx, dword [ebp - 0x17ab0]
or ecx, 2
mov dword [ebp - 0x17ab0], ecx
mov ecx, 0x101d45c8
mov eax, dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1004d26a
test dx, dx
je 0x1004d266
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1004d26a
add eax, 4
add ecx, 4
test dx, dx
jne 0x1004d244
xor eax, eax
jmp 0x1004d26f
sbb eax, eax
or eax, 1
mov byte [ebp - 0x17a89], 0
test eax, eax
je 0x1004d281
mov byte [ebp - 0x17a89], 1
mov eax, dword [ebp - 0x17ab0]
test al, 2
je 0x1004d2cc
and eax, 0xfffffffd
mov dword [ebp - 0x17ab0], eax
mov eax, dword [ebp - 0x17b30]
test eax, eax
je 0x1004d2ae
cmp eax, 0x101d1eb4
je 0x1004d2ae
push eax
call fcn.10146720
add esp, 4
mov dword [ebp - 0x17b30], 0x101d1eb4
mov dword [ebp - 0x17b2c], 0
mov dword [ebp - 0x17b28], 0
cmp byte [ebp - 0x17a89], 0
jne 0x1004ebf8
cmp byte [ebp - 0x17aa5], 0
jne 0x1004ec02
xorps xmm0, xmm0
xor esi, esi
movlpd qword [ebp - 0x80], xmm0
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x17a84], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x17a90], eax
cmp esi, dword [ebp - 0x6c]
jge 0x1004d3c6
test esi, esi
js 0x1004d318
mov eax, dword [ebp - 0x70]
movzx eax, word [eax + esi*2]
jmp 0x1004d31a
xor eax, eax
movzx eax, ax
push eax
call fcn.1014ec00
add esp, 4
test eax, eax
je 0x1004d3c6
test esi, esi
js 0x1004d346
cmp esi, dword [ebp - 0x6c]
jg 0x1004d346
mov eax, dword [ebp - 0x70]
movzx eax, word [eax + esi*2]
mov dword [ebp - 0x17a88], eax
jmp 0x1004d350
mov dword [ebp - 0x17a88], 0
mov edx, dword [ebp - 0x17a90]
mov eax, edx
mov ecx, dword [ebp - 0x17a84]
mov dword [ebp - 0x17a84], ecx
shld ecx, eax, 2
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x17a84]
mov dword [ebp - 0x17a90], edx
adc eax, ecx
mov ecx, edx
shld eax, ecx, 1
mov dword [ebp - 0x17a84], eax
add ecx, ecx
mov eax, dword [ebp - 0x17a88]
movzx eax, ax
cdq
add ecx, eax
mov eax, dword [ebp - 0x17a84]
adc eax, edx
sub ecx, 0x30
mov dword [ebp - 0x17a90], ecx
sbb eax, 0
mov dword [ebp - 0x17a84], eax
js 0x1004d3c0
jg 0x1004ec0c
cmp ecx, 0xffffffff
ja 0x1004ec0c
inc esi
jmp 0x1004d302
mov esi, dword [ebp - 0x50]
xorps xmm0, xmm0
movlpd qword [ebp - 0x80], xmm0
mov eax, 3
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x80]
movlpd qword [ebp - 0x17ac0], xmm0
mov dword [ebp - 0x17aa0], eax
mov dword [ebp - 0x17aa4], ecx
mov dword [ebp - 0x17a98], edx
cmp eax, dword [ebp - 0x4c]
jg 0x1004d401
movzx eax, word [esi + eax*2]
jmp 0x1004d403
xor eax, eax
movzx eax, ax
push eax
call fcn.1014ec00
add esp, 4
test eax, eax
je 0x1004ecb6
mov eax, dword [ebp - 0x17aa0]
mov esi, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x4c]
jg 0x1004d431
movzx eax, word [esi + eax*2]
mov dword [ebp - 0x17a88], eax
jmp 0x1004d43b
mov dword [ebp - 0x17a88], 0
mov edx, dword [ebp - 0x17a98]
mov eax, edx
mov ecx, dword [ebp - 0x17aa4]
mov dword [ebp - 0x17aa4], ecx
shld ecx, eax, 2
shl eax, 2
add edx, eax
mov eax, dword [ebp - 0x17aa4]
mov dword [ebp - 0x17a98], edx
adc eax, ecx
mov ecx, edx
shld eax, ecx, 1
mov dword [ebp - 0x17aa4], eax
add ecx, ecx
mov eax, dword [ebp - 0x17a88]
movzx eax, ax
cdq
add ecx, eax
mov eax, dword [ebp - 0x17aa4]
adc eax, edx
sub ecx, 0x30
mov dword [ebp - 0x17a98], ecx
sbb eax, 0
mov dword [ebp - 0x17aa4], eax
mov eax, dword [ebp - 0x17aa0]
inc eax
mov dword [ebp - 0x17aa0], eax
cmp eax, 0x11
jl 0x1004d3f6
jne 0x1004ecb6
mov eax, dword [ebp - 0x17aa4]
add ecx, 0x37bfd000
adc eax, 0xffffeeb8
cmp eax, 0xa01
ja 0x1004ecb6
jb 0x1004d4e0
cmp ecx, 0x2317afff
ja 0x1004ecb6
mov ecx, dword [ebp - 0x17abc]
mov eax, 0x12
mov dword [ebp - 0x17aa0], ecx
mov ecx, dword [ebp - 0x17ac0]
mov dword [ebp - 0x17a88], eax
mov dword [ebp - 0x17a9c], ecx
cmp eax, dword [ebp - 0x4c]
jg 0x1004d50e
movzx eax, word [esi + eax*2]
jmp 0x1004d510
xor eax, eax
movzx eax, ax
push eax
call fcn.1014ec00
add esp, 4
test eax, eax
je 0x1004ecac
mov eax, dword [ebp - 0x17a88]
mov esi, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x4c]
jg 0x1004d538
movzx edx, word [esi + eax*2]
jmp 0x1004d53a
xor edx, edx
mov eax, dword [ebp - 0x17a9c]
mov ecx, dword [ebp - 0x17aa0]
mov dword [ebp - 0x17a9c], eax
mov dword [ebp - 0x17aa0], ecx
shld ecx, eax, 2
shl eax, 2
add dword [ebp - 0x17a9c], eax
mov eax, dword [ebp - 0x17aa0]
adc eax, ecx
mov ecx, dword [ebp - 0x17a9c]
shld eax, ecx, 1
mov dword [ebp - 0x17aa0], eax
add ecx, ecx
movzx eax, dx
cdq
add ecx, eax
mov eax, dword [ebp - 0x17aa0]
adc eax, edx
sub ecx, 0x30
mov dword [ebp - 0x17a9c], ecx
sbb eax, 0
mov dword [ebp - 0x17aa0], eax
mov eax, dword [ebp - 0x17a88]
inc eax
mov dword [ebp - 0x17a88], eax
cmp eax, 0x1c
jl 0x1004d503
jne 0x1004ecac
cmp dword [ebp - 0x17aa0], 0
jg 0x1004ecac
jl 0x1004d5cd
cmp ecx, 0xffffffff
ja 0x1004ecac
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0xa4], 0
push 0x40
cmovne eax, ecx
mov dword [ebp - 0x134], 0x67452301
mov dword [ebp - 0xa0], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x17a90]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x120]
push ecx
push eax
movlpd qword [ebp - 0x13c], xmm0
mov dword [ebp - 0x130], 0xefcdab89
mov dword [ebp - 0x12c], 0x98badcfe
mov dword [ebp - 0x128], 0x10325476
mov dword [ebp - 0x124], 0xc3d2e1f0
call fcn.10143f10
add esp, 0xc
lea eax, [ebp - 0x13c]
cmp dword [ebp - 0x4c], 0x11
mov dword [ebp - 0x1b4], eax
jge 0x1004d667
xor eax, eax
jmp 0x1004d66b
movzx eax, word [esi + 0x22]
movzx eax, ax
push eax
push 0x101d464c
call fcn.101446d0
add esp, 8
test eax, eax
je 0x1004d747
movsd xmm0, qword [ebp - 0x17b38]
comisd xmm0, xmmword [ebp - 0x17b48]
ja 0x1004ec16
push 0xffffffffffffffff
lea ecx, [ebp - 0x17a7c]
call fcn.100ad260
lea eax, [ebp - 0x44]
mov dword [ebp - 0x34], 0
xorps xmm0, xmm0
mov byte [ebp - 0x30], 0
push eax
lea ecx, [ebp - 0x17a7c]
movups xmmword [ebp - 0x44], xmm0
call fcn.100ad3a0
mov ecx, dword [ebp - 0xa4]
xor eax, eax
mov edx, dword [ebp - 0x17a90]
cmp ecx, edx
jne 0x1004ec34
cmp eax, dword [ebp - 0x17a84]
jne 0x1004ec34
mov eax, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x138]
shrd eax, esi, 3
shr esi, 3
cmp edx, eax
jne 0x1004ec2a
cmp dword [ebp - 0x17a84], esi
jne 0x1004ec2a
cmp byte [ebp - 0x44], 0
je 0x1004d75a
lea ecx, [ebp - 0x13c]
call fcn.100aa140
lea edx, [ebp - 0x43]
mov esi, 0x10
nop word [eax + eax]
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x1004ec20
add edx, 4
add eax, 4
sub esi, 4
jae 0x1004d730
jmp 0x1004d754
push 0
lea ecx, [ebp - 0x17a7c]
call fcn.100ad3a0
mov ecx, dword [ebp - 0xa4]
cmp dword [ebp - 0x4c], 0x11
jl 0x1004eca2
mov eax, dword [ebp - 0x50]
movzx edx, word [eax + 0x22]
cmp edx, 0x63
jne 0x1004db1d
cmp ecx, 8
jb 0x1004ec3e
mov esi, dword [ebp - 0x17a80]
mov eax, dword [esi + 0x814]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov dword [ebp - 0x17aac], eax
mov ecx, edx
mov eax, dword [ebp - 0x179f0]
sub eax, dword [ebp - 0x179f4]
cdq
sub dword [ebp - 0x17aac], eax
mov eax, dword [ebp - 0xac]
sbb ecx, edx
mov dword [ebp - 0x17a88], eax
add dword [ebp - 0x17aac], 1
adc ecx, 0
mov dword [ebp - 0x17ab8], ecx
lea ecx, [ebp - 0x17a88]
call fcn.1004c7c0
mov ecx, edx
mov dword [ebp - 0x17a88], eax
mov dword [ebp - 0x17a90], ecx
test ecx, ecx
jl 0x1004daab
jg 0x1004d7f7
test eax, eax
jb 0x1004daab
mov edx, 0x5af3
cmp edx, dword [ebp - 0x17aa4]
jl 0x1004daab
jg 0x1004d81c
mov edx, dword [ebp - 0x17a98]
cmp dword [ebp - 0x17b18], edx
jb 0x1004daab
or eax, ecx
je 0x1004d860
mov eax, dword [esi + 0x814]
mov edx, dword [ebp - 0x17a88]
add edx, dword [ebp - 0x17aac]
mov dword [ebp - 0x17a84], eax
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x17a90]
adc eax, dword [ebp - 0x17ab8]
push 0
mov esi, dword [ecx]
push eax
push edx
mov eax, dword [esi + 0x20]
call eax
mov ecx, eax
mov eax, dword [ebp - 0x17a84]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
push 0x38
lea eax, [ebp - 0x17b80]
push 0
push eax
call fcn.10143f10
mov ecx, dword [ebp - 0x60]
add esp, 0xc
mov esi, ecx
cmp esi, dword [ebp - 0x5c]
jb 0x1004d893
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x64]
call fcn.10050710
mov edi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
test al, al
je 0x1004d8d1
movups xmm0, xmmword [ebp - 0x17b80]
lea eax, [esi*8]
sub eax, esi
inc ecx
mov dword [ebp - 0x60], ecx
movups xmmword [edi + eax*8], xmm0
movups xmm0, xmmword [ebp - 0x17b70]
movups xmmword [edi + eax*8 + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x17b60]
movups xmmword [edi + eax*8 + 0x20], xmm0
movq xmm0, qword [ebp - 0x17b50]
movq qword [edi + eax*8 + 0x30], xmm0
mov eax, dword [ebp - 0x17a80]
lea esi, [ecx*8]
mov edx, dword [ebp - 0x17aa4]
sub esi, ecx
mov eax, dword [eax + 0x81c]
mov dword [edi + esi*8 - 8], eax
mov eax, dword [ebp - 0x17ab4]
mov dword [edi + esi*8 - 0x28], eax
mov eax, dword [ebp - 0x17b08]
mov dword [edi + esi*8 - 0x24], eax
mov eax, dword [ebp - 0x17aac]
mov dword [edi + esi*8 - 0x20], eax
mov eax, dword [ebp - 0x17ab8]
mov dword [edi + esi*8 - 0x1c], eax
mov eax, dword [ebp - 0x17a98]
mov dword [edi + esi*8 - 0x30], eax
mov dword [edi + esi*8 - 0x2c], edx
mov dword [edi + esi*8 - 0x38], eax
mov eax, dword [ebp - 0x17a88]
mov dword [edi + esi*8 - 0x34], edx
mov edx, dword [ebp - 0x17a90]
mov dword [edi + esi*8 - 0x18], eax
mov dword [edi + esi*8 - 0x14], edx
cmp ecx, 2
jb 0x1004da9d
xorps xmm0, xmm0
mov dword [ebp - 0xc4], 0
push ecx
lea edx, [ecx - 1]
movq qword [ebp - 0xcc], xmm0
lea ecx, [ebp - 0xcc]
call fcn.1004ef20
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x17ad4], 0
movlpd qword [ebp - 0x17ae4], xmm0
mov dword [ebp - 0x17ad0], 0
mov dword [ebp - 0x17acc], 0
mov dword [ebp - 0x17ac8], 0
mov eax, dword [edi + esi*8 - 0x30]
mov ecx, dword [edi + esi*8 - 0x2c]
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x17aec], eax
mov dword [ebp - 0x17ae8], ecx
mov dword [ebp - 0x17adc], 0x1077
mov dword [ebp - 0x17ad8], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0x17a80]
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x17aec]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0xcc]
push eax
call fcn.1004f0c0
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x1004da48
push eax
call fcn.10146720
add esp, 4
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x17ad4]
test eax, eax
je 0x1004da5b
push eax
call fcn.10146720
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x1004da79
cmp eax, 0x101d1eb4
je 0x1004da79
push eax
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0x17a88]
mov dword [ebp - 0xcc], 0x101d1eb4
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
or eax, dword [ebp - 0x17a90]
je 0x1004e857
jmp 0x1004dab2
mov byte [ebp - 0x17a91], 1
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x1004dac9
cmp eax, 0x101d1eb4
je 0x1004dac9
push eax
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x70], 0x101d1eb4
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x74], vtable.libzpaq::Writer.0
test eax, eax
je 0x1004dafc
cmp eax, 0x101d1eb4
je 0x1004dafc
push eax
call fcn.10146720
add esp, 4
mov dword [ebp - 0x50], 0x101d1eb4
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x54], vtable.libzpaq::Writer.0
jmp 0x1004e959
cmp edx, 0x68
jne 0x1004df79
mov eax, dword [ebp - 0x60]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [ebp - 0x17aa4]
cmp eax, dword [edi + ecx*8 - 0x2c]
jl 0x1004db54
mov edx, dword [ebp - 0x17a98]
jg 0x1004db4c
cmp edx, dword [edi + ecx*8 - 0x30]
jbe 0x1004db54
mov dword [edi + ecx*8 - 0x30], edx
mov dword [edi + ecx*8 - 0x2c], eax
mov esi, dword [ebp - 0xa4]
mov eax, 0xaaaaaaab
mul esi
mov eax, esi
shr edx, 4
lea ecx, [edx + edx*2]
shl ecx, 3
sub eax, ecx
cmp eax, 4
jne 0x1004ec48
lea ecx, [esi - 4]
mov eax, 0xaaaaaaab
mul ecx
mov eax, edx
mov edx, dword [ebp - 0x17aa0]
shr eax, 4
mov dword [ebp - 0x17aa4], eax
test edx, edx
jl 0x1004ec5c
jg 0x1004dba9
cmp dword [ebp - 0x17a9c], 1
jb 0x1004ec5c
mov ecx, eax
xor eax, eax
add ecx, dword [ebp - 0x17a9c]
adc eax, edx
test eax, eax
jg 0x1004ec5c
jl 0x1004dbc8
cmp ecx, 0xffffffff
ja 0x1004ec5c
mov esi, dword [ebp - 0xac]
add esi, 4
mov dword [ebp - 0x17a88], esi
movsx eax, byte [esi - 1]
cdq
mov ecx, eax
movzx eax, byte [esi - 2]
shld edx, ecx, 8
cdq
shl ecx, 8
or ecx, eax
xor eax, eax
movzx ecx, cx
shld eax, ecx, 8
mov dword [ebp - 0x17a90], eax
movzx eax, byte [esi - 3]
cdq
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x17a90]
or eax, edx
shld eax, ecx, 8
mov dword [ebp - 0x17a90], eax
movzx eax, byte [esi - 4]
cdq
or dword [ebp - 0x17a90], edx
shl ecx, 8
or ecx, eax
xor eax, eax
mov dword [ebp - 0x17a98], ecx
cmp eax, dword [ebp - 0x17aa0]
jl 0x1004dc5d
jg 0x1004dc4d
mov edx, dword [ebp - 0x17a80]
mov ecx, dword [ebp - 0x17a9c]
cmp dword [edx + 0x81c], ecx
jbe 0x1004dc69
push 1
call fcn.1014c337
push eax
call fcn.1014ef77
add esp, 8
mov edx, dword [ebp - 0x17a80]
mov ecx, dword [ebp - 0x17a9c]
xor eax, eax
mov dword [ebp - 0x17a84], eax
cmp eax, dword [ebp - 0x17aa4]
jae 0x1004df50
test eax, eax
jne 0x1004dda3
mov eax, dword [ebp - 0x17aac]
lea esi, [edx + 0x828]
xorps xmm0, xmm0
mov dword [ebp - 0x17b04], eax
mov eax, dword [ebp - 0x17ab8]
sub esp, 0x40
movlpd qword [ebp - 0x17af4], xmm0
mov dword [ebp - 0x17b00], eax
mov eax, esp
mov dword [ebp - 0x17afc], 0xffffffff
mov dword [ebp - 0x17af8], 0xffffffff
movups xmm0, xmmword [ebp - 0x17b04]
mov dword [ebp - 0x17aec], 0
mov dword [ebp - 0x17ae8], 0
movups xmmword [eax], xmm0
mov dword [ebp - 0x17adc], ecx
mov ecx, esi
movups xmm0, xmmword [ebp - 0x17af4]
mov dword [ebp - 0x17ae4], 0
mov dword [ebp - 0x17ae0], 0
movups xmmword [eax + 0x10], xmm0
mov dword [ebp - 0x17ad8], 0
movups xmm0, xmmword [ebp - 0x17ae4]
mov dword [ebp - 0x17ad4], 0
mov dword [ebp - 0x17ad0], 0
movups xmmword [eax + 0x20], xmm0
mov dword [ebp - 0x17acc], 0
movups xmm0, xmmword [ebp - 0x17ad4]
movups xmmword [eax + 0x30], xmm0
call fcn.10050570
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [ebp - 0x17a98]
shl ecx, 6
mov dword [ecx + eax - 0x38], 8
mov dword [ecx + eax - 0x34], 0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
shl ecx, 6
mov dword [ecx + eax - 0x30], edx
mov edx, dword [ebp - 0x17a90]
mov dword [ecx + eax - 0x2c], edx
mov eax, 0xaaaaaaab
mul dword [ebp - 0xa4]
mov ecx, dword [esi + 4]
mov eax, dword [esi]
shr edx, 4
shl ecx, 6
mov dword [ecx + eax - 0x10], edx
mov eax, dword [ebp - 0x17a84]
xor ecx, ecx
add eax, dword [ebp - 0x17a9c]
mov dword [ebp - 0x7c], eax
adc ecx, dword [ebp - 0x17aa0]
xor edx, edx
mov dword [ebp - 0x17abc], ecx
cmp edx, ecx
jg 0x1004de8f
jl 0x1004ddd8
mov ecx, dword [ebp - 0x17a80]
cmp dword [ecx + 0x81c], eax
ja 0x1004de8f
mov eax, dword [ebp - 0x17a80]
lea esi, [eax + 0x818]
jmp 0x1004ddf2
mov eax, ecx
mov eax, dword [eax + 0x82c]
xorps xmm0, xmm0
dec eax
mov dword [ebp - 0x17ad0], 0
mov dword [ebp - 0x17b10], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x17acc], 0xfffffffe
mov dword [ebp - 0x17b14], eax
cmp eax, dword [esi + 8]
jb 0x1004de3a
inc eax
mov ecx, esi
push eax
call fcn.100507f0
test al, al
je 0x1004de64
mov eax, dword [ebp - 0x17b14]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x17b10]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi]
movups xmmword [eax + ecx*4], xmm0
movq xmm0, qword [ebp - 0x17ad0]
movq qword [eax + ecx*4 + 0x10], xmm0
mov dword [eax + ecx*4 + 0x18], edx
inc dword [esi + 4]
xor eax, eax
cmp eax, dword [ebp - 0x17abc]
mov eax, dword [ebp - 0x17a80]
jl 0x1004ddf2
jg 0x1004de8f
mov ecx, dword [ebp - 0x17a80]
mov eax, dword [ebp - 0x7c]
cmp dword [ecx + 0x81c], eax
jbe 0x1004ddf0
mov eax, dword [ebp - 0x17a84]
add eax, dword [ebp - 0x17a9c]
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ebp - 0x17a80]
shl edx, 2
mov dword [ebp - 0x7c], edx
mov ecx, dword [eax + 0x818]
add ecx, edx
mov edx, dword [ebp - 0x17a88]
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
mov eax, dword [edx + 0x10]
add edx, 0x18
mov dword [ecx + 0x10], eax
mov dword [ebp - 0x17a88], edx
movsx eax, byte [edx - 2]
movzx esi, al
movsx eax, byte [edx - 1]
shl eax, 8
or esi, eax
movsx eax, byte [edx - 3]
shl esi, 8
movzx eax, al
or esi, eax
movsx eax, byte [edx - 4]
shl esi, 8
movzx eax, al
or esi, eax
cmp esi, 0x7fffffff
ja 0x1004ec52
mov eax, dword [ebp - 0x17a80]
mov edi, dword [ebp - 0x7c]
mov edx, dword [eax + 0x82c]
mov ecx, dword [eax + 0x828]
mov eax, dword [eax + 0x818]
shl edx, 6
mov dword [edi + eax + 0x14], esi
lea eax, [esi + 4]
add dword [edx + ecx - 0x38], eax
mov eax, dword [ebp - 0x17a84]
adc dword [edx + ecx - 0x34], 0
inc eax
mov edi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x17a9c]
mov edx, dword [ebp - 0x17a80]
jmp 0x1004dc6b
mov eax, dword [ebp - 0x17aac]
add eax, dword [ebp - 0x17a98]
mov dword [ebp - 0x17aac], eax
mov eax, dword [ebp - 0x17ab8]
adc eax, dword [ebp - 0x17a90]
mov dword [ebp - 0x17ab8], eax
jmp 0x1004e857
cmp edx, 0x69
jne 0x1004eca2
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x17aa4]
lea eax, [edx*8]
sub eax, edx
cmp esi, dword [edi + eax*8 - 0x2c]
jl 0x1004dfb6
mov edx, dword [ebp - 0x17a98]
jg 0x1004dfa8
cmp edx, dword [edi + eax*8 - 0x30]
jbe 0x1004dfb6
mov dword [edi + eax*8 - 0x30], edx
mov dword [edi + eax*8 - 0x2c], esi
mov ecx, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xac]
add ecx, esi
mov dword [ebp - 0x17a84], esi
mov dword [ebp - 0x17a90], ecx
nop word [eax + eax]
lea eax, [esi + 9]
cmp eax, ecx
ja 0x1004e857
xorps xmm0, xmm0
mov dword [ebp - 0x17ad4], 0
movlpd qword [ebp - 0x17ae4], xmm0
movlpd qword [ebp - 0x17adc], xmm0
mov dword [ebp - 0x17ad0], 0
mov dword [ebp - 0x17acc], 0
mov dword [ebp - 0x17ac8], 0
lea ecx, [ebp - 0x17a84]
mov byte [ebp - 4], 0xb
call fcn.1004c7c0
mov ecx, eax
mov dword [ebp - 0x17abc], eax
or ecx, edx
mov dword [ebp - 0x17aec], eax
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x17ae8], edx
lea eax, [ecx*8]
je 0x1004e04f
sub eax, ecx
inc dword [edi + eax*8 - 0x10]
jmp 0x1004e055
sub eax, ecx
inc dword [edi + eax*8 - 0xc]
mov ecx, dword [ebp - 0x17a84]
mov esi, ecx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x1004e060
sub esi, edx
cmp esi, 0xffff
ja 0x1004ec66
test ecx, ecx
je 0x1004e0ca
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1004e080
sub ecx, edx
push 2
lea eax, [ecx + 1]
push eax
mov dword [ebp - 0x7c], eax
call fcn.1014bd06
mov edi, eax
add esp, 8
test edi, edi
je 0x1004e0ca
push 0
push dword [ebp - 0x7c]
xor edx, edx
mov ecx, 0xfde9
push edi
push 0xffffffffffffffff
push dword [ebp - 0x17a84]
call fcn.1000fe90
add esp, 0x14
test eax, eax
jne 0x1004e0cc
push edi
call fcn.10146720
add esp, 4
xor edi, edi
xorps xmm0, xmm0
mov dword [ebp - 0x8c], 0
movq qword [ebp - 0x94], xmm0
lea ecx, [ebp - 0x94]
push edi
mov dword [ebp - 0x94], 0x101d1eb4
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
call fcn.100100c0
push edi
mov byte [ebp - 4], 0xc
call fcn.10146720
mov eax, dword [ebp - 0x17a84]
add esp, 4
mov ecx, dword [ebp - 0x17a90]
inc eax
add esi, eax
mov dword [ebp - 0x17a84], esi
cmp esi, ecx
ja 0x1004ec70
mov eax, dword [ebp - 0x17abc]
or eax, dword [ebp - 0x17ae8]
je 0x1004e2af
add esi, 4
cmp esi, ecx
ja 0x1004ec7a
movsx eax, byte [esi - 2]
movzx edi, al
movsx eax, byte [esi - 1]
shl eax, 8
or edi, eax
movsx eax, byte [esi - 3]
shl edi, 8
movzx eax, al
or edi, eax
movsx eax, byte [esi - 4]
shl edi, 8
movzx eax, al
or edi, eax
lea eax, [esi + edi]
cmp eax, ecx
ja 0x1004ec98
cmp edi, 0xffff
ja 0x1004ec98
xor eax, eax
mov dword [ebp - 0x17a88], eax
test edi, edi
je 0x1004e201
xor ecx, ecx
mov edx, esi
mov dword [ebp - 0x17a84], ecx
mov dword [ebp - 0x17a98], edx
nop dword [eax]
cmp eax, 8
jae 0x1004e1dc
movzx eax, byte [esi]
cdq
call fcn.1015dcc0
add dword [ebp - 0x17adc], eax
mov eax, dword [ebp - 0x17a88]
adc dword [ebp - 0x17ad8], edx
mov ecx, dword [ebp - 0x17a84]
mov edx, dword [ebp - 0x17a98]
inc eax
lea esi, [edx + 1]
add ecx, 8
mov dword [ebp - 0x17a88], eax
mov dword [ebp - 0x17a84], ecx
mov edx, esi
mov dword [ebp - 0x17a98], esi
cmp eax, edi
jb 0x1004e1b0
mov ecx, dword [ebp - 0x17a90]
add esi, 4
cmp esi, ecx
ja 0x1004ec84
movsx eax, byte [esi - 2]
movzx edi, al
movsx eax, byte [esi - 1]
shl eax, 8
or edi, eax
mov dword [ebp - 0x17a84], esi
movsx eax, byte [esi - 3]
movzx eax, al
shl edi, 8
or edi, eax
movsx eax, byte [esi - 4]
movzx eax, al
shl edi, 8
or edi, eax
mov eax, ecx
sub eax, esi
shr eax, 2
cmp edi, eax
ja 0x1004ec8e
test edi, edi
je 0x1004e2af
push edi
lea ecx, [ebp - 0x17ad4]
call fcn.10008a90
test al, al
je 0x1004e265
mov dword [ebp - 0x17ad0], edi
jmp 0x1004e269
test edi, edi
je 0x1004e2af
xor edx, edx
nop dword [eax + eax]
movsx eax, byte [esi + 2]
add esi, 4
movzx ecx, al
mov dword [ebp - 0x17a84], esi
movsx eax, byte [esi - 1]
shl eax, 8
or ecx, eax
movsx eax, byte [esi - 3]
shl ecx, 8
movzx eax, al
or ecx, eax
movsx eax, byte [esi - 4]
shl ecx, 8
movzx eax, al
or ecx, eax
mov eax, dword [ebp - 0x17ad4]
mov dword [eax + edx*4], ecx
inc edx
cmp edx, edi
jb 0x1004e270
mov ecx, dword [ebp - 0x17a80]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x17aec]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.1004f0c0
test eax, eax
mov eax, dword [ebp - 0x94]
jne 0x1004e39e
mov dword [ebp - 0x17b0c], 0
mov byte [ebp - 0x17a91], 1
test eax, eax
je 0x1004e2ff
cmp eax, 0x101d1eb4
je 0x1004e2ff
push eax
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0x17ad4]
mov dword [ebp - 0x94], 0x101d1eb4
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
test eax, eax
je 0x1004e330
push eax
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x1004e347
cmp eax, 0x101d1eb4
je 0x1004e347
push eax
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x70], 0x101d1eb4
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x74], vtable.libzpaq::Writer.0
test eax, eax
je 0x1004e37a
cmp eax, 0x101d1eb4
je 0x1004e37a
push eax
call fcn.10146720
add esp, 4
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x50], 0x101d1eb4
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x54], vtable.libzpaq::Writer.0
jmp 0x1004e959
test eax, eax
je 0x1004e3b2
cmp eax, 0x101d1eb4
je 0x1004e3b2
push eax
call fcn.10146720
add esp, 4
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x17ad4]
mov dword [ebp - 0x94], 0x101d1eb4
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
test eax, eax
jne 0x1004e3ec
mov edi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x17a90]
jmp 0x1004dfd0
push eax
call fcn.10146720
mov edi, dword [ebp - 0x64]
add esp, 4
mov ecx, dword [ebp - 0x17a90]
jmp 0x1004dfd0
cmp esi, 1
jne 0x1004e4a7
push 0x38
lea eax, [ebp - 0x17bb8]
push 0
push eax
call fcn.10143f10
add esp, 0xc
cmp dword [ebp - 0x5c], esi
ja 0x1004e438
push 2
lea ecx, [ebp - 0x64]
call fcn.10050710
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
test al, al
je 0x1004e46a
movups xmm0, xmmword [ebp - 0x17bb8]
inc esi
mov dword [ebp - 0x60], esi
movups xmmword [edi + 0x38], xmm0
movups xmm0, xmmword [ebp - 0x17ba8]
movups xmmword [edi + 0x48], xmm0
movups xmm0, xmmword [ebp - 0x17b98]
movups xmmword [edi + 0x58], xmm0
movq xmm0, qword [ebp - 0x17b88]
movq qword [edi + 0x68], xmm0
mov eax, dword [ebp - 0x17a80]
lea ecx, [esi*8]
sub ecx, esi
mov eax, dword [eax + 0x81c]
mov dword [edi + ecx*8 - 8], eax
mov eax, dword [ebp - 0x17ab4]
mov dword [edi + ecx*8 - 0x28], eax
mov eax, dword [ebp - 0x17b08]
mov dword [edi + ecx*8 - 0x24], eax
mov dword [edi + ecx*8 - 0x18], 0xffffffff
mov dword [edi + ecx*8 - 0x14], 0xffffffff
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
xorps xmm0, xmm0
mov byte [ebp - 0x18], 0
push eax
lea ecx, [ebp - 0x17a7c]
movups xmmword [ebp - 0x2c], xmm0
call fcn.100ad3a0
xorps xmm0, xmm0
mov byte [ebp - 0x17aa5], 1
movlpd qword [ebp - 0x17aec], xmm0
movlpd qword [ebp - 0x17ae4], xmm0
movlpd qword [ebp - 0x17adc], xmm0
mov dword [ebp - 0x17ad4], 0
mov dword [ebp - 0x17ad0], 0
mov dword [ebp - 0x17acc], 0
mov dword [ebp - 0x17ac8], 0
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x4c], 0
jg 0x1004e525
cmp byte [ebp - 0x17aa6], 0
je 0x1004e53a
lea eax, [esi*8]
movlpd qword [ebp - 0x17adc], xmm0
sub eax, esi
inc dword [edi + eax*8 - 0x10]
mov eax, dword [ebp - 0x17a80]
lea ecx, [ebp - 0x17ad4]
push 1
mov esi, dword [eax + 0x81c]
call fcn.10008a90
test al, al
je 0x1004e565
mov eax, dword [ebp - 0x17ad4]
inc dword [ebp - 0x17ad0]
mov dword [eax], esi
cmp dword [ebp - 0x4c], 0
mov esi, dword [ebp - 0x17a80]
je 0x1004e69e
lea eax, [ebp - 0x64]
mov ecx, esi
push eax
lea eax, [ebp - 0x17aec]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.1004f0c0
test eax, eax
jne 0x1004e699
mov eax, dword [ebp - 0x17ad4]
test eax, eax
je 0x1004e5a6
push eax
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x1004e5bd
cmp eax, 0x101d1eb4
je 0x1004e5bd
push eax
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x70], 0x101d1eb4
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x74], vtable.libzpaq::Writer.0
test eax, eax
je 0x1004e5f0
cmp eax, 0x101d1eb4
je 0x1004e5f0
push eax
call fcn.10146720
add esp, 4
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x50], 0x101d1eb4
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x54], vtable.libzpaq::Writer.0
call fcn.100ac030
lea ecx, [ebp - 0x17a08]
call fcn.1004c140
lea ecx, [ebp - 0x17a7c]
call fcn.100ac030
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x1004e647
cmp eax, 0x101d1eb4
je 0x1004e647
push eax
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], vtable.libzpaq::StringBuffer.1.0
mov dword [ebp - 0xb0], vtable.libzpaq::StringBuffer.0
test eax, eax
je 0x1004e66e
push eax
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xb0], vtable.libzpaq::Writer.0
mov dword [ebp - 0xb4], vtable.libzpaq::Reader.0
test eax, eax
je 0x1004e692
push eax
call fcn.10146720
add esp, 4
xor eax, eax
jmp 0x1004ebc8
mov edi, dword [ebp - 0x64]
jmp 0x1004e6eb
mov eax, dword [esi + 0x81c]
mov dword [ebp - 0x17abc], eax
mov eax, dword [esi + 0x86c]
test eax, eax
je 0x1004e6eb
mov esi, dword [eax + 0xa0]
mov eax, dword [esi + 8]
mov dword [ebp - 0x7c], eax
cmp eax, dword [esi + 0xc]
jb 0x1004e6d3
inc eax
lea ecx, [esi + 4]
push eax
call fcn.10008a90
test al, al
je 0x1004e6e5
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x17abc]
mov dword [eax + ecx*4], edx
inc dword [esi + 8]
mov esi, dword [ebp - 0x17a80]
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x17ad4]
test eax, eax
je 0x1004e702
push eax
call fcn.10146720
add esp, 4
cmp dword [ebp - 0x78], 0
je 0x1004e716
mov eax, dword [esi + 0x82c]
test eax, eax
jne 0x1004e7ea
mov eax, dword [ebp - 0x17ab4]
lea ecx, [esi + 0x828]
mov dword [ebp - 0x17b04], eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x17b08]
sub esp, 0x40
mov dword [ebp - 0x17b00], eax
mov eax, dword [esi + 0x81c]
movlpd qword [ebp - 0x17af4], xmm0
mov dword [ebp - 0x17adc], eax
mov eax, esp
mov dword [ebp - 0x17afc], 0xffffffff
mov dword [ebp - 0x17af8], 0xffffffff
movups xmm0, xmmword [ebp - 0x17b04]
mov dword [ebp - 0x17aec], 0
mov dword [ebp - 0x17ae8], 0
movups xmmword [eax], xmm0
mov dword [ebp - 0x17ae4], 0
movups xmm0, xmmword [ebp - 0x17af4]
mov dword [ebp - 0x17ae0], 0
mov dword [ebp - 0x17ad8], 0
movups xmmword [eax + 0x10], xmm0
mov dword [ebp - 0x17ad4], 0
movups xmm0, xmmword [ebp - 0x17ae4]
mov dword [ebp - 0x17ad0], 0
mov dword [ebp - 0x17acc], 0
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x17ad4]
movups xmmword [eax + 0x30], xmm0
call fcn.10050570
mov eax, dword [esi + 0x82c]
movups xmm0, xmmword [ebp - 0x2b]
dec eax
mov dword [ebp - 0x17acc], 0xffffffff
add esi, 0x818
mov dword [ebp - 0x17abc], eax
mov eax, dword [ebp - 0x1b]
mov dword [ebp - 0x17ad0], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x7c], eax
cmp eax, dword [esi + 8]
jb 0x1004e82d
inc eax
mov ecx, esi
push eax
call fcn.100507f0
test al, al
je 0x1004e857
movups xmm0, xmmword [ebp - 0x2b]
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x17abc]
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi]
movups xmmword [eax + ecx*4], xmm0
movq xmm0, qword [ebp - 0x17ad0]
movq qword [eax + ecx*4 + 0x10], xmm0
mov dword [eax + ecx*4 + 0x18], edx
inc dword [esi + 4]
inc dword [ebp - 0x78]
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x1004e871
cmp eax, 0x101d1eb4
je 0x1004e871
push eax
call fcn.10146720
add esp, 4
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x50], 0x101d1eb4
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x17aa6], 0
jmp 0x1004d084
push eax
mov eax, dword [ebp - 0x74]
lea ecx, [ebp - 0x74]
call dword [eax]
jmp 0x1004d110
mov eax, dword [ebp - 0x17a80]
mov eax, dword [eax + 0x814]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov dword [ebp - 0x17ab4], eax
mov ecx, edx
mov eax, dword [ebp - 0x179f0]
sub eax, dword [ebp - 0x179f4]
cdq
sub dword [ebp - 0x17ab4], eax
mov eax, dword [ebp - 0x70]
sbb ecx, edx
mov dword [ebp - 0x17b08], ecx
test eax, eax
je 0x1004e8f3
cmp eax, 0x101d1eb4
je 0x1004e8f3
push eax
call fcn.10146720
add esp, 4
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x70], 0x101d1eb4
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x74], vtable.libzpaq::Writer.0
test eax, eax
je 0x1004e92a
cmp eax, 0x101d1eb4
je 0x1004e92a
push eax
call fcn.10146720
add esp, 4
mov dword [ebp - 0x50], 0x101d1eb4
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x54], vtable.libzpaq::Writer.0
jmp 0x1004d020
mov byte [ebp - 0x17a91], 1
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 4], 3
call fcn.100ac030
lea ecx, [ebp - 0x17a08]
call fcn.1004c140
lea ecx, [ebp - 0x17a7c]
call fcn.100ac030
mov esi, dword [ebp - 0x60]
jmp 0x1004cfc0
mov edx, dword [ebp - 0x17a80]
mov esi, dword [edx + 0x864]
lea ecx, [edx + 0x864]
mov eax, dword [esi]
mov dword [ebp - 0x78], eax
cmp eax, esi
je 0x1004ea67
lea esi, [edx + 0x18]
nop dword [eax]
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x1004ea3b
mov ecx, esi
call fcn.1001d790
test eax, eax
je 0x1004ea3b
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov dword [eax + ecx*4], edi
inc dword [esi + 8]
test byte [edi + 0x24], 0x10
je 0x1004ea38
inc dword [esi + 0x10]
jmp 0x1004ea3b
inc dword [esi + 0xc]
lea ecx, [ebp - 0x78]
call fcn.10050890
mov ecx, dword [ebp - 0x17a80]
mov eax, dword [ebp - 0x78]
add ecx, 0x864
mov edi, dword [ecx]
mov dword [ebp - 0x17ac4], edi
cmp eax, edi
jne 0x1004ea10
mov edi, dword [ebp - 0x64]
mov esi, dword [ebp - 0x17ac4]
push dword [esi + 4]
push ecx
call fcn.10050980
mov edx, dword [ebp - 0x17a80]
xor ecx, ecx
mov dword [esi + 4], esi
mov dword [esi], esi
mov dword [esi + 8], esi
mov dword [edx + 0x868], 0
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x17a88], ecx
test eax, eax
jle 0x1004eb60
nop
test ecx, ecx
js 0x1004eab1
cmp ecx, dword [edx + 0x20]
jge 0x1004eab1
mov eax, dword [edx + 0x18]
mov esi, dword [eax + ecx*4]
jmp 0x1004eab3
xor esi, esi
mov eax, dword [esi + 0xa0]
xor edx, edx
mov dword [ebp - 0x78], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x17ac4], eax
test eax, eax
jle 0x1004eb47
mov ecx, dword [ebp - 0x17a80]
mov edi, eax
mov eax, dword [esi + 0xa0]
mov eax, dword [eax + 4]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x1004eb39
cmp eax, dword [ecx + 0x81c]
jae 0x1004eb39
cmp dword [esi + 0x1c], 0
jl 0x1004eb39
jg 0x1004eaf9
cmp dword [esi + 0x18], 0
jb 0x1004eb39
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [ebp - 0x17a80]
mov eax, dword [eax + 0x818]
mov eax, dword [eax + ecx*4 + 0x14]
mov ecx, dword [ebp - 0x17a80]
test eax, eax
js 0x1004eb2b
cdq
add dword [esi + 0x18], eax
adc edx, dword [esi + 0x1c]
mov dword [esi + 0x1c], edx
mov edx, dword [ebp - 0x78]
jmp 0x1004eb39
mov dword [esi + 0x18], 0xffffffff
mov dword [esi + 0x1c], 0xffffffff
inc edx
mov dword [ebp - 0x78], edx
cmp edx, edi
jl 0x1004ead3
mov ecx, dword [ebp - 0x17a88]
mov edx, dword [ebp - 0x17a80]
inc ecx
mov dword [ebp - 0x17a88], ecx
cmp ecx, dword [ebp - 0x7c]
jl 0x1004eaa0
mov edi, dword [ebp - 0x64]
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x1004eb7a
cmp eax, 0x101d1eb4
je 0x1004eb7a
push eax
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0xb4], vtable.libzpaq::StringBuffer.1.0
mov dword [ebp - 0xb0], vtable.libzpaq::StringBuffer.0
test eax, eax
je 0x1004eba1
push eax
call fcn.10146720
add esp, 4
mov dword [ebp - 0xb0], vtable.libzpaq::Writer.0
mov dword [ebp - 0xb4], vtable.libzpaq::Reader.0
test edi, edi
je 0x1004ebc2
push edi
call fcn.10146720
add esp, 4
mov eax, dword [ebp - 0x17b0c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10142783
mov esp, ebp
pop ebp
ret
mov ecx, str.unexpected_EOF
call fcn.1004bef0
mov ecx, str.missing_reserved_byte
call fcn.1004bef0
mov ecx, str.bad_journaling_block_name
call fcn.1004bef0
mov ecx, str.mixed_journaling_and_streaming_block
call fcn.1004bef0
mov ecx, str.journaling_block_too_big
call fcn.1004bef0
mov ecx, str.index_block_requires_too_much_memory
call fcn.1004bef0
mov ecx, str.bad_checksum
call fcn.1004bef0
mov ecx, str.bad_checksum_size
call fcn.1004bef0
mov ecx, str.bad_block_size
call fcn.1004bef0
mov ecx, str.c_block_too_small
call fcn.1004bef0
mov ecx, str.bad_h_block_size
call fcn.1004bef0
mov ecx, str.fragment_too_big
call fcn.1004bef0
mov ecx, str.bad_h_fragment
call fcn.1004bef0
mov ecx, str.filename_too_long
call fcn.1004bef0
mov ecx, str.filename_too_long
call fcn.1004bef0
mov ecx, str.missing_attr
call fcn.1004bef0
mov ecx, str.missing_ptr
call fcn.1004bef0
mov ecx, str.ptr_list_too_long
call fcn.1004bef0
mov ecx, str.attr_too_long
call fcn.1004bef0
mov ecx, str.Unexpected_journaling_block
call fcn.1004bef0
mov ecx, str.bad_fragment
call fcn.1004bef0
mov ecx, str.bad_date
call fcn.1004bef0
int3