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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10c
mov eax, dword [ebp + 0xc]
push ebx
lea ecx, [eax + 0x51f]
push esi
push edi
mov dword [esp + 0x20], eax
mov dword [esp + 0xf0], ecx
cmp eax, ecx
ja 0x100164a7
mov edi, dword [esp + 0x34]
mov ebx, eax
jmp 0x10012510
mov ecx, dword [esp + 0x44]
cmp ebx, 0x2851
ja 0x10016186
je 0x1001613b
cmp ebx, 0x26e1
ja 0x1001288c
je 0x100127fa
lea eax, [ebx - 0x17d3]
cmp eax, 0x5c
ja case.default.0x10016477
movzx eax, byte [eax + 0x1001680c]
jmp dword [eax*4 + 0x100167f8]
mov ebx, dword [ebp + 0x10]
push 0
lea esi, [ebx + 4]
push 0
push esi
call fcn.100061b0
mov ecx, dword [ebx + 0x18]
add esp, 0xc
lea edx, [eax + ecx*8]
push esi
mov dword [esp + 0xf8], edx
call fcn.1001df00
sub eax, dword [ebx + 0x1c]
add esp, 4
test eax, eax
jle 0x100125a1
push esi
call fcn.1001df00
add esp, 4
sub eax, dword [ebx + 0x1c]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xa0], eax
jmp case.default.0x10016477
xor eax, eax
mov dword [esp + 0xa0], eax
mov ebx, dword [esp + 0x20]
jmp case.default.0x10016477
mov eax, dword [esp + 0xb4]
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.1001b4a0
mov ecx, dword [ebp + 0x10]
add esp, 8
mov ebx, eax
mov esi, 0x2749
mov eax, esi
sub eax, 0x2749
je 0x100125eb
sub eax, 0xf
jne 0x100127be
mov dword [ecx + 0x3c], eax
jmp 0x100127be
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x94], 0
cmp dword [ecx + 0x3c], edx
jge 0x100127a6
fld qword [esp + 0x110]
fld qword [esp + 0x108]
fld qword [0x100394a0]
fldz
xor ecx, ecx
lea edx, [ecx + 0x13]
cmp ecx, 0x48
ja case.0x10012631.1
movzx eax, byte [ecx + 0x100168a0]
jmp dword [eax*4 + 0x1001686c]
mov eax, dword [esp + 0xc0]
shr eax, 0x18
mov dword [esp + 0x68], eax
jmp case.0x10012631.1
inc edi
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x68]
imul eax, eax, 0xb
add eax, edi
mov edi, dword [ebp + 0x10]
mov edi, dword [edi + 0x30]
mov edi, dword [edi]
add eax, eax
fld qword [edi + eax*8]
fmul st(4)
fadd qword [edi + eax*8 + 8]
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
fmul qword [eax + edi*8]
faddp st(3)
jmp case.0x10012631.1
mov eax, dword [esp + 0x68]
fld st(3)
imul eax, eax, 0xb
add eax, edi
mov edi, dword [ebp + 0x10]
mov edi, dword [edi + 0x30]
mov edi, dword [edi]
add eax, eax
fmul qword [edi + eax*8]
fadd qword [edi + eax*8 + 8]
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
fmul qword [eax + edi*8]
faddp st(3)
inc edi
mov dword [esp + 0x34], edi
jmp case.0x10012631.1
mov eax, dword [esp + 0x68]
imul eax, eax, 0xb
add eax, edi
mov edi, dword [ebp + 0x10]
mov edi, dword [edi + 0x30]
mov edi, dword [edi]
add eax, eax
fld qword [edi + eax*8]
fmul st(4)
jmp 0x10012696
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x3c]
mov edi, dword [esp + 0xf4]
lea eax, [edi + eax*8]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x38]
mov dword [esp + 0xc0], eax
jmp case.0x10012631.1
fstp st(2)
xor edi, edi
fld st(1)
mov dword [esp + 0x34], edi
fxch st(2)
jmp case.0x10012631.1
inc edi
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x68]
fld st(3)
imul eax, eax, 0xb
add eax, edi
mov edi, dword [ebp + 0x10]
mov edi, dword [edi + 0x30]
mov edi, dword [edi]
add eax, eax
fmul qword [edi + eax*8]
fadd qword [edi + eax*8 + 8]
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x34]
fmul qword [eax + edi*8]
faddp st(3)
jmp case.0x10012631.1
mov eax, dword [esp + 0x94]
fxch st(2)
fst qword [ebx + eax*8]
fxch st(2)
jmp case.0x10012631.1
mov eax, dword [esp + 0xc0]
fstp st(3)
shl eax, 8
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
test eax, eax
jns 0x1001275e
fadd qword [0x10039428]
fmul st(1)
fxch st(3)
add ecx, 4
dec edx
jne 0x10012621
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x40]
inc dword [esp + 0x94]
add dword [eax + 0x38], ecx
mov edx, dword [eax + 0x44]
adc dword [eax + 0x3c], edx
mov eax, dword [eax + 0x3c]
cmp eax, dword [esp + 0xa0]
jl 0x1001261c
fstp st(0)
fstp st(0)
fxch st(1)
fstp qword [esp + 0x110]
fstp qword [esp + 0x108]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x3c]
push 0
push ecx
add eax, 4
push eax
call fcn.100061b0
mov ecx, dword [ebp + 0x10]
add esp, 0xc
add esi, 0xf
cmp esi, 0x2758
jbe 0x100125d1
mov ebx, dword [esp + 0x20]
jmp case.default.0x10016477
fild dword [esp + 0xa0]
mov edx, dword [ebp + 0x10]
fmul qword [edx + 0x28]
fadd qword [0x10039430]
call fcn.100305b0
mov dword [esp + 0xb4], eax
jmp case.default.0x10016477
push 0x100441e8
lea ecx, [esp + 0xf2]
push ecx
lea edx, [esp + 0xd0]
mov eax, 0xf
push edx
mov dword [esp + 0xd4], 0x110010
mov dword [esp + 0xd8], 0x12
mov dword [esp + 0xdc], 0x70008
mov dword [esp + 0xe0], 0x60009
mov dword [esp + 0xe4], 0x5000a
mov dword [esp + 0xe8], 0x4000b
mov dword [esp + 0xec], 0x3000c
mov dword [esp + 0xf0], 0x2000d
mov dword [esp + 0xf4], 0x1000e
mov word [esp + 0xf8], ax
call fcn.100253f0
add esp, 0xc
jmp case.default.0x10016477
cmp ebx, 0x280c
ja 0x1001606a
je 0x1001605e
lea eax, [ebx - 0x26f8]
cmp eax, 0xfd
ja case.default.0x10016477
movzx eax, byte [eax + 0x10016920]
jmp dword [eax*4 + 0x100168ec]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
sub dword [esp + 0x44], eax
jmp case.default.0x10016477
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x64], 0
lea ebx, [ebx]
mov dword [esp + 0xa8], 0x1f40
jmp 0x100128f0
mov eax, dword [esp + 0xa8]
sub eax, 0x1f40
je 0x1001291b
sub eax, 0x2c
jne 0x10015dc9
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xa8], 0x1f6c
jmp 0x10015dc9
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
cmp eax, 0x1f
ja case.0x1001292a.31
jmp dword [eax*4 + 0x10016a20]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x28], 0x1c7b
mov dword [esp + 0x20], 0
cmp dword [esp + 0x20], 0x78
ja case.0x10012962.1
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x10016ac8]
jmp dword [ecx*4 + 0x10016aa0]
mov eax, 0x1eb2
cmp eax, eax
jne 0x1001297a
shr dword [esp + 0x10], 4
sub ebx, 4
add eax, 0x5b
cmp eax, 0x1eb2
jbe 0x10012970
mov dword [esp + 0x14], ebx
jmp case.0x10012962.1
mov eax, dword [esp + 0x10]
shr eax, 8
not eax
and eax, 2
or eax, 9
mov dword [esi], eax
jmp case.0x10012962.1
mov ecx, dword [esp + 0x10]
and cl, 0xf
cmp cl, 8
je case.0x10012962.1
mov ecx, 0x56ce
jmp 0x100129c0
mov eax, ecx
sub eax, 0x56ce
je 0x100129d4
sub eax, 0x13
je case.0x1001598c.33
jmp 0x100129e3
mov eax, dword [edx]
mov dword [eax + 0x18], str.unknown_compression_method
mov dword [esi], 0x1d
add ecx, 0x13
cmp ecx, 0x56e1
jbe 0x100129c0
jmp case.0x10012962.1
test byte [esi + 8], 2
je 0x10012ac3
cmp dword [esp + 0x10], 0x8b1f
jne 0x10012ac3
mov ebx, 0x3f7e
mov eax, ebx
sub eax, 0x3f7e
je 0x10012a55
sub eax, 0x63
je 0x10012a2c
sub eax, 0x63
je case.0x1001598c.33
jmp 0x10012ab4
mov eax, 0x702f
xor ecx, ecx
cmp eax, eax
jne 0x10012a3f
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
add eax, 0x28
cmp eax, 0x702f
jbe 0x10012a35
mov ecx, dword [esp + 0xc]
mov dword [ecx], 1
jmp 0x10012ab4
push 0
push 0
xor ecx, ecx
call fcn.10018e20
mov edx, dword [esp + 0xc]
mov dword [edx + 0x18], eax
mov esi, 0x3eb9
lea esp, [esp]
mov eax, esi
sub eax, 0x3eb9
je 0x10012a9a
sub eax, 0x46
jne 0x10012aa9
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x18]
push 2
push ecx
lea ecx, [esp + 0x58]
call fcn.10018e20
mov edx, dword [esp + 0xc]
mov dword [edx + 0x18], eax
jmp 0x10012aa9
mov eax, dword [esp + 0x10]
mov byte [esp + 0x50], al
shr eax, 8
mov byte [esp + 0x51], al
add esi, 0x46
cmp esi, 0x3eff
jbe 0x10012a70
add ebx, 0x63
cmp ebx, 0x4044
jbe 0x10012a10
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x10], 0
mov esi, eax
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x28]
add dword [esp + 0x20], 0xf
add eax, 0xf
mov dword [esp + 0x28], eax
cmp eax, 0x1cf3
jbe 0x1001294c
mov dword [esp + 0x28], 0x7899
mov dword [esp + 0x20], 0
cmp dword [esp + 0x20], 0x54
mov ebx, dword [esp + 0xc]
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
ja case.0x10012b27.1
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 0x10016b5c]
jmp dword [eax*4 + 0x10016b44]
cmp dword [esi + 8], 0
jne 0x10012b4b
mov eax, 0xb65
cmp eax, eax
je 0x10012ce6
add eax, 0x1f
cmp eax, 0xb65
jbe 0x10012b3b
cmp ebx, 0x10
jae case.0x10012962.1
mov edx, 0x2ce4
mov eax, edx
sub eax, 0x2ce4
je 0x10012b7f
sub eax, 0xb
jne 0x10012b8e
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx]
inc dword [esp + 0x1c]
mov ecx, ebx
shl eax, cl
add dword [esp + 0x10], eax
add ebx, 8
mov dword [esp + 0x14], ebx
jmp 0x10012b8e
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0xb
cmp edx, 0x2cef
jbe 0x10012b55
cmp ebx, 0x10
jb 0x10012b50
jmp 0x10012ad4
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x24]
and eax, 0xf
add eax, 8
mov dword [esp + 0x54], eax
test ecx, ecx
jne 0x10012bc0
mov dword [esi + 0x24], eax
jmp case.0x10012962.1
cmp eax, ecx
jbe case.0x10012962.1
mov ecx, 0x6fcb
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x6fcb
je 0x10012bf8
sub eax, 6
jne 0x10012c01
mov ebx, dword [esp + 0x6c]
mov dword [esi], 0x1d
mov dword [esp + 0xa8], 0x1f6c
jmp 0x10015dc9
mov eax, dword [edx]
mov dword [eax + 0x18], str.invalid_window_size
add ecx, 6
cmp ecx, 0x6fd1
jbe 0x10012bd0
jmp case.0x10012962.1
mov eax, dword [esi + 0x20]
test eax, eax
je 0x10012c1f
mov dword [eax + 0x30], 0xffffffff
test byte [esi + 8], 1
je 0x10012c48
mov ecx, dword [esp + 0x10]
movzx eax, cl
shl eax, 8
shr ecx, 8
add eax, ecx
xor edx, edx
mov ecx, 0x1f
div ecx
test edx, edx
je 0x10012ad4
mov edx, dword [ebp + 0x10]
mov ecx, 0x26c6
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x26c6
je 0x10012c71
sub eax, 0x11
je 0x10012c69
sub eax, 0x11
je case.0x1001598c.33
jmp 0x10012c7a
mov dword [esi], 0x1d
jmp 0x10012c7a
mov eax, dword [edx]
mov dword [eax + 0x18], str.incorrect_header_check
add ecx, 0x11
cmp ecx, 0x26e8
jbe 0x10012c50
jmp case.0x10012962.1
mov ecx, dword [esp + 0x54]
mov edx, 1
shl edx, cl
push 0
push 0
xor ecx, ecx
mov dword [esi + 0x14], edx
call fcn.1001dfa0
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x18], eax
mov edx, dword [ecx]
mov dword [edx + 0x30], eax
mov edx, ecx
jmp case.0x10012962.1
mov eax, 0x6711
xor ecx, ecx
cmp eax, eax
jne 0x10012cc8
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
add eax, 0x4b
cmp eax, 0x6711
jbe 0x10012cbe
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xa8], 0x1f6c
jmp 0x10015dc9
mov ebx, dword [esp + 0x6c]
mov dword [esi], 0xc
mov dword [esp + 0xa8], 0x1f6c
jmp 0x10015dc9
cmp ecx, 0x10
jae case.0x10012b27.1
lea esp, [esp]
mov edx, 0x1cf4
mov eax, edx
sub eax, 0x1cf4
je 0x10012d41
sub eax, 0x62
je 0x10012d31
sub eax, 0x62
jne 0x10012d50
add ecx, 8
mov dword [esp + 0x14], ecx
jmp 0x10012d50
movzx eax, byte [esi]
shl eax, cl
add dword [esp + 0x10], eax
inc esi
mov dword [esp + 0x1c], esi
jmp 0x10012d50
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x62
cmp edx, 0x1db8
jbe 0x10012d15
cmp ecx, 0x10
jb 0x10012d10
jmp case.0x10012b27.1
test dword [ebx + 0x10], 0x200
je 0x10012daf
mov esi, 0xc2f
mov eax, esi
sub eax, 0xc2f
je 0x10012d95
sub eax, 0x3f
jne 0x10012da4
mov ecx, dword [ebx + 0x18]
push 2
push ecx
lea ecx, [esp + 0x58]
call fcn.10018e20
mov dword [ebx + 0x18], eax
jmp 0x10012da4
mov eax, dword [esp + 0x10]
mov byte [esp + 0x50], al
shr eax, 8
mov byte [esp + 0x51], al
add esi, 0x3f
cmp esi, 0xc6e
jbe 0x10012d73
mov ecx, 0x311c
xor edx, edx
mov eax, ecx
sub eax, 0x311c
je 0x10012dca
sub eax, 0x1a
jne 0x10012dce
mov dword [esp + 0x14], edx
jmp 0x10012dce
mov dword [esp + 0x10], edx
add ecx, 0x1a
cmp ecx, 0x3136
jbe 0x10012db6
jmp case.0x10012b27.1
mov dword [ebx], 2
jmp case.0x10012b27.1
test dword [ebx + 0x10], 0xe000
je 0x10012e25
mov ecx, 0x1dbc
mov eax, ecx
sub eax, 0x1dbc
je 0x10012e0b
sub eax, 4
je case.0x1001598c.33
jmp 0x10012e1a
mov eax, dword [edx]
mov dword [eax + 0x18], str.unknown_header_flags_set
mov dword [ebx], 0x1d
add ecx, 4
cmp ecx, 0x1dc0
jbe 0x10012df7
mov eax, dword [ebx + 0x20]
test eax, eax
je case.0x10012b27.1
mov ecx, dword [esp + 0x10]
shr ecx, 8
and ecx, 1
mov dword [eax], ecx
jmp case.0x10012b27.1
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x10], eax
cmp al, 8
je case.0x10012b27.1
mov ecx, 0x72ae
mov eax, ecx
sub eax, 0x72ae
je 0x10012e5e
sub eax, 0x4f
je case.0x1001598c.33
jmp 0x10012e6d
mov eax, dword [edx]
mov dword [eax + 0x18], str.unknown_compression_method
mov dword [ebx], 0x1d
add ecx, 0x4f
cmp ecx, 0x72fd
jbe 0x10012e4a
mov eax, dword [esp + 0x28]
add dword [esp + 0x20], 0x15
add eax, 0x15
mov dword [esp + 0x28], eax
cmp eax, 0x78ed
jbe 0x10012b02
mov dword [esp + 0x20], 0x69c6
mov eax, dword [esp + 0x20]
sub eax, 0x69c6
je 0x10012f56
sub eax, 0xe
je 0x10012ec7
sub eax, 0xe
jne 0x10012fbe
mov ecx, dword [esp + 0xc]
mov dword [ecx], 3
jmp 0x10012fbe
mov ebx, dword [esp + 0xc]
test dword [ebx + 0x10], 0x200
je 0x10012f2a
mov esi, 0x5e2
mov eax, esi
sub eax, 0x5e2
je 0x10012f12
dec eax
je 0x10012efc
dec eax
jne 0x10012f21
mov edx, dword [ebx + 0x18]
push 4
push edx
lea ecx, [esp + 0x58]
call fcn.10018e20
mov dword [ebx + 0x18], eax
jmp 0x10012f21
mov eax, dword [esp + 0x10]
mov ecx, eax
shr ecx, 0x10
shr eax, 0x18
mov byte [esp + 0x52], cl
mov byte [esp + 0x53], al
jmp 0x10012f21
mov eax, dword [esp + 0x10]
mov byte [esp + 0x50], al
shr eax, 8
mov byte [esp + 0x51], al
inc esi
cmp esi, 0x5e4
jbe 0x10012ed9
mov ecx, 0x24e4
xor edx, edx
mov eax, ecx
sub eax, 0x24e4
je 0x10012f45
sub eax, 0x5c
jne 0x10012f49
mov dword [esp + 0x14], edx
jmp 0x10012f49
mov dword [esp + 0x10], edx
add ecx, 0x5c
cmp ecx, 0x2540
jbe 0x10012f31
jmp 0x10012fbe
mov ecx, dword [esp + 0x14]
cmp ecx, 0x20
jae 0x10012fac
mov ebx, dword [esp + 0x1c]
mov edx, 0x231e
mov eax, edx
sub eax, 0x231e
je 0x10012f8d
sub eax, 0x1d
jne 0x10012f9c
movzx eax, byte [ebx]
shl eax, cl
inc ebx
mov dword [esp + 0x1c], ebx
add dword [esp + 0x10], eax
add ecx, 8
mov dword [esp + 0x14], ecx
jmp 0x10012f9c
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x1d
cmp edx, 0x233b
jbe 0x10012f68
cmp ecx, 0x20
jb 0x10012f63
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x10012fbe
mov edx, dword [esp + 0x10]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x20]
add eax, 0xe
mov dword [esp + 0x20], eax
cmp eax, 0x69e2
jbe 0x10012e9b
mov eax, 0x46d0
mov dword [esp + 0x28], eax
sub eax, 0x46d0
je 0x1001307d
sub eax, 0x61
je 0x10013022
sub eax, 0x61
jne 0x10013111
mov eax, 0x6114
xor ecx, ecx
cmp eax, eax
jne 0x10013009
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
add eax, 0x4d
cmp eax, 0x6114
jbe 0x10012fff
mov eax, dword [esp + 0xc]
mov dword [eax], 4
jmp 0x10013111
mov ebx, dword [esp + 0xc]
test dword [ebx + 0x10], 0x200
je 0x10013111
mov esi, 0x706c
mov eax, esi
sub eax, 0x706c
je 0x10013065
sub eax, 0x23
jne 0x1001306d
mov ecx, dword [esp + 0x10]
shr ecx, 8
mov byte [esp + 0x51], cl
mov edx, dword [ebx + 0x18]
push 2
push edx
lea ecx, [esp + 0x58]
call fcn.10018e20
mov dword [ebx + 0x18], eax
jmp 0x1001306d
mov al, byte [esp + 0x10]
mov byte [esp + 0x50], al
add esi, 0x23
cmp esi, 0x708f
jbe 0x10013038
jmp 0x10013111
mov ecx, dword [esp + 0x14]
cmp ecx, 0x10
jae 0x100130d9
mov ebx, dword [esp + 0x1c]
lea ebx, [ebx]
mov edx, 0x571
mov eax, edx
sub eax, 0x571
je 0x100130ba
sub eax, 0x57
jne 0x100130c9
movzx eax, byte [ebx]
shl eax, cl
inc ebx
mov dword [esp + 0x1c], ebx
add dword [esp + 0x10], eax
add ecx, 8
mov dword [esp + 0x14], ecx
jmp 0x100130c9
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x57
cmp edx, 0x5c8
jbe 0x10013095
cmp ecx, 0x10
jb 0x10013090
mov edx, dword [esp + 0xc]
cmp dword [edx + 0x20], 0
je 0x10013111
mov eax, 0x6fea
cmp eax, eax
jne 0x10013107
mov ecx, dword [esp + 0x10]
mov ebx, dword [edx + 0x20]
mov esi, ecx
and esi, 0xff
mov dword [ebx + 8], esi
mov esi, dword [edx + 0x20]
shr ecx, 8
mov dword [esi + 0xc], ecx
add eax, 0x31
cmp eax, 0x6fea
jbe 0x100130ea
mov eax, dword [esp + 0x28]
add eax, 0x61
mov dword [esp + 0x28], eax
cmp eax, 0x4792
jbe 0x10012fdd
mov dword [esp + 0x20], 0xc2e
mov eax, dword [esp + 0x20]
sub eax, 0xc2e
je 0x10013152
sub eax, 0x3e
jne 0x100132d3
mov ecx, dword [esp + 0xc]
mov dword [ecx], 5
jmp 0x100132d3
mov ecx, dword [esp + 0xc]
test dword [ecx + 0x10], 0x400
je 0x100132c5
mov ebx, dword [esp + 0x14]
xor edx, edx
xor eax, eax
mov dword [esp + 0x28], 0x7837
mov dword [esp + 0x30], eax
jmp 0x10013182
xor edx, edx
cmp eax, 0x8a
ja case.0x10013194.1
movzx eax, byte [eax + 0x10016bc8]
jmp dword [eax*4 + 0x10016bb4]
mov eax, dword [ecx + 0x20]
cmp eax, edx
je case.0x10013194.1
mov edx, dword [esp + 0x10]
mov dword [eax + 0x14], edx
jmp case.0x10013194.1
test dword [ecx + 0x10], 0x200
je case.0x10013194.1
mov esi, 0x3e20
mov eax, esi
sub eax, 0x3e20
je 0x100131ee
sub eax, 0x34
jne 0x100131fd
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x18]
push 2
push ecx
lea ecx, [esp + 0x58]
call fcn.10018e20
mov edx, dword [esp + 0xc]
mov dword [edx + 0x18], eax
jmp 0x100131fd
mov eax, dword [esp + 0x10]
mov byte [esp + 0x50], al
shr eax, 8
mov byte [esp + 0x51], al
add esi, 0x34
cmp esi, 0x3e54
jbe 0x100131c4
mov ecx, dword [esp + 0xc]
jmp case.0x10013194.1
mov eax, 0x714c
cmp eax, eax
jne 0x10013220
mov dword [esp + 0x10], edx
xor ebx, ebx
add eax, 0x4e
cmp eax, 0x714c
jbe 0x10013218
mov dword [esp + 0x14], ebx
jmp case.0x10013194.1
cmp ebx, 0x10
jae 0x1001329a
jmp 0x10013240
mov edx, 0x56b9
mov eax, edx
sub eax, 0x56b9
je 0x10013277
sub eax, 0x21
je 0x10013261
sub eax, 0x21
jne 0x10013286
add ebx, 8
mov dword [esp + 0x14], ebx
jmp 0x10013286
mov eax, dword [esp + 0x1c]
movzx esi, byte [eax]
mov ecx, ebx
shl esi, cl
add dword [esp + 0x10], esi
inc eax
mov dword [esp + 0x1c], eax
jmp 0x10013286
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x21
cmp edx, 0x56fb
jbe 0x10013245
cmp ebx, 0x10
jb 0x10013240
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x40], eax
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
add edx, 0x2e
add eax, 0x2e
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], eax
cmp edx, 0x78c1
jbe 0x10013180
jmp 0x100132d3
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x100132d3
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x20]
add eax, 0x3e
mov dword [esp + 0x20], eax
cmp eax, 0xc6c
jbe 0x1001312f
mov esi, dword [esp + 0x24]
mov ecx, 0x5e79
mov dword [esp + 0x38], ecx
mov eax, ecx
sub eax, 0x5e79
je 0x10013317
sub eax, 0x44
jne 0x10013482
mov edx, dword [esp + 0xc]
mov dword [edx], 6
jmp 0x10013482
mov ebx, dword [esp + 0xc]
test dword [ebx + 0x10], 0x400
je 0x1001347b
mov edx, dword [esp + 0x18]
mov ecx, 0x26b3
mov dword [esp + 0x30], ecx
jmp 0x10013340
mov eax, ecx
sub eax, 0x26b3
je 0x10013453
sub eax, 0x3f
je 0x10013369
sub eax, 0x3f
jne 0x10013464
cmp dword [ebx + 0x40], eax
jne case.0x100128b6.10091
jmp 0x10013464
test esi, esi
je 0x10013464
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 4
cmp dword [esp + 0x20], 0xbd
ja case.0x1001339a.1
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x10016c68]
jmp dword [ecx*4 + 0x10016c54]
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], eax
sub dword [ebx + 0x40], eax
jmp case.0x1001339a.1
test dword [ebx + 0x10], 0x200
je case.0x1001339a.1
mov edx, dword [esp + 0x24]
mov eax, dword [ebx + 0x18]
mov ecx, dword [esp + 0x1c]
push edx
push eax
call fcn.10018e20
mov dword [ebx + 0x18], eax
jmp case.0x1001339a.1
mov ecx, dword [esp + 0x24]
sub dword [esp + 0x18], ecx
jmp case.0x1001339a.1
mov eax, dword [ebx + 0x20]
test eax, eax
je case.0x1001339a.1
cmp dword [eax + 0x10], 0
je case.0x1001339a.1
mov esi, 0x5d69
cmp esi, esi
jne 0x1001342b
mov edx, dword [ebx + 0x20]
mov eax, dword [edx + 0x14]
sub eax, dword [ebx + 0x40]
mov ebx, dword [esp + 0x24]
mov ecx, dword [edx + 0x18]
add ebx, eax
mov dword [esp + 0x54], eax
cmp ebx, ecx
jbe 0x1001340f
sub ecx, eax
jmp 0x10013413
mov ecx, dword [esp + 0x24]
mov edx, dword [edx + 0x10]
push ecx
mov ecx, dword [esp + 0x20]
push ecx
add edx, eax
push edx
call fcn.1002aaf0
mov ebx, dword [esp + 0x18]
add esp, 0xc
add esi, 0x3e
cmp esi, 0x5d69
jbe 0x100133ef
add dword [esp + 0x20], 0x3f
dec dword [esp + 0x28]
jne 0x10013381
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x24]
jmp 0x10013464
mov esi, dword [ebx + 0x40]
mov dword [esp + 0x24], esi
cmp esi, edx
jbe 0x10013464
mov esi, edx
mov dword [esp + 0x24], esi
add ecx, 0x3f
mov dword [esp + 0x30], ecx
cmp ecx, 0x2731
jbe 0x10013340
mov ecx, dword [esp + 0x38]
mov dword [ebx + 0x40], 0
add ecx, 0x44
mov dword [esp + 0x38], ecx
cmp ecx, 0x5ebd
jbe 0x100132f6
mov dword [esp + 0x20], 0x544e
mov eax, dword [esp + 0x20]
sub eax, 0x544e
je 0x100134c0
sub eax, 0xc
jne 0x100135ea
mov eax, dword [esp + 0xc]
mov dword [eax], 7
jmp 0x100135ea
mov ecx, dword [esp + 0xc]
test dword [ecx + 0x10], 0x800
je 0x100135d5
xor eax, eax
mov dword [esp + 0x38], eax
cmp eax, 0xf8
ja case.0x100134e5.1
movzx edx, byte [eax + 0x10016d40]
jmp dword [edx*4 + 0x10016d28]
mov ebx, dword [esp + 0x24]
mov esi, 0x110
mov eax, esi
sub eax, 0x110
je 0x10013531
sub eax, 0x15
jne 0x1001353e
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x1001353e
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x1001353e
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x40]
cmp ecx, dword [eax + 0x20]
jae 0x1001353e
mov al, byte [esp + 0x54]
mov byte [edx + ecx], al
mov eax, dword [esp + 0xc]
inc dword [eax + 0x40]
jmp 0x1001353e
mov ecx, dword [esp + 0x1c]
movzx edx, byte [ebx + ecx]
mov dword [esp + 0x54], edx
inc ebx
add esi, 0x15
cmp esi, 0x125
jbe 0x100134f5
cmp dword [esp + 0x54], 0
je 0x10013556
cmp ebx, dword [esp + 0x18]
jb 0x100134f0
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x38]
add eax, 0x3e
lea ecx, [eax + 0x65f3]
cmp ecx, 0x66eb
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x38], eax
jbe 0x100134d7
jmp 0x100135e3
test dword [ecx + 0x10], 0x200
je 0x1001359f
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x18]
push eax
push ecx
mov ecx, dword [esp + 0x24]
call fcn.10018e20
mov dword [esi + 0x18], eax
mov edx, dword [esp + 0x24]
sub dword [esp + 0x18], edx
jmp case.0x100134e5.1
cmp dword [esp + 0x54], 0
jne case.0x100128b6.10091
jmp case.0x100134e5.1
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], eax
jmp case.0x100134e5.1
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
mov dword [esp + 0x24], 0
jmp case.0x100134e5.1
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x100135e3
mov dword [eax + 0x1c], 0
mov dword [ecx + 0x40], 0
mov eax, dword [esp + 0x20]
add eax, 0xc
mov dword [esp + 0x20], eax
cmp eax, 0x545a
jbe 0x1001349d
mov edx, 0x335b
mov dword [esp + 0x38], edx
cmp edx, edx
jne 0x10013741
mov ecx, dword [esp + 0xc]
test dword [ecx + 0x10], 0x1000
je 0x1001372d
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x10013630
cmp eax, 0xde
ja case.0x10013642.1
movzx edx, byte [eax + 0x10016e50]
jmp dword [edx*4 + 0x10016e3c]
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
mov dword [esp + 0x24], 0
jmp case.0x10013642.1
mov esi, 0x17bc
cmp esi, esi
jne 0x100136a7
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
movzx ebx, byte [eax + ecx]
mov edx, dword [esp + 0xc]
inc eax
mov dword [esp + 0x24], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x54], ebx
test eax, eax
je 0x100136a7
mov edx, dword [eax + 0x24]
test edx, edx
je 0x100136a7
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x40]
cmp ecx, dword [eax + 0x28]
jae 0x100136a7
mov eax, dword [esp + 0xc]
mov byte [ecx + edx], bl
inc dword [eax + 0x40]
add esi, 0x62
cmp esi, 0x17bc
jbe 0x10013668
cmp dword [esp + 0x54], 0
je 0x100136c3
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x24], edx
jb case.0x10013642.74
mov eax, dword [esp + 0xc]
test dword [eax + 0x10], 0x200
je 0x100136e7
mov ecx, dword [esp + 0x24]
mov esi, eax
mov edx, dword [esi + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
push edx
call fcn.10018e20
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x20]
add eax, 0x4a
lea ecx, [eax + 0x22dc]
mov dword [esp + 0x20], eax
cmp ecx, 0x23ba
jbe 0x10013630
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x38]
jmp 0x1001373b
mov ecx, dword [esp + 0x24]
sub dword [esp + 0x18], ecx
jmp case.0x10013642.1
mov edx, dword [esp + 0x24]
add dword [esp + 0x1c], edx
cmp dword [esp + 0x54], 0
jne case.0x100128b6.10091
jmp case.0x10013642.1
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1001373b
mov dword [eax + 0x24], 0
mov dword [ecx], 8
add edx, 0x3c
mov dword [esp + 0x38], edx
cmp edx, 0x335b
jbe 0x1001360b
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x28], 0x73d1
mov dword [esp + 0x30], ecx
cmp ecx, 0x54
ja case.0x1001377e.1
movzx eax, byte [ecx + 0x10016f44]
jmp dword [eax*4 + 0x10016f30]
mov dword [edx], 0xb
jmp case.0x1001377e.1
test dword [edx + 0x10], 0x200
je 0x100138bc
mov eax, 0x2534
mov dword [esp + 0x38], eax
jmp 0x100137b0
sub eax, 0x2534
je 0x1001384a
sub eax, 0x24
je 0x100137fa
sub eax, 0x24
jne 0x100138a2
mov ecx, 0x189
xor edx, edx
mov eax, ecx
sub eax, 0x189
je 0x100137e2
sub eax, 0x58
jne 0x100137e6
xor esi, esi
jmp 0x100137e6
mov dword [esp + 0x10], edx
add ecx, 0x58
cmp ecx, 0x1e1
jbe 0x100137d0
mov dword [esp + 0x14], esi
jmp 0x100138a2
movzx ecx, word [edx + 0x18]
cmp dword [esp + 0x10], ecx
je 0x100138a2
mov ecx, 0x6444
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x6444
je 0x10013831
sub eax, 0x5b
je 0x10013829
sub eax, 0x5b
je case.0x1001598c.33
jmp 0x1001383d
mov dword [edx], 0x1d
jmp 0x1001383d
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [eax + 0x18], str.header_crc_mismatch
add ecx, 0x5b
cmp ecx, 0x64fa
jbe 0x10013810
jmp 0x100138a2
cmp esi, 0x10
jae 0x100138a2
nop
mov edx, 0x46d1
mov eax, edx
sub eax, 0x46d1
je 0x10013887
sub eax, 0x3f
je 0x10013871
sub eax, 0x3f
jne 0x10013892
add esi, 8
mov dword [esp + 0x14], esi
jmp 0x10013892
movzx eax, byte [ebx]
dec dword [esp + 0x18]
mov ecx, esi
shl eax, cl
add dword [esp + 0x10], eax
inc ebx
mov dword [esp + 0x1c], ebx
jmp 0x10013892
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
add edx, 0x3f
cmp edx, 0x474f
jbe 0x10013855
cmp esi, 0x10
jb 0x10013850
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xc]
add eax, 0x24
mov dword [esp + 0x38], eax
cmp eax, 0x257c
jbe 0x100137b0
cmp dword [edx + 0x20], 0
je case.0x1001377e.1
mov ecx, 0x235e
mov eax, ecx
sub eax, 0x235e
je 0x100138e1
sub eax, 0x48
jne 0x100138f4
mov eax, dword [edx + 0x20]
mov dword [eax + 0x30], 1
jmp 0x100138f4
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0x20]
sar eax, 9
and eax, 1
mov dword [edx + 0x2c], eax
mov edx, dword [esp + 0xc]
add ecx, 0x48
cmp ecx, 0x23a6
jbe 0x100138c7
jmp case.0x1001377e.1
push 0
push 0
xor ecx, ecx
call fcn.10018e20
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [ecx + 0x18], eax
mov ecx, dword [edx]
mov edx, dword [esp + 0xc]
mov dword [ecx + 0x30], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
add eax, 0x1c
add ecx, 0x1c
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], ecx
cmp eax, 0x7425
jbe 0x1001376e
xor edx, edx
mov ebx, 0x325d
xor esi, esi
jmp 0x10013952
xor edx, edx
cmp esi, 0xe4
ja case.0x10013965.1
movzx eax, byte [esi + 0x10016fb0]
jmp dword [eax*4 + 0x10016f9c]
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0xa
jmp case.0x10013965.1
mov ecx, 0xb17
mov eax, ecx
sub eax, 0xb17
je 0x10013994
sub eax, 0xa
jne 0x10013998
mov dword [esp + 0x14], edx
jmp 0x10013998
mov dword [esp + 0x10], edx
add ecx, 0xa
cmp ecx, 0xb21
jbe 0x10013980
jmp case.0x10013965.1
mov eax, dword [esp + 0x10]
mov edx, eax
shl edx, 0x10
mov ecx, eax
and ecx, 0xff00
add edx, ecx
mov ecx, eax
shr ecx, 8
shl edx, 8
and ecx, 0xff00
add edx, ecx
mov ecx, dword [ebp + 0x10]
shr eax, 0x18
add eax, edx
mov edx, dword [esp + 0xc]
mov dword [edx + 0x18], eax
mov edx, dword [ecx]
mov dword [edx + 0x30], eax
jmp case.0x10013965.1
cmp dword [esp + 0x14], 0x20
jae case.0x10013965.1
jmp 0x100139f0
mov edx, 0x6e45
mov eax, edx
sub eax, 0x6e45
je 0x10013a1f
sub eax, 0x19
jne 0x10013a2e
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x14]
inc dword [esp + 0x1c]
shl eax, cl
add dword [esp + 0x10], eax
add dword [esp + 0x14], 8
jmp 0x10013a2e
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x19
cmp edx, 0x6e5e
jbe 0x100139f5
cmp dword [esp + 0x14], 0x20
jb 0x100139f0
add ebx, 0x4c
add esi, 0x4c
cmp ebx, 0x3341
jbe 0x10013950
mov esi, 0x3265
mov dword [esp + 0x38], esi
mov eax, esi
sub eax, 0x3265
je 0x10013aa0
sub eax, 0x2f
je 0x10013a81
sub eax, 0x2f
jne 0x10013b4d
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0xb
jmp 0x10013b4d
push 0
push 0
xor ecx, ecx
call fcn.1001dfa0
mov edx, dword [esp + 0xc]
mov ecx, dword [ebp + 0x10]
mov dword [edx + 0x18], eax
mov edx, dword [ecx]
mov dword [edx + 0x30], eax
jmp 0x10013b4d
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xc], 0
jne 0x10013b4d
mov edx, 0x303e
mov eax, edx
sub eax, 0x303e
je 0x10013ac7
sub eax, 0x50
je 0x100164a7
jmp 0x10013b3a
xor eax, eax
lea ecx, [eax + 4]
lea esp, [esp]
cmp eax, 0x81
ja case.0x10013ade.1
movzx esi, byte [eax + 0x100170ac]
jmp dword [esi*4 + 0x10017098]
mov esi, dword [ebp + 0x10]
mov esi, dword [esi]
mov ebx, dword [esp + 0x18]
mov dword [esi + 4], ebx
jmp case.0x10013ade.1
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
mov dword [esi + 0x38], ebx
mov ebx, dword [esp + 0x14]
mov dword [esi + 0x3c], ebx
jmp case.0x10013ade.1
mov esi, dword [ebp + 0x10]
mov esi, dword [esi]
mov ebx, dword [esp + 0x4c]
mov dword [esi + 0xc], ebx
mov esi, dword [ebp + 0x10]
mov esi, dword [esi]
mov ebx, dword [esp + 0x48]
mov dword [esi + 0x10], ebx
jmp case.0x10013ade.1
mov esi, dword [ebp + 0x10]
mov esi, dword [esi]
mov ebx, dword [esp + 0x1c]
mov dword [esi], ebx
add eax, 0x2b
dec ecx
jne 0x10013ad0
mov dword [esp + 0x58], 2
add edx, 0x50
cmp edx, 0x308e
jbe 0x10013ab3
mov esi, dword [esp + 0x38]
add esi, 0x2f
mov dword [esp + 0x38], esi
cmp esi, 0x32c3
jbe 0x10013a5b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
cmp eax, 5
je case.0x100128b6.10091
cmp eax, 6
je case.0x100128b6.10091
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], 0x7b29
mov eax, dword [esp + 0x20]
add eax, 0xffff84d7
cmp eax, 6
ja case.0x10013b95.31530
jmp dword [eax*4 + 0x10017130]
mov edx, dword [esp + 0xc]
cmp dword [edx + 4], 0
je 0x10013bf6
mov edx, 0x6229
mov eax, edx
sub eax, 0x6229
je 0x10013bbf
sub eax, 0x4f
je case.0x1001598c.33
jmp 0x10013beb
mov eax, 0x4f46
cmp eax, eax
jne 0x10013bd3
mov ecx, esi
and ecx, 7
shr dword [esp + 0x10], cl
sub esi, ecx
add eax, 0x21
cmp eax, 0x4f46
jbe 0x10013bc6
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], esi
mov dword [eax], 0x1a
add edx, 0x4f
cmp edx, 0x6278
jbe 0x10013bab
cmp esi, 3
jae case.0x10013b95.31530
mov ebx, dword [esp + 0x1c]
mov edx, 0x299f
mov eax, edx
sub eax, 0x299f
je 0x10013c2f
sub eax, 0x19
jne 0x10013c3e
movzx eax, byte [ebx]
mov ecx, esi
shl eax, cl
inc ebx
mov dword [esp + 0x1c], ebx
add dword [esp + 0x10], eax
add esi, 8
mov dword [esp + 0x14], esi
jmp 0x10013c3e
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x19
cmp edx, 0x29b8
jbe 0x10013c08
cmp esi, 3
jb 0x10013c03
jmp case.0x10013b95.31530
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov edx, ecx
and edx, 1
mov dword [eax + 4], edx
mov eax, 0x6dd2
cmp eax, eax
jne 0x10013c6f
shr ecx, 1
dec esi
add eax, 0x5c
cmp eax, 0x6dd2
jbe 0x10013c6a
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
jmp case.0x10013b95.31530
mov ebx, dword [esp + 0x10]
mov eax, ebx
and eax, 3
cmp eax, 3
ja case.default.0x10013c98
jmp dword [eax*4 + 0x1001714c]
mov eax, 0x4e7c
cmp eax, eax
je 0x10013cd0
add eax, 0x43
cmp eax, 0x4e7c
jbe 0x10013ca6
mov esi, 0x67e1
mov eax, esi
sub eax, 0x67e1
je 0x10013d00
sub eax, 0x2e
je 0x10013cdf
sub eax, 0x2e
je case.default.0x10013c98
jmp 0x10013d13
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0xd
jmp case.default.0x10013c98
mov edx, dword [ebp + 8]
cmp dword [edx], 6
jne 0x10013d13
mov eax, 0x810
cmp eax, eax
je 0x10015dea
add eax, 0x36
cmp eax, 0x810
jbe 0x10013cee
jmp 0x10013d13
mov eax, dword [esp + 0xc]
call fcn.1001b220
mov eax, dword [esp + 0xc]
mov dword [eax], 0x13
add esi, 0x2e
cmp esi, 0x683d
jbe 0x10013cb7
mov eax, 0x4aeb
cmp eax, eax
je 0x10013d56
add eax, 0x1a
cmp eax, 0x4aeb
jbe 0x10013d25
mov esi, dword [ebp + 0x10]
mov edx, dword [esp + 0xc]
mov ecx, 0x6a06
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x6a06
je 0x10013d62
sub eax, 0x5b
jne 0x10013d6b
mov dword [edx], 0x1d
jmp 0x10013d6b
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0x10
jmp case.default.0x10013c98
mov eax, dword [esi]
mov dword [eax + 0x18], str.invalid_block_type
add ecx, 0x5b
cmp ecx, 0x6a61
jbe 0x10013d40
mov esi, dword [esp + 0x14]
mov dword [esp + 0x20], 0x7b2d
mov eax, dword [esp + 0x20]
add eax, 2
mov dword [esp + 0x20], eax
cmp eax, 0x7b2f
jbe 0x10013b83
jmp 0x10013dd1
mov eax, 0x7f21
cmp eax, eax
jne 0x10013dab
shr dword [esp + 0x10], 2
sub esi, 2
add eax, 0x11
cmp eax, 0x7f21
jbe 0x10013da1
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x14], esi
mov dword [esp + 0xa8], 0x1f6c
jmp 0x10015dc9
mov esi, dword [esp + 0x14]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x38], 0x4441
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 0xe1
ja case.0x10013dfa.1
movzx ecx, byte [eax + 0x10017170]
jmp dword [ecx*4 + 0x1001715c]
mov eax, dword [esp + 0x10]
mov edx, eax
not eax
and edx, 0xffff
shr eax, 0x10
cmp edx, eax
je 0x10013e52
mov ecx, 0x48a6
jmp 0x10013e20
mov eax, ecx
sub eax, 0x48a6
je 0x10013e34
sub eax, 0x1d
je case.0x1001598c.33
jmp 0x10013e47
mov eax, dword [ebx]
mov dword [eax + 0x18], str.invalid_stored_block_lengths
mov eax, dword [esp + 0xc]
mov dword [eax], 0x1d
add ecx, 0x1d
cmp ecx, 0x48c3
jbe 0x10013e20
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x40], edx
jmp case.0x10013dfa.1
mov eax, 0x2ec3
xor ecx, ecx
cmp eax, eax
jne 0x10013e6f
mov dword [esp + 0x10], ecx
xor esi, esi
add eax, 0x4c
cmp eax, 0x2ec3
jbe 0x10013e67
mov edx, dword [esp + 0xc]
mov dword [esp + 0x14], esi
mov dword [edx], 0xe
jmp case.0x10013dfa.1
mov eax, dword [ebp + 8]
cmp dword [eax], 6
je case.0x100128b6.10091
jmp case.0x10013dfa.1
mov eax, 0x7987
cmp eax, eax
jne 0x10013eae
mov ecx, esi
and ecx, 7
shr dword [esp + 0x10], cl
sub esi, ecx
add eax, 0x1d
cmp eax, 0x7987
jbe 0x10013ea1
mov dword [esp + 0x14], esi
cmp esi, 0x20
jae case.0x10013dfa.1
mov edx, 0x2f39
mov eax, edx
sub eax, 0x2f39
je 0x10013efb
sub eax, 0x35
je 0x10013ef5
sub eax, 0x35
jne 0x10013f06
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx]
inc dword [esp + 0x1c]
mov ecx, esi
shl eax, cl
add dword [esp + 0x10], eax
add esi, 8
mov dword [esp + 0x14], esi
jmp 0x10013f06
dec dword [esp + 0x18]
jmp 0x10013f06
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
add edx, 0x35
cmp edx, 0x2fa3
jbe 0x10013ec6
cmp esi, 0x20
jb 0x10013ec1
mov eax, dword [esp + 0x38]
add dword [esp + 0x20], 0x4b
add eax, 0x4b
mov dword [esp + 0x38], eax
cmp eax, 0x4522
jbe 0x10013de4
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0xf
mov ebx, 0x4de1
mov eax, ebx
sub eax, 0x4de1
je 0x10013f6b
sub eax, 0x1a
je 0x10013f5c
sub eax, 0x1a
je case.0x1001598c.33
jmp 0x10014006
mov edx, dword [esp + 0xc]
mov dword [edx], 0xb
jmp 0x10014006
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x40]
mov dword [esp + 0x24], eax
test eax, eax
je 0x10014006
xor esi, esi
cmp esi, 7
ja case.default.0x10013f85
jmp dword [esi*4 + 0x10017254]
cmp dword [esp + 0x24], 0
je case.0x100128b6.10091
jmp case.default.0x10013f85
mov ecx, dword [esp + 0x24]
add dword [esp + 0x4c], ecx
jmp case.default.0x10013f85
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], eax
sub dword [esp + 0x48], eax
jmp case.default.0x10013f85
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xc]
sub dword [eax + 0x40], edx
jmp case.default.0x10013f85
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x4c]
push eax
push ecx
push edx
call fcn.1002aaf0
mov eax, dword [esp + 0x30]
add esp, 0xc
sub dword [esp + 0x18], eax
jmp case.default.0x10013f85
mov eax, dword [esp + 0x18]
jmp 0x10013fe9
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x24], eax
jbe case.default.0x10013f85
mov dword [esp + 0x24], eax
inc esi
lea ecx, [esi + 0x4c29]
cmp ecx, 0x4c30
jbe 0x10013f80
add ebx, 0x1a
cmp ebx, 0x4e15
jbe 0x10013f40
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov ebx, 0x31c9
cmp ebx, 0x32ce
ja 0x10014126
je 0x10014102
mov eax, ebx
sub eax, 0x31c9
je 0x10014092
sub eax, 0x57
je 0x1001405b
sub eax, 0x57
jne 0x100141df
mov eax, dword [esp + 0x10]
and eax, 0x1f
inc eax
mov dword [edx + 0x64], eax
jmp 0x100141df
mov ecx, dword [esp + 0x10]
mov eax, ecx
and eax, 0x1f
add eax, 0x101
mov dword [edx + 0x60], eax
mov eax, 0x5f93
cmp eax, eax
jne 0x1001407b
shr ecx, 5
sub esi, 5
add eax, 0x58
cmp eax, 0x5f93
jbe 0x10014073
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
jmp 0x100141df
cmp esi, 0xe
jae 0x100141df
jmp 0x100140a0
mov edx, 0x4daa
mov eax, edx
sub eax, 0x4daa
je 0x100140da
sub eax, 0x4a
je 0x100140c1
sub eax, 0x4a
jne 0x100140e9
add esi, 8
mov dword [esp + 0x14], esi
jmp 0x100140e9
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx]
dec dword [esp + 0x18]
mov ecx, esi
shl eax, cl
add dword [esp + 0x10], eax
inc dword [esp + 0x1c]
jmp 0x100140e9
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
mov esi, dword [esp + 0x14]
add edx, 0x4a
cmp edx, 0x4e3e
jbe 0x100140a5
cmp esi, 0xe
jb 0x100140a0
mov edx, dword [esp + 0xc]
jmp 0x100141df
mov eax, 0x4eca
cmp eax, eax
jne 0x10014113
shr dword [esp + 0x10], 5
sub esi, 5
add eax, 0x22
cmp eax, 0x4eca
jbe 0x10014109
mov dword [esp + 0x14], esi
jmp 0x100141df
mov eax, ebx
sub eax, 0x3325
je 0x100141d2
sub eax, 0x57
je 0x1001414f
sub eax, 0x57
jne 0x100141df
mov dword [edx + 0x68], eax
mov dword [edx], 0x11
jmp 0x100141df
mov ecx, 0x4074
mov eax, ecx
sub eax, 0x4074
je 0x10014167
sub eax, 0x31
jne 0x1001416c
sub esi, 4
jmp 0x1001416c
shr dword [esp + 0x10], 4
add ecx, 0x31
cmp ecx, 0x40a5
jbe 0x10014154
cmp dword [edx + 0x60], 0x11e
mov dword [esp + 0x14], esi
ja 0x1001418a
cmp dword [edx + 0x64], 0x1e
jbe 0x100141df
mov ecx, 0x1007
nop
mov eax, ecx
sub eax, 0x1007
je 0x100141b9
sub eax, 8
je 0x100141b1
sub eax, 8
je case.0x1001598c.33
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
jmp 0x100141c5
mov dword [edx], 0x1d
jmp 0x100141c5
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [eax + 0x18], str.too_many_length_or_distance_symbols
add ecx, 8
cmp ecx, 0x1017
jbe 0x10014190
jmp 0x100141df
mov ecx, dword [esp + 0x10]
and ecx, 0xf
add ecx, 4
mov dword [edx + 0x5c], ecx
add ebx, 0x57
cmp ebx, 0x33d3
jbe 0x10014022
jmp 0x100141f8
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ecx, 0x12ca
mov dword [esp + 0x20], ecx
cmp ecx, 0x13c0
ja 0x1001438f
je 0x1001435d
mov eax, ecx
sub eax, 0x12ca
je 0x10014269
sub eax, 0x52
je 0x10014235
sub eax, 0x52
jne 0x100143fb
mov eax, dword [edx + 0x6c]
mov dword [edx + 0x4c], eax
jmp 0x100143fb
cmp dword [edx + 0x68], 0x13
jae 0x1001425b
jmp 0x10014240
mov eax, dword [edx + 0x68]
movzx eax, word [eax*2 + 0x100441e8]
xor ebx, ebx
mov word [edx + eax*2 + 0x70], bx
inc dword [edx + 0x68]
cmp dword [edx + 0x68], 0x13
jb 0x10014240
lea eax, [edx + 0x530]
mov dword [edx + 0x6c], eax
jmp 0x100143fb
mov eax, dword [edx + 0x68]
cmp eax, dword [edx + 0x5c]
jae 0x100143fb
jmp 0x10014280
mov ebx, 0x5518
mov eax, ebx
sub eax, 0x5518
je 0x100142d9
sub eax, 5
je 0x100142bd
sub eax, 5
jne 0x10014339
mov eax, 0x5c40
cmp eax, eax
jne 0x100142ad
shr dword [esp + 0x10], 3
sub esi, 3
add eax, 0x29
cmp eax, 0x5c40
jbe 0x100142a3
mov dword [esp + 0x14], esi
jmp 0x10014339
mov eax, dword [edx + 0x68]
movzx eax, word [eax*2 + 0x100441e8]
mov ecx, dword [esp + 0x10]
and ecx, 7
mov word [edx + eax*2 + 0x70], cx
inc dword [edx + 0x68]
jmp 0x10014339
cmp esi, 3
jae 0x10014339
mov edi, edi
mov edx, 0x122
mov eax, edx
sub eax, 0x122
je 0x1001431a
sub eax, 0x54
je 0x10014314
sub eax, 0x54
jne 0x10014329
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx]
inc dword [esp + 0x1c]
mov ecx, esi
shl eax, cl
add dword [esp + 0x10], eax
add esi, 8
mov dword [esp + 0x14], esi
jmp 0x10014329
dec dword [esp + 0x18]
jmp 0x10014329
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
mov esi, dword [esp + 0x14]
add edx, 0x54
cmp edx, 0x1ca
jbe 0x100142e5
cmp esi, 3
jb 0x100142e0
mov edx, dword [esp + 0xc]
add ebx, 5
cmp ebx, 0x5522
jbe 0x10014285
mov ecx, dword [edx + 0x68]
cmp ecx, dword [edx + 0x5c]
jb 0x10014280
jmp 0x100143f7
mov ecx, dword [esp + 0xc]
lea eax, [ecx + 0x54]
lea edx, [ecx + 0x2f0]
push edx
push eax
mov dword [eax], 7
lea eax, [ecx + 0x6c]
push eax
push 0x13
lea eax, [ecx + 0x70]
push 0
call fcn.1001e680
mov edx, dword [esp + 0x20]
add esp, 0x14
mov dword [esp + 0x64], eax
jmp 0x100143f7
mov eax, ecx
sub eax, 0x1412
je 0x100143a5
sub eax, 0x52
jne 0x100143fb
mov dword [edx], 0x12
jmp 0x100143fb
cmp dword [esp + 0x64], 0
je 0x100143f0
mov ecx, 0x7728
mov eax, ecx
sub eax, 0x7728
je 0x100143d9
sub eax, 0xf
jne 0x100143e5
mov ebx, dword [esp + 0x6c]
mov dword [edx], 0x1d
mov dword [esp + 0xa8], 0x1f6c
jmp 0x10015dc9
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [eax + 0x18], str.invalid_code_lengths_set
add ecx, 0xf
cmp ecx, 0x7737
jbe 0x100143b1
mov dword [edx + 0x68], 0
mov ecx, dword [esp + 0x20]
add ecx, 0x52
mov dword [esp + 0x20], ecx
cmp ecx, 0x1464
jbe 0x10014201
mov edx, dword [esp + 0xc]
mov esi, 0x6058
cmp esi, 0x61b8
ja 0x10014b83
je 0x10014b3c
cmp esi, 0x6108
ja 0x10014b09
je 0x10014af8
mov eax, esi
sub eax, 0x6058
je 0x100144ad
sub eax, 0x58
jne 0x10014c2a
cmp dword [edx], 0x1d
je case.0x1001598c.33
mov edx, dword [esp + 0xc]
cmp word [edx + 0x270], ax
jne 0x10014c2a
mov ecx, 0x629d
mov eax, ecx
sub eax, 0x629d
je 0x10014491
sub eax, 9
je 0x10014489
sub eax, 9
je case.0x1001598c.33
mov edx, dword [esp + 0xc]
jmp 0x1001449d
mov dword [edx], 0x1d
jmp 0x1001449d
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [eax + 0x18], str.invalid_code____missing_end_of_block
add ecx, 9
cmp ecx, 0x62af
jbe 0x1001446c
jmp 0x10014c2a
mov ecx, dword [edx + 0x64]
add ecx, dword [edx + 0x60]
cmp dword [edx + 0x68], ecx
jae 0x10014aee
lea esp, [esp]
mov edx, dword [esp + 0xc]
mov eax, 0x4410
mov dword [esp + 0x30], eax
sub eax, 0x4410
je 0x10014a00
sub eax, 0x46
je 0x10014ac1
sub eax, 0x46
jne 0x10014ac9
cmp word [esp + 0x2e], 0x10
jae 0x10014558
mov esi, 0x6e98
cmp esi, esi
jne 0x10014548
mov ebx, dword [esp + 0x14]
mov edx, 0x15d1
mov eax, edx
sub eax, 0x15d1
je 0x1001451b
sub eax, 0x4c
jne 0x10014523
movzx eax, byte [esp + 0x2d]
sub ebx, eax
jmp 0x10014523
mov cl, byte [esp + 0x2d]
shr dword [esp + 0x10], cl
add edx, 0x4c
cmp edx, 0x161d
jbe 0x10014504
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x68]
mov dx, word [esp + 0x2e]
mov word [eax + ecx*2 + 0x70], dx
inc dword [eax + 0x68]
mov dword [esp + 0x14], ebx
mov edx, eax
add esi, 9
cmp esi, 0x6e98
jbe 0x100144f9
jmp 0x10014ac9
mov eax, 0x3df5
mov dword [esp + 0x28], eax
sub eax, 0x3df5
je 0x100145ed
sub eax, 0xc
jne 0x100149d9
mov esi, dword [edx + 0x64]
mov ecx, dword [edx + 0x68]
mov eax, dword [esp + 0x24]
add esi, dword [edx + 0x60]
add ecx, eax
cmp ecx, esi
jbe 0x100145c6
mov ecx, 0x7569
mov eax, ecx
sub eax, 0x7569
je 0x100145a5
sub eax, 9
je 0x10014aee
mov edx, dword [esp + 0xc]
jmp 0x100145b7
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [eax + 0x18], str.invalid_bit_length_repeat
mov dword [edx], 0x1d
add ecx, 9
cmp ecx, 0x7572
jbe 0x1001458d
mov eax, dword [esp + 0x24]
test eax, eax
je 0x100145e3
lea ebx, [ebx]
mov ecx, dword [edx + 0x68]
mov si, word [esp + 0x54]
mov word [edx + ecx*2 + 0x70], si
inc dword [edx + 0x68]
dec eax
jne 0x100145d0
dec eax
mov dword [esp + 0x24], eax
jmp 0x100149d9
mov ax, word [esp + 0x2e]
cmp ax, 0x10
jne 0x10014776
mov dword [esp + 0x20], 0x54fb
jmp 0x10014610
mov eax, dword [esp + 0x20]
sub eax, 0x54fb
je 0x100146bb
sub eax, 0x54
je 0x10014667
sub eax, 0x54
jne 0x1001475b
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, ecx
and eax, 3
add eax, 3
mov dword [esp + 0x24], eax
mov eax, 0x4c38
cmp eax, eax
jne 0x10014650
shr ecx, 2
sub edx, 2
add eax, 0x18
cmp eax, 0x4c38
jbe 0x10014648
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
jmp 0x1001475b
mov edx, dword [esp + 0xc]
cmp dword [edx + 0x68], 0
jne 0x100146aa
mov esi, dword [ebp + 0x10]
mov ecx, 0x4dae
mov ebx, str.invalid_bit_length_repeat
mov edi, edi
mov eax, ecx
sub eax, 0x4dae
je 0x10014694
sub eax, 0x45
je 0x10014aee
jmp 0x1001469f
mov eax, dword [esi]
mov dword [eax + 0x18], ebx
mov dword [edx], 0x1d
add ecx, 0x45
cmp ecx, 0x4df3
jbe 0x10014680
mov ecx, dword [edx + 0x68]
movzx edx, word [edx + ecx*2 + 0x6e]
mov dword [esp + 0x54], edx
jmp 0x1001475b
movzx ebx, byte [esp + 0x2d]
mov ecx, dword [esp + 0x14]
lea edx, [ebx + 2]
cmp ecx, edx
jae 0x1001472b
xor eax, eax
lea ecx, [ecx]
cmp eax, 0xd5
ja case.0x100146de.1
movzx esi, byte [eax + 0x10017288]
jmp dword [esi*4 + 0x10017274]
add ecx, 8
mov dword [esp + 0x14], ecx
jmp case.0x100146de.1
dec dword [esp + 0x18]
jmp case.0x100146de.1
mov esi, dword [esp + 0x1c]
movzx esi, byte [esi]
shl esi, cl
mov ecx, dword [esp + 0x14]
add dword [esp + 0x10], esi
inc dword [esp + 0x1c]
jmp case.0x100146de.1
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
add eax, 0x47
lea esi, [eax + 0x7a2]
cmp esi, 0x877
jbe 0x100146d0
cmp ecx, edx
jb 0x100146cb
mov esi, dword [esp + 0x14]
mov edx, 0x1835
mov eax, edx
sub eax, 0x1835
je 0x10014746
sub eax, 0x12
jne 0x1001474c
sub esi, ebx
jmp 0x1001474c
mov ecx, ebx
shr dword [esp + 0x10], cl
add edx, 0x12
cmp edx, 0x1847
jbe 0x10014734
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x20]
add eax, 0x54
mov dword [esp + 0x20], eax
cmp eax, 0x55a3
jbe 0x10014610
jmp 0x100149d9
cmp ax, 0x11
jne 0x100148a2
mov dword [esp + 0x38], 0x141d
mov dword [esp + 0x20], 0
cmp dword [esp + 0x20], 0x96
ja case.0x100147a9.1
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax + 0x10017374]
jmp dword [ecx*4 + 0x10017360]
movzx ebx, byte [esp + 0x2d]
lea eax, [ebx + 3]
cmp dword [esp + 0x14], eax
jae 0x10014820
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, 7
jmp 0x100147d0
mov eax, edx
sub eax, 7
je 0x10014801
sub eax, 0x62
je 0x100147ea
sub eax, 0x62
jne 0x1001480e
add ecx, 8
mov dword [esp + 0x14], ecx
jmp 0x1001480e
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax]
shl eax, cl
mov ecx, dword [esp + 0x14]
add dword [esp + 0x10], eax
inc dword [esp + 0x1c]
jmp 0x1001480e
test esi, esi
je case.0x100128b6.10091
dec esi
mov dword [esp + 0x18], esi
add edx, 0x62
cmp edx, 0xcb
jbe 0x100147d0
lea eax, [ebx + 3]
cmp ecx, eax
jb 0x100147c6
mov edx, dword [esp + 0x14]
mov eax, 0x17a5
cmp eax, eax
jne 0x10014835
mov ecx, ebx
shr dword [esp + 0x10], cl
sub edx, ebx
add eax, 0x60
cmp eax, 0x17a5
jbe 0x1001482b
mov dword [esp + 0x14], edx
jmp case.0x100147a9.1
mov eax, dword [esp + 0x10]
and eax, 7
add eax, 3
mov dword [esp + 0x24], eax
jmp case.0x100147a9.1
mov ecx, dword [esp + 0x14]
mov eax, 0xdca
cmp eax, eax
jne 0x1001486a
shr dword [esp + 0x10], 3
sub ecx, 3
add eax, 0x4b
cmp eax, 0xdca
jbe 0x10014860
mov dword [esp + 0x14], ecx
jmp case.0x100147a9.1
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x38]
add dword [esp + 0x20], 0x32
add eax, 0x32
mov dword [esp + 0x38], eax
cmp eax, 0x14b3
jbe 0x10014790
jmp 0x100149d9
mov dword [esp + 0x38], 0x45ed
xor ebx, ebx
cmp ebx, 0xbd
ja case.0x100148bf.1
movzx ecx, byte [ebx + 0x10017420]
jmp dword [ecx*4 + 0x1001740c]
mov eax, dword [esp + 0x10]
and eax, 0x7f
add eax, 0xb
mov dword [esp + 0x54], 0
mov dword [esp + 0x24], eax
jmp case.0x100148bf.1
mov esi, dword [esp + 0x14]
mov edx, 0x617c
mov eax, edx
sub eax, 0x617c
je 0x10014901
sub eax, 0x4a
jne 0x10014909
movzx eax, byte [esp + 0x2d]
sub esi, eax
jmp 0x10014909
mov cl, byte [esp + 0x2d]
shr dword [esp + 0x10], cl
add edx, 0x4a
cmp edx, 0x61c6
jbe 0x100148ea
mov dword [esp + 0x14], esi
jmp case.0x100148bf.1
mov edx, dword [esp + 0x14]
mov ecx, 0x7ee1
mov eax, ecx
sub eax, 0x7ee1
je 0x10014939
sub eax, 0x19
jne 0x1001493e
sub edx, 7
jmp 0x1001493e
shr dword [esp + 0x10], 7
add ecx, 0x19
cmp ecx, 0x7efa
jbe 0x10014926
mov dword [esp + 0x14], edx
jmp case.0x100148bf.1
movzx edx, byte [esp + 0x2d]
add edx, 7
cmp dword [esp + 0x14], edx
jae case.0x100148bf.1
mov eax, 0x30
cmp eax, 0xdc
ja 0x100149a4
je 0x1001498d
mov ecx, eax
sub ecx, 0x30
je 0x10014980
sub ecx, 0x56
jne 0x100149b0
dec dword [esp + 0x18]
jmp 0x100149b0
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
jmp 0x100149b0
mov ecx, dword [esp + 0x1c]
movzx esi, byte [ecx]
mov ecx, dword [esp + 0x14]
shl esi, cl
add dword [esp + 0x10], esi
inc dword [esp + 0x1c]
jmp 0x100149b0
cmp eax, 0x132
jne 0x100149b0
add dword [esp + 0x14], 8
add eax, 0x56
cmp eax, 0x132
jbe 0x10014965
cmp dword [esp + 0x14], edx
jb 0x10014960
mov eax, dword [esp + 0x38]
add eax, 0x3f
add ebx, 0x3f
mov dword [esp + 0x38], eax
cmp eax, 0x46aa
jbe 0x100148ac
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0xc]
add eax, 0xc
mov dword [esp + 0x28], eax
cmp eax, 0x3e01
jbe 0x10014561
jmp 0x10014ac9
mov esi, 0x4ba4
mov dword [esp + 0x38], esi
mov eax, esi
sub eax, 0x4ba4
je 0x10014a90
sub eax, 0x64
jne 0x10014aa9
movzx eax, byte [esp + 0x2d]
cmp eax, dword [esp + 0x14]
jbe 0x10014ac1
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov edx, 0x11ea
jmp 0x10014a40
mov eax, edx
sub eax, 0x11ea
je 0x10014a73
sub eax, 0x5e
je 0x10014a5a
sub eax, 0x5e
jne 0x10014a7b
add dword [esp + 0x14], 8
jmp 0x10014a7b
movzx eax, byte [esi]
mov ecx, dword [esp + 0x14]
shl eax, cl
dec ebx
mov dword [esp + 0x18], ebx
add dword [esp + 0x10], eax
inc esi
mov dword [esp + 0x1c], esi
jmp 0x10014a7b
test ebx, ebx
je case.0x100128b6.10091
add edx, 0x5e
cmp edx, 0x12a6
jbe 0x10014a40
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0xc]
jmp 0x10014aa9
mov ecx, dword [edx + 0x54]
mov eax, 1
shl eax, cl
mov ecx, dword [edx + 0x4c]
dec eax
and eax, dword [esp + 0x10]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x2c], eax
add esi, 0x64
mov dword [esp + 0x38], esi
cmp esi, 0x4c08
jbe 0x10014a09
jmp 0x10014a00
mov dword [esp + 0x30], 0x4456
mov eax, dword [esp + 0x30]
add eax, 0x46
mov dword [esp + 0x30], eax
cmp eax, 0x449c
jbe 0x100144cd
mov ecx, dword [edx + 0x64]
add ecx, dword [edx + 0x60]
cmp dword [edx + 0x68], ecx
jb 0x100144c0
mov esi, 0x6058
jmp 0x10014c26
lea eax, [edx + 0x530]
mov dword [edx + 0x6c], eax
mov dword [edx + 0x4c], eax
jmp 0x10014c2a
cmp esi, 0x6160
jne 0x10014c2a
mov ecx, dword [esp + 0xc]
lea edx, [ecx + 0x2f0]
push edx
mov edx, dword [ecx + 0x60]
lea eax, [ecx + 0x54]
push eax
mov dword [eax], 9
lea eax, [ecx + 0x6c]
push eax
push edx
lea eax, [ecx + 0x70]
push 1
jmp 0x10014c1a
cmp dword [esp + 0x64], 0
je 0x10014b78
mov ebx, dword [ebp + 0x10]
mov ecx, 0x499
jmp 0x10014b50
mov eax, ecx
sub eax, 0x499
je 0x10014b64
sub eax, 0x47
je 0x100143bf
jmp 0x10014b6d
mov eax, dword [ebx]
mov dword [eax + 0x18], str.invalid_literal_lengths_set
add ecx, 0x47
cmp ecx, 0x4e0
jbe 0x10014b50
mov ecx, dword [edx + 0x6c]
mov dword [edx + 0x50], ecx
jmp 0x10014c2a
mov eax, esi
sub eax, 0x6210
je 0x10014bf4
sub eax, 0x58
je 0x10014bab
sub eax, 0x58
jne 0x10014c2a
mov eax, dword [ebp + 8]
cmp dword [eax], 6
je case.0x100128b6.10091
jmp 0x10014c2a
cmp dword [esp + 0x64], 0
je 0x10014bec
mov ecx, 0x7b98
mov eax, ecx
sub eax, 0x7b98
je 0x10014bcf
sub eax, 0x46
je case.0x1001598c.33
mov edx, dword [esp + 0xc]
jmp 0x10014be1
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [eax + 0x18], str.invalid_distances_set
mov dword [edx], 0x1d
add ecx, 0x46
cmp ecx, 0x7bde
jbe 0x10014bb7
mov dword [edx], 0x13
jmp 0x10014c2a
mov ecx, dword [esp + 0xc]
lea edx, [ecx + 0x2f0]
push edx
mov edx, dword [ecx + 0x64]
lea eax, [ecx + 0x58]
push eax
mov dword [eax], 6
lea eax, [ecx + 0x6c]
push eax
mov eax, dword [ecx + 0x60]
push edx
lea eax, [ecx + eax*2 + 0x70]
push 2
call fcn.1001e680
mov dword [esp + 0x78], eax
add esp, 0x14
mov edx, dword [esp + 0xc]
add esi, 0x58
cmp esi, 0x62c0
jbe 0x10014417
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0x14
jmp 0x10014c4d
mov ecx, dword [esp + 0xc]
mov edx, 0x13d5
mov dword [esp + 0x20], edx
jmp 0x10014c60
cmp edx, 0x1538
ja 0x10015071
je 0x10015061
cmp edx, 0x1463
ja 0x10014ebc
je 0x10014eb2
mov eax, edx
sub eax, 0x13d5
je 0x10014d42
sub eax, 0x47
jne 0x1001518f
mov dword [ecx + 0x1bc4], eax
mov esi, 0x6c47
mov eax, esi
sub eax, 0x6c47
je 0x10014d11
sub eax, 0x2c
jne 0x10014d2e
movzx ecx, byte [esp + 0x2d]
cmp ecx, dword [esp + 0x14]
jbe 0x10014eb2
mov edx, 0x5c40
mov eax, edx
sub eax, 0x5c40
je 0x10014cf5
sub eax, 0x52
jne 0x10014d04
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x14]
inc dword [esp + 0x1c]
shl eax, cl
add dword [esp + 0x10], eax
add dword [esp + 0x14], 8
jmp 0x10014d04
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x52
cmp edx, 0x5c92
jbe 0x10014ccb
jmp 0x10014d2e
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x4c]
mov edx, 1
shl edx, cl
dec edx
and edx, dword [esp + 0x10]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x2c], ecx
add esi, 0x2c
cmp esi, 0x6c73
jbe 0x10014ca5
jmp 0x10014ca0
cmp dword [esp + 0x18], 6
jb 0x1001518f
cmp dword [esp + 0x48], 0x102
jb 0x1001518f
xor esi, esi
lea ecx, [ecx]
cmp esi, 0xc3
ja case.0x10014d73.1
movzx eax, byte [esi + 0x100174f4]
jmp dword [eax*4 + 0x100174e0]
xor eax, eax
lea ecx, [eax + 4]
nop
cmp eax, 0xfc
ja case.0x10014d8e.1
movzx edx, byte [eax + 0x100175cc]
jmp dword [edx*4 + 0x100175b8]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov ebx, dword [esp + 0x48]
mov dword [edx + 0x10], ebx
jmp 0x10014ddc
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov ebx, dword [esp + 0x1c]
mov dword [edx], ebx
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov ebx, dword [esp + 0x18]
mov dword [edx + 4], ebx
jmp 0x10014ddc
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov ebx, dword [esp + 0x4c]
mov dword [edx + 0xc], ebx
jmp 0x10014ddc
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x38], ebx
mov ebx, dword [esp + 0x14]
mov dword [edx + 0x3c], ebx
mov ebx, dword [esp + 0x6c]
add eax, 0x54
dec ecx
jne 0x10014d80
mov eax, dword [esp + 0x44]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
push eax
push edx
call fcn.1000ce50
mov edx, dword [esp + 0x28]
add esp, 8
jmp 0x10014e95
cmp dword [ecx], 0xb
jne case.0x10014d73.1
mov dword [ecx + 0x1bc4], 0xffffffff
jmp case.0x10014d73.1
mov ecx, 0x19c
nop
cmp ecx, 0x25a
ja 0x10014e77
je 0x10014e5e
mov eax, ecx
sub eax, 0x19c
je 0x10014e50
sub eax, 0x5f
jne 0x10014e8a
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
jmp 0x10014e8a
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x4c], eax
jmp 0x10014e8a
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x10], eax
jmp 0x10014e8a
cmp ecx, 0x2b9
jne 0x10014e8a
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x14], eax
add ecx, 0x5f
cmp ecx, 0x2b9
jbe 0x10014e20
mov ecx, dword [esp + 0xc]
add esi, 0x41
lea eax, [esi + 0x2e47]
cmp eax, 0x2f0a
jbe 0x10014d60
jmp 0x1001518f
mov edx, 0x1463
jmp 0x1001518f
mov eax, edx
sub eax, 0x14aa
je 0x10014ef3
sub eax, 0x47
jne 0x1001518f
mov eax, 0x2b44
cmp eax, eax
jne 0x10014ee4
movzx ecx, byte [esp + 0x2d]
shr dword [esp + 0x10], cl
sub dword [esp + 0x14], ecx
add eax, 0x61
cmp eax, 0x2b44
jbe 0x10014ed5
jmp 0x1001518f
cmp byte [esp + 0x2c], 0
je 0x1001518f
test byte [esp + 0x2c], 0xf0
jne 0x1001518f
mov esi, dword [esp + 0x14]
mov edx, 0x61a4
lea eax, [edx - 0x61a4]
cmp eax, 0x96
ja case.0x10014f2a.24997
movzx ecx, byte [eax + 0x100176e0]
jmp dword [ecx*4 + 0x100176cc]
mov eax, 0x7a51
mov dword [esp + 0x38], eax
sub eax, 0x7a51
je 0x10014fb0
sub eax, 0x53
jne 0x10014fe1
movzx edx, byte [esp + 0x5d]
movzx eax, byte [esp + 0x2d]
add edx, eax
cmp edx, esi
jbe 0x10014ffc
mov edx, 0x6421
mov eax, edx
sub eax, 0x6421
je 0x10014f94
sub eax, 0x17
je 0x10014f7f
sub eax, 0x17
jne 0x10014fa3
add esi, 8
mov dword [esp + 0x14], esi
jmp 0x10014fa3
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx]
mov ecx, esi
shl eax, cl
add dword [esp + 0x10], eax
inc dword [esp + 0x1c]
jmp 0x10014fa3
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x17
cmp edx, 0x644f
jbe 0x10014f63
jmp 0x10014fe1
mov ecx, dword [esp + 0x5c]
movzx eax, ch
movzx ecx, cl
add ecx, eax
mov edx, 1
shl edx, cl
mov ecx, eax
movzx eax, word [esp + 0x5e]
dec edx
and edx, dword [esp + 0x10]
shr edx, cl
mov ecx, dword [esp + 0xc]
add edx, eax
mov eax, dword [ecx + 0x4c]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x38]
add eax, 0x53
mov dword [esp + 0x38], eax
cmp eax, 0x7aa4
jbe 0x10014f3a
jmp case.0x10014f2a.25046
mov edx, 0x61d6
jmp case.0x10014f2a.24997
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
jmp case.0x10014f2a.24997
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0xc]
shr ecx, 8
movzx ecx, cl
add dword [eax + 0x1bc4], ecx
jmp case.0x10014f2a.24997
mov eax, 0x173f
cmp eax, eax
jne 0x1001503f
movzx ecx, byte [esp + 0x5d]
mov esi, dword [esp + 0x14]
shr dword [esp + 0x10], cl
sub esi, ecx
mov dword [esp + 0x14], esi
add eax, 9
cmp eax, 0x173f
jbe 0x1001502a
add edx, 0x32
cmp edx, 0x623a
jbe 0x10014f12
mov edx, dword [esp + 0x20]
jmp 0x1001518f
movzx eax, byte [esp + 0x2d]
add dword [ecx + 0x1bc4], eax
jmp 0x1001518f
cmp edx, 0x160d
ja 0x1001512d
je 0x100150db
mov eax, edx
sub eax, 0x157f
je 0x100150ce
sub eax, 0x47
jne 0x1001518f
cmp byte [esp + 0x2c], al
jne 0x1001518f
mov ecx, 0x34bd
mov eax, ecx
sub eax, 0x34bd
je 0x100150b4
sub eax, 0x40
je case.0x1001598c.33
jmp 0x100150be
mov eax, dword [esp + 0xc]
mov dword [eax], 0x19
add ecx, 0x40
cmp ecx, 0x34fd
jbe 0x100150a0
jmp 0x1001518f
movzx eax, word [esp + 0x2e]
mov dword [ecx + 0x40], eax
jmp 0x1001518f
test byte [esp + 0x2c], 0x20
je 0x1001518f
mov esi, dword [esp + 0xc]
mov ecx, 0x21f6
or edx, 0xffffffff
mov eax, ecx
sub eax, 0x21f6
je 0x10015118
dec eax
jne 0x1001511e
mov ebx, dword [esp + 0x6c]
mov dword [esi], 0xb
mov dword [esp + 0xa8], 0x1f6c
jmp 0x10015dc9
mov dword [esi + 0x1bc4], edx
inc ecx
cmp ecx, 0x21f7
jbe 0x100150f2
mov edx, dword [esp + 0x20]
jmp 0x1001518f
mov eax, edx
sub eax, 0x1654
je 0x1001514e
sub eax, 0x47
jne 0x1001518f
movzx eax, byte [esp + 0x2c]
and eax, 0xf
mov dword [ecx + 0x48], eax
mov dword [ecx], 0x15
jmp 0x1001518f
test byte [esp + 0x2c], 0x40
je 0x1001518f
mov ecx, 0x10f7
mov eax, ecx
sub eax, 0x10f7
je 0x1001516e
sub eax, 3
je case.0x1001598c.33
jmp 0x10015184
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [eax + 0x18], str.invalid_literal_length_code
mov eax, dword [esp + 0xc]
mov dword [eax], 0x1d
add ecx, 3
cmp ecx, 0x10fa
jbe 0x1001515a
mov ecx, dword [esp + 0xc]
add edx, 0x47
mov dword [esp + 0x20], edx
cmp edx, 0x169b
jbe 0x10014c60
jmp 0x100151ac
mov ecx, dword [esp + 0xc]
mov edx, 0x1562
mov dword [esp + 0x30], edx
mov eax, edx
sub eax, 0x1562
je 0x100151d2
sub eax, 0x10
jne 0x100152f8
mov dword [ecx], 0x16
jmp 0x100152f8
mov esi, dword [ecx + 0x48]
test esi, esi
je 0x100152ef
xor eax, eax
mov dword [esp + 0x38], 0x1158
mov dword [esp + 0x28], eax
jmp 0x100151f0
cmp eax, 0x84
ja case.0x10015202.1
movzx ecx, byte [eax + 0x1001778c]
jmp dword [ecx*4 + 0x10017778]
mov eax, dword [esp + 0xc]
mov edx, 1
mov ecx, esi
shl edx, cl
dec edx
and edx, dword [esp + 0x10]
add dword [eax + 0x40], edx
jmp case.0x10015202.1
cmp dword [esp + 0x14], esi
jae case.0x10015202.1
lea ecx, [ecx]
mov edx, 0x533e
mov eax, edx
sub eax, 0x533e
je 0x1001526a
sub eax, 0x16
je 0x1001524f
sub eax, 0x16
jne 0x10015275
add dword [esp + 0x14], 8
jmp 0x10015275
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x14]
dec dword [esp + 0x18]
shl eax, cl
add dword [esp + 0x10], eax
inc dword [esp + 0x1c]
jmp 0x10015275
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
add edx, 0x16
cmp edx, 0x536a
jbe 0x10015235
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
cmp edx, dword [ecx + 0x48]
jb 0x10015230
jmp case.0x10015202.1
mov edx, 0x5656
mov eax, edx
sub eax, 0x5656
je 0x100152a8
sub eax, 0x46
jne 0x100152ae
sub dword [esp + 0x14], esi
jmp 0x100152ae
mov ecx, esi
shr dword [esp + 0x10], cl
add edx, 0x46
cmp edx, 0x569c
jbe 0x10015294
jmp case.0x10015202.1
mov eax, dword [esp + 0xc]
add dword [eax + 0x1bc4], esi
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x28]
add ecx, 0x2c
add eax, 0x2c
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], eax
cmp ecx, 0x11dc
jbe 0x100151f0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
mov eax, dword [ecx + 0x40]
mov dword [ecx + 0x1bc8], eax
add edx, 0x10
mov dword [esp + 0x30], edx
cmp edx, 0x1572
jbe 0x100151b5
mov eax, 0x1103
mov dword [esp + 0x30], eax
jmp 0x10015320
add eax, 0xffffeefd
cmp eax, 0x9b
ja case.0x10015337.4356
movzx ecx, byte [eax + 0x10017830]
jmp dword [ecx*4 + 0x10017814]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
movzx edx, ah
add dword [ecx + 0x1bc4], edx
test al, 0x40
je case.0x10015337.4356
mov edx, dword [esp + 0xc]
mov esi, dword [ebp + 0x10]
mov ecx, 0x2ca9
mov eax, ecx
sub eax, 0x2ca9
je 0x10015377
sub eax, 0x2d
je case.0x1001598c.33
jmp 0x10015386
mov eax, dword [esi]
mov dword [eax + 0x18], str.invalid_distance_code
mov dword [edx], 0x1d
add ecx, 0x2d
cmp ecx, 0x2cd6
jbe 0x10015363
jmp case.0x10015337.4356
movzx ecx, word [esp + 0x2e]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x44], ecx
jmp case.0x10015337.4356
movzx ecx, byte [esp + 0x2c]
mov eax, dword [esp + 0xc]
and ecx, 0xf
mov dword [eax + 0x48], ecx
mov dword [eax], 0x17
jmp case.0x10015337.4356
mov edx, dword [esp + 0xc]
jmp 0x100153d0
mov esi, 0x28e3
mov eax, esi
sub eax, 0x28e3
je 0x10015449
sub eax, 0x13
jne 0x10015462
movzx edx, byte [esp + 0x2d]
cmp edx, dword [esp + 0x14]
jbe case.0x10015337.4386
mov edx, 0x3dda
mov eax, edx
sub eax, 0x3dda
je 0x10015429
sub eax, 0x4e
jne 0x10015438
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x14]
inc dword [esp + 0x1c]
shl eax, cl
add dword [esp + 0x10], eax
add dword [esp + 0x14], 8
jmp 0x10015438
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x4e
cmp edx, 0x3e28
jbe 0x100153ff
mov edx, dword [esp + 0xc]
jmp 0x10015462
mov ecx, dword [edx + 0x58]
mov eax, 1
shl eax, cl
mov ecx, dword [edx + 0x50]
dec eax
and eax, dword [esp + 0x10]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x2c], eax
add esi, 0x13
cmp esi, 0x28f6
jbe 0x100153d5
jmp 0x100153d0
test byte [esp + 0x2c], 0xf0
mov dword [esp + 0x30], 0x1122
jne case.0x10015337.4356
mov esi, dword [esp + 0x14]
mov edx, 0x3e6a
mov eax, edx
sub eax, 0x3e6a
je 0x100155bf
sub eax, 0x24
je 0x100154f0
sub eax, 0x24
jne 0x100155c7
mov eax, 0x2886
cmp eax, eax
jne 0x100154c9
movzx ecx, byte [esp + 0x5d]
mov esi, dword [esp + 0x14]
shr dword [esp + 0x10], cl
sub esi, ecx
mov dword [esp + 0x14], esi
add eax, 0x2a
cmp eax, 0x2886
jbe 0x100154b4
movzx ecx, byte [esp + 0x5d]
mov eax, dword [esp + 0xc]
add dword [eax + 0x1bc4], ecx
jmp 0x100155c7
mov eax, 0x652f
mov dword [esp + 0x38], eax
sub eax, 0x652f
je 0x1001556c
sub eax, 0x10
jne 0x1001559d
movzx edx, byte [esp + 0x5d]
movzx eax, byte [esp + 0x2d]
add edx, eax
cmp edx, esi
jbe 0x100155b8
mov edx, 0x4b2d
mov eax, edx
sub eax, 0x4b2d
je 0x10015550
sub eax, 0x46
jne 0x1001555f
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx]
inc dword [esp + 0x1c]
mov ecx, esi
shl eax, cl
add dword [esp + 0x10], eax
add esi, 8
mov dword [esp + 0x14], esi
jmp 0x1001555f
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x46
cmp edx, 0x4b73
jbe 0x10015526
jmp 0x1001559d
mov ecx, dword [esp + 0x5c]
movzx eax, ch
movzx ecx, cl
add ecx, eax
mov edx, 1
shl edx, cl
mov ecx, eax
movzx eax, word [esp + 0x5e]
dec edx
and edx, dword [esp + 0x10]
shr edx, cl
mov ecx, dword [esp + 0xc]
add edx, eax
mov eax, dword [ecx + 0x50]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x38]
add eax, 0x10
mov dword [esp + 0x38], eax
cmp eax, 0x653f
jbe 0x100154f9
jmp 0x100154f0
mov edx, 0x3e8e
jmp 0x100155c7
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
add edx, 0x24
cmp edx, 0x3eb2
jbe 0x10015492
jmp case.0x10015337.4356
mov esi, dword [esp + 0x14]
mov edx, 0x5b03
mov eax, edx
sub eax, 0x5b03
je 0x100155f8
sub eax, 0x20
jne 0x10015600
movzx ecx, byte [esp + 0x2d]
sub esi, ecx
jmp 0x10015600
mov cl, byte [esp + 0x2d]
shr dword [esp + 0x10], cl
add edx, 0x20
cmp edx, 0x5b23
jbe 0x100155e1
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x30]
add eax, 0x1f
mov dword [esp + 0x30], eax
cmp eax, 0x119e
jbe 0x10015320
mov dword [esp + 0x30], 0x334b
mov eax, dword [esp + 0x30]
sub eax, 0x334b
je 0x10015650
sub eax, 0x39
jne 0x10015753
mov edx, dword [esp + 0xc]
mov dword [edx], 0x18
jmp 0x10015753
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x48]
test esi, esi
je 0x10015753
mov eax, 0x2d16
mov dword [esp + 0x38], eax
jmp 0x10015674
mov ecx, dword [esp + 0xc]
sub eax, 0x2d16
je 0x100156d1
sub eax, 0x3b
je 0x10015694
sub eax, 0x3b
jne 0x1001573d
add dword [ecx + 0x1bc4], esi
jmp 0x1001573d
mov edx, dword [esp + 0x10]
mov ecx, esi
mov eax, 1
shl eax, cl
dec eax
and eax, edx
mov ecx, eax
mov eax, dword [esp + 0xc]
add dword [eax + 0x44], ecx
mov eax, 0x29e0
cmp eax, eax
jne 0x100156be
mov ecx, esi
shr edx, cl
sub dword [esp + 0x14], esi
add eax, 0x5c
cmp eax, 0x29e0
jbe 0x100156b4
mov dword [esp + 0x10], edx
jmp 0x1001573d
cmp dword [esp + 0x14], esi
jae 0x1001573d
jmp 0x100156e0
mov edx, 0x79d3
mov eax, edx
sub eax, 0x79d3
je 0x10015716
sub eax, 0x13
je 0x100156ff
sub eax, 0x13
jne 0x10015725
add dword [esp + 0x14], 8
jmp 0x10015725
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x14]
shl eax, cl
add dword [esp + 0x10], eax
inc dword [esp + 0x1c]
jmp 0x10015725
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x13
cmp edx, 0x79f9
jbe 0x100156e5
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
cmp edx, dword [ecx + 0x48]
jb 0x100156e0
mov eax, dword [esp + 0x38]
add eax, 0x3b
mov dword [esp + 0x38], eax
cmp eax, 0x2d8c
jbe 0x10015670
mov eax, dword [esp + 0x30]
add eax, 0x39
mov dword [esp + 0x30], eax
cmp eax, 0x3384
jbe 0x1001562d
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x28], 0x116c
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xc]
cmp eax, 0xa0
ja case.0x1001579b.1
movzx eax, byte [eax + 0x100178e8]
jmp dword [eax*4 + 0x100178cc]
cmp dword [esp + 0x48], 0
je case.0x100128b6.10091
jmp case.0x1001579b.1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jbe 0x100157c4
mov eax, ecx
mov dword [esp + 0x24], eax
sub ecx, eax
mov dword [esp + 0x48], ecx
jmp case.0x1001579b.1
mov esi, dword [esp + 0x44]
sub esi, dword [esp + 0x48]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x24], esi
cmp edx, esi
jbe 0x100158e4
mov eax, 0x6387
mov dword [esp + 0x38], eax
sub eax, 0x6387
je 0x100158b6
sub eax, 0x43
je 0x1001581c
sub eax, 0x43
jne 0x100158c1
mov eax, dword [ecx + 0x40]
cmp esi, eax
jbe 0x100158c1
jmp 0x100158bb
cmp esi, dword [ecx + 0x2c]
jbe 0x10015873
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x1bc0], 0
je 0x10015873
mov ecx, 0x82a
mov eax, ecx
sub eax, 0x82a
je 0x1001585c
sub eax, 0x2d
je 0x10015850
sub eax, 0x2d
je case.0x1001598c.33
mov esi, dword [esp + 0x24]
jmp 0x10015868
mov edx, dword [esp + 0xc]
mov dword [edx], 0x1d
jmp 0x10015868
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
mov dword [edx + 0x18], str.invalid_distance_too_far_back
add ecx, 0x2d
cmp ecx, 0x884
jbe 0x10015833
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x30]
cmp esi, ecx
jbe 0x100158a5
mov eax, 0x7ac9
cmp eax, eax
jne 0x10015891
mov ebx, dword [edx + 0x34]
add ebx, dword [edx + 0x28]
sub esi, ecx
sub ebx, esi
add eax, 0x12
cmp eax, 0x7ac9
jbe 0x10015885
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], ebx
jmp 0x100158bd
mov ebx, dword [edx + 0x34]
sub ebx, esi
add ebx, ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x6c], ebx
jmp 0x100158c1
mov eax, dword [ecx + 0x44]
sub eax, esi
mov esi, eax
mov dword [esp + 0x24], esi
mov eax, dword [esp + 0x38]
add eax, 0x43
mov dword [esp + 0x38], eax
cmp eax, 0x640d
jbe 0x100157f3
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
jmp case.0x1001579b.1
mov esi, dword [esp + 0x4c]
mov ecx, 0x67c
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x67c
je 0x1001590b
sub eax, 0x32
jne 0x1001590f
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x40]
mov dword [esp + 0x24], eax
jmp 0x1001590f
mov ebx, esi
sub ebx, edx
add ecx, 0x32
cmp ecx, 0x6ae
jbe 0x100158f0
mov esi, dword [esp + 0x4c]
mov edx, dword [esp + 0x14]
jmp 0x10015951
cmp dword [ecx + 0x40], 0
jne case.0x1001579b.1
mov dword [ecx], 0x14
jmp case.0x1001579b.1
mov eax, dword [esp + 0x24]
sub dword [ecx + 0x40], eax
lea esp, [esp]
mov cl, byte [ebx]
mov byte [esi], cl
inc esi
inc ebx
dec eax
jne 0x10015940
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], esi
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x28]
add dword [esp + 0x30], 0x20
add eax, 0x20
mov dword [esp + 0x28], eax
cmp eax, 0x120c
jbe 0x10015781
jmp 0x1001597a
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x4c]
xor eax, eax
lea esp, [esp]
cmp eax, 0x21
ja case.0x1001598c.1
movzx ecx, byte [eax + 0x100179a0]
jmp dword [ecx*4 + 0x1001798c]
mov ecx, dword [esp + 0xc]
mov cl, byte [ecx + 0x40]
mov byte [esi], cl
inc esi
mov dword [esp + 0x4c], esi
jmp case.0x1001598c.1
mov ecx, dword [esp + 0xc]
dec dword [esp + 0x48]
mov dword [ecx], 0x14
jmp case.0x1001598c.1
cmp dword [esp + 0x48], 0
je case.0x100128b6.10091
add eax, 0xb
lea ecx, [eax + 0x6cfb]
cmp ecx, 0x6d1c
jbe 0x10015980
jmp 0x100159d5
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x28], 0x5b39
cmp dword [esp + 0x28], 0x5b39
mov ecx, dword [esp + 0x44]
jne 0x10015bc5
cmp dword [esi + 8], 0
je 0x10015bbf
xor eax, eax
mov dword [esp + 0x20], 0x1dc8
mov dword [esp + 0x30], eax
jmp 0x10015a14
mov eax, dword [esp + 0x30]
cmp eax, 0xbd
ja case.0x10015a26.1
movzx eax, byte [eax + 0x100179d8]
jmp dword [eax*4 + 0x100179c4]
test ecx, ecx
je 0x10015a6d
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xc]
push eax
sub ecx, eax
cmp dword [esi + 0x10], 0
mov eax, dword [edx + 0x18]
push eax
je 0x10015a51
call fcn.10018e20
jmp 0x10015a56
call fcn.1001dfa0
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 0xc]
mov dword [ecx + 0x18], eax
mov ecx, dword [edx]
mov edx, dword [esp + 0x14]
mov dword [ecx + 0x30], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x44], ecx
jmp case.0x10015a26.1
cmp dword [esi + 0x10], 0
je 0x10015a86
mov eax, dword [esp + 0x10]
jmp 0x10015ab2
mov ecx, dword [esp + 0x10]
mov eax, ecx
shl eax, 0x10
mov esi, ecx
and esi, 0xff00
add eax, esi
mov esi, ecx
shr esi, 8
and esi, 0xff00
shl eax, 8
add eax, esi
mov esi, dword [esp + 0xc]
shr ecx, 0x18
add eax, ecx
cmp eax, dword [esi + 0x18]
je 0x10015af5
mov ecx, 0xbd6
lea esp, [esp]
mov eax, ecx
sub eax, 0xbd6
je 0x10015ad8
sub eax, 0x4e
je case.0x1001598c.33
mov esi, dword [esp + 0xc]
jmp 0x10015aea
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [eax + 0x18], str.incorrect_data_check
mov dword [esi], 0x1d
add ecx, 0x4e
cmp ecx, 0xc24
jbe 0x10015ac0
mov ecx, 0x5c39
lea ebx, [ebx]
mov eax, ecx
sub eax, 0x5c39
je 0x10015b12
sub eax, 0x59
jne 0x10015b1a
xor edx, edx
jmp 0x10015b1a
mov dword [esp + 0x10], 0
add ecx, 0x59
cmp ecx, 0x5c92
jbe 0x10015b00
mov dword [esp + 0x14], edx
jmp 0x10015ba3
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
add dword [eax + 0x14], ecx
add dword [esi + 0x1c], ecx
jmp case.0x10015a26.1
cmp edx, 0x20
jae 0x10015b93
mov ecx, dword [esp + 0x14]
mov edx, 0x1f3a
mov eax, edx
sub eax, 0x1f3a
je 0x10015b74
sub eax, 0x21
jne 0x10015b83
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax]
inc dword [esp + 0x1c]
shl eax, cl
add dword [esp + 0x10], eax
add ecx, 8
mov dword [esp + 0x14], ecx
jmp 0x10015b83
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
dec dword [esp + 0x18]
add edx, 0x21
cmp edx, 0x1f5b
jbe 0x10015b4c
cmp ecx, 0x20
jb 0x10015b43
mov ecx, dword [esp + 0x48]
sub dword [esp + 0x44], ecx
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
add dword [esp + 0x20], 0x3f
add dword [esp + 0x30], 0x3f
cmp dword [esp + 0x20], 0x1e85
jbe 0x10015a10
mov dword [esi], 0x1b
mov eax, dword [esp + 0x28]
add eax, 0x34
mov dword [esp + 0x28], eax
cmp eax, 0x5b39
jbe 0x100159e1
jmp 0x10015be5
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov eax, 0x6c89
mov dword [esp + 0x38], eax
cmp eax, eax
jne 0x10015d1c
cmp dword [esi + 8], 0
je 0x10015d10
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x10], 0
je 0x10015d10
mov dword [esp + 0x28], 0x77f2
mov eax, dword [esp + 0x28]
sub eax, 0x77f2
je 0x10015c4e
sub eax, 0x17
jne 0x10015cf6
mov eax, 0x2066
xor ecx, ecx
cmp eax, eax
jne 0x10015c3b
mov dword [esp + 0x10], ecx
xor edx, edx
add eax, 0x46
cmp eax, 0x2066
jbe 0x10015c33
mov dword [esp + 0x14], edx
jmp 0x10015cf6
cmp edx, 0x20
jae 0x10015cab
mov esi, dword [esp + 0x1c]
mov edx, 0x440c
mov eax, edx
sub eax, 0x440c
je 0x10015c8e
sub eax, 0x61
je 0x10015c76
sub eax, 0x61
jne 0x10015c99
add dword [esp + 0x14], 8
jmp 0x10015c99
movzx eax, byte [esi]
mov ecx, dword [esp + 0x14]
dec dword [esp + 0x18]
shl eax, cl
add dword [esp + 0x10], eax
inc esi
mov dword [esp + 0x1c], esi
jmp 0x10015c99
cmp dword [esp + 0x18], 0
je case.0x100128b6.10091
add edx, 0x61
cmp edx, 0x44ce
jbe 0x10015c5c
cmp dword [esp + 0x14], 0x20
jb 0x10015c53
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
cmp ecx, dword [edx + 0x1c]
je 0x10015cf2
mov esi, dword [ebp + 0x10]
mov ecx, 0x4932
mov eax, ecx
sub eax, 0x4932
je 0x10015cd4
sub eax, 0x62
je case.0x1001598c.33
jmp 0x10015ce7
mov eax, dword [esi]
mov edx, dword [esp + 0xc]
mov dword [eax + 0x18], str.incorrect_length_check
mov dword [edx], 0x1d
add ecx, 0x62
cmp ecx, 0x4994
jbe 0x10015cc0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
add eax, 0x17
mov dword [esp + 0x28], eax
cmp eax, 0x7809
jbe 0x10015c16
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xc]
mov dword [ecx], 0x1c
mov esi, ecx
add eax, 0x1b
mov dword [esp + 0x38], eax
cmp eax, 0x6c89
jbe 0x10015bf0
mov ecx, 0x3333
mov eax, ecx
sub eax, 0x3333
je 0x10015d47
sub eax, 0xe
je case.0x100128b6.10091
jmp 0x10015d4f
mov dword [esp + 0x64], 1
add ecx, 0xe
cmp ecx, 0x3341
jbe 0x10015d33
mov eax, 0x47a1
cmp eax, eax
je 0x10015e22
add eax, 0x31
cmp eax, 0x47a1
jbe 0x10015d61
mov ecx, 0x54bd
mov eax, ecx
sub eax, 0x54bd
je 0x10015d8a
sub eax, 0x5b
je 0x100164a7
jmp 0x10015d92
mov dword [esp + 0x58], 0xfffffffc
add ecx, 0x5b
cmp ecx, 0x5518
jbe 0x10015d76
mov ecx, 0x56b7
mov eax, ecx
sub eax, 0x56b7
je 0x10015db6
sub eax, 0x4d
je 0x100164a7
jmp 0x10015dbe
mov dword [esp + 0x58], 0xfffffffe
add ecx, 0x4d
cmp ecx, 0x5704
jbe 0x10015da2
mov eax, dword [esp + 0xa8]
add eax, 0x2c
mov dword [esp + 0xa8], eax
cmp eax, 0x1f6c
jbe 0x100128f0
jmp 0x100128e0
mov edx, dword [esp + 0x14]
mov ecx, 0x7646
mov eax, ecx
sub eax, 0x7646
je 0x10015e04
dec eax
jne 0x10015e07
sub edx, 2
jmp 0x10015e07
shr ebx, 2
inc ecx
cmp ecx, 0x7647
jbe 0x10015df3
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov ebx, 0x276b
jmp case.default.0x10016477
mov dword [esp + 0x64], 0xfffffffd
mov ebx, 0x276b
jmp case.default.0x10016477
mov eax, dword [esp + 0xc]
mov esi, dword [ebp + 0x10]
xor ecx, ecx
lea edx, [ecx + 5]
cmp ecx, 0xf0
ja case.0x10015e4f.1
movzx ebx, byte [ecx + 0x10017ab0]
jmp dword [ebx*4 + 0x10017a98]
mov ebx, dword [esi]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x4c], ebx
jmp case.0x10015e4f.1
mov eax, dword [esi]
mov ebx, dword [eax + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], ebx
jmp case.0x10015e4f.1
mov ebx, dword [eax + 0x3c]
mov dword [esp + 0x14], ebx
jmp case.0x10015e4f.1
mov ebx, dword [eax + 0x38]
mov dword [esp + 0x10], ebx
jmp case.0x10015e4f.1
mov ebx, dword [esi]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x18], ebx
add ecx, 0x3c
dec edx
jne 0x10015e40
mov ebx, dword [esp + 0x20]
jmp case.default.0x10016477
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
sub dword [esp + 0x88], eax
jmp case.default.0x10016477
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
mov edx, dword [esp + 0x44]
add dword [eax + 0x14], edx
jmp case.default.0x10016477
mov esi, dword [esp + 0xc]
cmp dword [esi + 0x28], 0
jne 0x10015f03
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov edx, dword [esp + 0x44]
cmp edx, dword [ecx + 0x10]
je case.default.0x10016477
mov eax, esi
mov eax, dword [eax]
cmp eax, 0x1d
jge case.default.0x10016477
cmp eax, 0x1a
jl 0x10015eff
mov ecx, dword [ebp + 8]
cmp dword [ecx], 4
je case.default.0x10016477
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x44]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push edx
push ecx
call fcn.100187f0
add esp, 8
test eax, eax
je 0x100125aa
mov ecx, 0x3b97
mov eax, ecx
sub eax, 0x3b97
je 0x10015f46
sub eax, 7
je 0x10015f3c
sub eax, 7
je 0x100164a7
jmp 0x10015f4c
mov dword [esp + 0x58], 0xfffffffc
jmp 0x10015f4c
mov dword [esi], 0x1e
add ecx, 7
cmp ecx, 0x3ba5
jbe 0x10015f23
jmp case.default.0x10016477
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
test edx, edx
je 0x10015f7c
cmp dword [edx + 0x1c], 0
je 0x10015f7c
cmp dword [edx + 0xc], 0
je 0x10015f7c
cmp dword [edx], 0
jne 0x10015fa8
cmp dword [edx + 4], 0
je 0x10015fa8
mov ecx, 0x3261
mov eax, ecx
sub eax, 0x3261
je 0x10015f95
sub eax, 4
je 0x100164a7
jmp 0x10015f9d
mov dword [esp + 0x58], 0xfffffffe
add ecx, 4
cmp ecx, 0x3265
jbe 0x10015f81
mov eax, dword [edx + 0x1c]
mov dword [esp + 0xc], eax
jmp case.default.0x10016477
mov ecx, dword [esp + 0xc]
cmp dword [ecx], 0xb
jne case.default.0x10016477
mov edx, ecx
mov dword [edx], 0xc
jmp case.default.0x10016477
mov edx, dword [ebp + 0x10]
xor eax, eax
lea ecx, [eax + 4]
cmp eax, 3
ja case.default.0x10015fdf
jmp dword [eax*4 + 0x10017ba4]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0x3c], esi
jmp 0x10016025
mov esi, dword [edx]
mov ebx, dword [esp + 0x4c]
mov dword [esi + 0xc], ebx
mov esi, dword [edx]
mov ebx, dword [esp + 0x48]
mov dword [esi + 0x10], ebx
jmp 0x10016025
mov esi, dword [edx]
mov ebx, dword [esp + 0x1c]
mov dword [esi], ebx
mov esi, dword [edx]
mov ebx, dword [esp + 0x18]
mov dword [esi + 4], ebx
jmp 0x10016025
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0x38], esi
mov ebx, dword [esp + 0x20]
inc eax
dec ecx
jne 0x10015fd6
jmp case.default.0x10016477
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [esp + 0x88]
add dword [eax + 8], ecx
jmp case.default.0x10016477
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x88], edx
mov dword [esp + 0x44], eax
jmp case.default.0x10016477
mov eax, dword [esp + 0xc]
add dword [eax + 0x1c], ecx
jmp case.default.0x10016477
mov eax, ebx
sub eax, 0x2823
je 0x100160af
sub eax, 0x17
jne case.default.0x10016477
cmp dword [esp + 0x88], eax
jne 0x1001608b
cmp dword [esp + 0x44], eax
je 0x10016097
mov ecx, dword [ebp + 8]
cmp dword [ecx], 4
jne case.default.0x10016477
cmp dword [esp + 0x64], 0
jne case.default.0x10016477
mov dword [esp + 0x64], 0xfffffffb
jmp case.default.0x10016477
mov esi, dword [esp + 0xc]
cmp dword [esi + 8], 0
je 0x100160f5
test ecx, ecx
je 0x100160f5
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x44]
mov ebx, dword [ebp + 0x10]
push eax
je 0x100160dd
mov edx, dword [ebx]
mov ecx, dword [edx + 0xc]
sub ecx, eax
mov eax, dword [esi + 0x18]
push eax
call fcn.10018e20
jmp 0x100160ed
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0xc]
mov edx, dword [esi + 0x18]
sub ecx, eax
push edx
call fcn.1001dfa0
mov dword [esi + 0x18], eax
mov ecx, dword [ebx]
mov dword [ecx + 0x30], eax
mov eax, dword [esi]
cmp eax, 0x13
je 0x10016105
cmp eax, 0xe
je 0x10016105
xor ecx, ecx
jmp 0x1001610a
mov ecx, pe_nt_image_headers32
mov edx, dword [esi + 4]
neg edx
sbb edx, edx
xor ebx, ebx
and edx, 0x40
cmp eax, 0xb
mov eax, dword [ebp + 0x10]
setne bl
dec ebx
and ebx, 0x80
add edx, ebx
add edx, dword [esi + 0x3c]
mov ebx, dword [esp + 0x20]
add edx, ecx
mov ecx, dword [eax]
mov dword [ecx + 0x2c], edx
jmp case.default.0x10016477
mov edx, dword [esp + 0x64]
mov ecx, 0x36c0
mov eax, ecx
sub eax, 0x36c0
je 0x10016158
sub eax, 0x1e
je 0x100164a7
jmp 0x1001615c
mov dword [esp + 0x58], edx
add ecx, 0x1e
cmp ecx, 0x36de
jbe 0x10016144
mov edx, dword [esp + 0xb4]
sub edx, dword [esp + 0x94]
mov eax, dword [ebp + 8]
push edx
call fcn.10018780
add esp, 4
jmp case.default.0x10016477
cmp ebx, 0x7b38
ja 0x10016465
je 0x10016415
lea eax, [ebx - 0x7a24]
cmp eax, 0xfd
ja case.default.0x10016477
movzx eax, byte [eax + 0x10017be8]
jmp dword [eax*4 + 0x10017bb4]
mov ecx, dword [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x84]
call fcn.1000c210
fstp qword [esp + 0x104]
mov edx, dword [esp + 0x7c]
add esp, 4
mov dword [esp + 0x8c], edx
jmp case.default.0x10016477
mov eax, dword [ebp + 0x10]
fnstcw word [esp + 0x20]
fild dword [eax + 0x10]
movzx eax, word [esp + 0x20]
or eax, 0xc00
mov dword [esp + 0x38], eax
fdiv qword [0x10039538]
fldcw word [esp + 0x38]
fistp qword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
fldcw word [esp + 0x20]
test al, 1
jne case.default.0x10016477
inc dword [esp + 0x7c]
jmp case.default.0x10016477
mov dword [esp + 0xa4], 0
jmp case.default.0x10016477
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x90], eax
jmp case.default.0x10016477
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x98], edx
jmp case.default.0x10016477
mov dword [esp + 0x84], 0
jmp case.default.0x10016477
mov dword [esp + 0x80], 0
jmp case.default.0x10016477
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
push esi
call fcn.1000d400
mov eax, dword [esp + 0x84]
add esp, 4
push esi
call fcn.1001db50
add esp, 4
jmp case.default.0x10016477
mov eax, dword [esp + 0x7c]
lea ecx, [eax*8]
push ecx
call fcn.10025e66
add esp, 4
mov dword [esp + 0x80], eax
test eax, eax
jne 0x100125aa
mov eax, 0x6f32
cmp eax, eax
je 0x1001636d
inc eax
cmp eax, 0x6f32
jbe 0x100162cc
jmp case.default.0x10016477
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebx + 0x14]
shl edx, 0x10
push edx
call fcn.10025e66
add esp, 4
mov dword [esp + 0x78], eax
test eax, eax
jne 0x10016333
mov esi, 0x5ba1
mov eax, esi
sub eax, 0x5ba1
je 0x10016312
sub eax, 0x11
je 0x100167ba
jmp 0x10016328
call fcn.10026000
add eax, 0x40
push eax
push str.ERROR:_malloc___n
call fcn.10025efa
add esp, 8
add esi, 0x11
cmp esi, 0x5bb2
jbe 0x100162fe
mov eax, dword [ebx + 0x14]
shl eax, 0x10
push eax
call fcn.10025e66
add esp, 4
mov dword [esp + 0x90], eax
test eax, eax
jne 0x100125aa
mov eax, 0x75fd
cmp eax, eax
je 0x1001636d
add eax, 0xb
cmp eax, 0x75fd
jbe 0x10016358
mov ebx, dword [esp + 0x20]
jmp case.default.0x10016477
call fcn.10026000
add eax, 0x40
push eax
push str.ERROR:_malloc___n
call fcn.10025efa
add esp, 8
jmp 0x100167ba
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x98]
lea ecx, [eax - 1]
shr ecx, 1
push ecx
mov ecx, dword [esp + 0x84]
push eax
push edx
call fcn.10021980
add esp, 0xc
mov dword [esp + 0x84], eax
test eax, eax
jne 0x100125aa
mov esi, 0x6e31
mov eax, esi
sub eax, 0x6e31
je 0x100163d2
sub eax, 0x1d
je 0x100167ba
jmp 0x100163e8
call fcn.10026000
add eax, 0x40
push eax
push str.ERROR:_lsx_fir_create___n
call fcn.10025efa
add esp, 8
add esi, 0x1d
cmp esi, 0x6e4e
jbe 0x100163be
jmp case.default.0x10016477
xor eax, eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
jmp case.default.0x10016477
mov esi, dword [esp + 0x84]
call fcn.1001e7d0
test eax, eax
jns 0x100125aa
mov esi, 0x232
mov eax, esi
sub eax, 0x232
je 0x10016442
sub eax, 2
je 0x100167ba
jmp 0x10016458
call fcn.10026000
add eax, 0x40
push eax
push str.ERROR:_lsx_fir_start___n
call fcn.10025efa
add esp, 8
add esi, 2
cmp esi, 0x234
jbe 0x1001642e
jmp case.default.0x10016477
lea eax, [ebx - 0x7b4f]
cmp eax, 0x73
ja case.default.0x10016477
movzx eax, byte [eax + 0x10017d04]
jmp dword [eax*4 + 0x10017ce8]
mov eax, dword [esp + 0x78]
test eax, eax
je case.0x10016477.31568
push eax
call fcn.10025dec
add esp, 4
mov edi, dword [esp + 0x34]
add ebx, 0x17
mov dword [esp + 0x20], ebx
cmp ebx, dword [esp + 0xf0]
jbe 0x10012510
mov eax, dword [esp + 0x58]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1000ebc0
fstp qword [esp + 0xa8]
mov edi, edi
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x28], 0
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x30], 0x56af
cmp ebx, 0xaa
ja case.0x100164f5.1
movzx ecx, byte [ebx + 0x10017d94]
jmp dword [ecx*4 + 0x10017d78]
mov edx, dword [esp + 0x84]
push esi
push edx
lea eax, [esp + 0xa4]
lea edx, [esp + 0xcc]
mov ecx, edi
call fcn.1001e6b0
add esp, 8
test eax, eax
jns case.0x100164f5.1
mov eax, 0x702e
cmp eax, eax
je 0x10016776
add eax, 0x1c
cmp eax, 0x702e
jbe 0x1001652c
jmp case.0x100164f5.1
mov eax, dword [esp + 0x70]
or eax, dword [esp + 0x74]
jne case.0x100164f5.1
cmp dword [esp + 0x9c], eax
jne case.0x100164f5.1
mov eax, 0x4809
cmp eax, eax
je 0x10016796
add eax, 8
cmp eax, 0x4809
jbe 0x10016563
jmp case.0x100164f5.1
mov ecx, dword [esp + 0x9c]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 4]
push 0
push ecx
mov ecx, edi
call fcn.10004820
add esp, 8
jmp case.0x100164f5.1
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x98]
imul ecx, eax
sub dword [esp + 0x70], eax
lea esi, [esi + ecx*4]
mov dword [esp + 0x8c], esi
sbb dword [esp + 0x74], 0
jmp case.0x100164f5.1
cmp dword [esp + 0xa4], 0
jne 0x1001672a
mov edx, dword [esp + 0x70]
or edx, dword [esp + 0x74]
jne 0x1001672a
xor edi, edi
mov dword [esp + 0x38], 5
cmp edi, 0x44
ja case.0x100165f6.1
movzx eax, byte [edi + 0x10017e58]
jmp dword [eax*4 + 0x10017e40]
fld qword [esp + 0xf8]
fsub qword [esp + 0xa8]
fcomp qword [0x10039530]
fnstsw ax
test ah, 0x41
je 0x10016626
cmp dword [esp + 0xa4], 0
je case.0x100165f6.1
xor esi, esi
lea ebx, [esi + 4]
cmp esi, 0xab
ja case.0x1001663a.0
movzx ecx, byte [esi + 0x10017eb0]
jmp dword [ecx*4 + 0x10017ea0]
call fcn.10026000
add eax, 0x40
push eax
call fcn.1002634d
add esp, 4
jmp case.0x1001663a.0
fld qword [esp + 0xf8]
fstp qword [esp + 0xa8]
add esi, 0x39
dec ebx
jne 0x1001662b
jmp case.0x100165f6.1
mov edx, dword [esp + 0x70]
add dword [esp + 0xb8], edx
mov eax, dword [esp + 0x74]
adc dword [esp + 0xbc], eax
jmp case.0x100165f6.1
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x78]
mov ebx, dword [edx]
call fcn.100047a0
push edx
push eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xa0]
xor ebx, ebx
push ebx
push eax
mov dword [esp + 0x84], edx
call fcn.10030330
mov ecx, edx
mov esi, eax
test ecx, ecx
jl case.0x100165f6.1
jg 0x100166c9
test esi, esi
je case.0x100165f6.1
fld qword [esp + 0x100]
mov eax, dword [esp + 0x78]
fld dword [eax + ebx*4]
inc ebx
fdiv st(1)
fstp dword [eax + ebx*4 - 4]
mov eax, ebx
cdq
cmp edx, ecx
jl 0x100166d0
jg 0x100166eb
cmp eax, esi
jb 0x100166d0
fstp st(0)
jmp case.0x100165f6.1
mov ecx, dword [esp + 0x70]
or ecx, dword [esp + 0x74]
jne 0x10016704
mov dword [esp + 0xa4], 1
call fcn.1000ebc0
fstp qword [esp + 0xf8]
jmp case.0x100165f6.1
mov edx, dword [esp + 0x78]
mov dword [esp + 0x8c], edx
add edi, 0x11
dec dword [esp + 0x38]
jne 0x100165e6
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xc4], eax
jmp case.0x100164f5.1
mov dword [esp + 0x9c], 0x4000
mov eax, dword [esp + 0x30]
add eax, 0x22
add ebx, 0x22
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ebx
cmp eax, 0x5759
jbe 0x100164e2
jmp 0x100164c0
call fcn.10026000
add eax, 0x40
push eax
push str._nERROR:_lsx_rate_process___n
call fcn.10025efa
add esp, 8
mov ebx, 0x7b66
jmp case.0x10016477.31568
call fcn.10026000
add eax, 0x40
push eax
push str....done_n
call fcn.10025efa
add esp, 8
mov ebx, 0x7b66
jmp case.0x10016477.31568
mov edi, dword [esp + 0x34]
cmp dword [esp + 0x84], 0
mov ebx, 0x7b7d
je case.default.0x10016477
mov eax, dword [esp + 0x84]
call fcn.1000c170
jmp case.default.0x10016477
mov eax, dword [esp + 0x90]
jmp 0x10016482
mov eax, dword [esp + 0x80]
jmp 0x10016482