Function at 0x6e133a9c
Capabilities:
Compress data via zlib inflate or deflate

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xac
mov edx, dword [ebp + 8]
test edx, edx
jne 0x6e133ac0
mov eax, 0xfffffffe
add esp, 0xac
pop ebx
pop esi
pop edi
leave
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x6e133aaf
mov edx, dword [ebp + 8]
mov dword [edx + 0x18], 0
mov dword [eax], 0xb
mov dword [eax + 4], 0
mov dword [eax + 0x2c], 0
mov eax, dword [edx]
test eax, eax
je 0x6e133f94
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + 4]
mov dword [ebp - 0x1c], eax
mov esi, dword [ebp - 0x2c]
mov esi, dword [esi + 0x34]
mov dword [ebp - 0x38], esi
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x2c]
add edx, 0x530
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp - 0x2c]
add ecx, 0x2f0
mov dword [ebp - 0x4c], ecx
mov esi, dword [ebp - 0x2c]
add esi, 0x54
mov dword [ebp - 0x54], esi
mov eax, dword [ebp - 0x2c]
add eax, 0x6c
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x2c]
add edx, 0x70
mov dword [ebp - 0x50], edx
mov ecx, dword [ebp - 0x2c]
add ecx, 0x58
mov dword [ebp - 0x58], ecx
mov eax, 0xb
xor esi, esi
xor edi, edi
sub eax, 0xb
cmp eax, 0x12
jbe switch.0x6e133b78
mov edx, dword [ebp - 0x1c]
mov eax, 0xfffffffe
mov ecx, dword [ebp + 8]
mov dword [ecx], edx
mov dword [ecx + 4], ebx
add esp, 0xac
pop ebx
pop esi
pop edi
leave
ret
jmp dword [eax*4 + 0x6e2ddc90]
mov edx, dword [ebp - 0x1c]
mov eax, 0xfffffffd
jmp 0x6e133b65
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x28]
cmp eax, dword [ebp - 0x3c]
ja 0x6e134130
mov edx, dword [ebp - 0x1c]
mov eax, 1
jmp 0x6e133b65
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x14
nop
cmp ebx, 5
jbe 0x6e133ee8
cmp dword [ebp - 0x3c], 0x101
jbe 0x6e133ee8
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov dword [edx + 4], ebx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x38], edi
mov dword [ecx + 0x3c], esi
mov eax, dword [ecx + 0x28]
cmp dword [ecx + 0x2c], eax
jae 0x6e133bf9
mov edx, eax
sub edx, dword [ebp - 0x3c]
mov dword [ecx + 0x2c], edx
mov dword [esp + 4], eax
mov ebx, dword [ebp + 8]
mov dword [esp], ebx
call fcn.6e134b20
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x38], esi
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp + 8]
mov ebx, dword [edx + 4]
mov ecx, dword [ebp - 0x2c]
mov edi, dword [ecx + 0x38]
mov esi, dword [ecx + 0x3c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx]
jmp 0x6e133b55
cmp esi, 0xd
ja 0x6e133d40
mov ecx, esi
mov eax, ebx
mov esi, dword [ebp + 0x10]
jmp 0x6e133c63
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
shl edx, cl
add edi, edx
inc ebx
mov dword [ebp - 0x1c], ebx
add ecx, 8
cmp ecx, 0xd
ja 0x6e133d3c
test eax, eax
jne 0x6e133c48
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [ebp - 0x74], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x74]
jne 0x6e133c48
mov ebx, eax
xor edx, edx
mov eax, 0xfffffffb
jmp 0x6e133b65
mov ecx, esi
and ecx, 7
shr edi, cl
and esi, 0xfffffff8
cmp esi, 0x1f
ja 0x6e133eb4
mov ecx, esi
mov eax, ebx
mov esi, dword [ebp + 0x10]
jmp 0x6e133cc3
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
shl edx, cl
add edi, edx
inc ebx
mov dword [ebp - 0x1c], ebx
add ecx, 8
cmp ecx, 0x1f
ja 0x6e133eb0
test eax, eax
jne 0x6e133ca8
lea edx, [ebp - 0x1c]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [ebp - 0x74], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x74]
jne 0x6e133ca8
jmp 0x6e133c7e
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x6e13409c
cmp esi, 2
ja 0x6e1340b8
mov ecx, esi
mov eax, ebx
mov esi, dword [ebp + 0x10]
jmp 0x6e133d1b
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
shl edx, cl
add edi, edx
inc ebx
mov dword [ebp - 0x1c], ebx
add ecx, 8
cmp ecx, 2
ja 0x6e1340b4
test eax, eax
jne 0x6e133d00
lea edx, [ebp - 0x1c]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [ebp - 0x74], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x74]
jne 0x6e133d00
jmp 0x6e133c7e
mov esi, ecx
mov ebx, eax
mov edx, edi
and edx, 0x1f
add edx, 0x101
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x60], edx
mov eax, edi
shr eax, 5
and eax, 0x1f
inc eax
mov dword [ebp - 0x30], eax
mov dword [ecx + 0x64], eax
mov eax, edi
shr eax, 0xa
and eax, 0xf
add eax, 4
mov dword [ecx + 0x5c], eax
shr edi, 0xe
sub esi, 0xe
cmp edx, 0x11e
ja 0x6e133f9c
cmp dword [ebp - 0x30], 0x1e
ja 0x6e133f9c
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x68], 0
mov ecx, esi
mov eax, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], ebx
cmp ecx, 2
ja 0x6e133dbe
test eax, eax
je 0x6e133e8c
nop
dec eax
mov esi, dword [ebp - 0x1c]
movzx edx, byte [esi]
shl edx, cl
add edi, edx
inc esi
mov dword [ebp - 0x1c], esi
add ecx, 8
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x68]
mov dword [ebp - 0x70], edx
movzx ebx, word [edx + edx + 0x6e2ddce0]
mov esi, edi
and esi, 7
mov edx, dword [ebp - 0x2c]
mov word [edx + ebx*2 + 0x70], si
mov edx, dword [ebp - 0x70]
inc edx
mov ebx, dword [ebp - 0x2c]
mov dword [ebx + 0x68], edx
shr edi, 3
sub ecx, 3
cmp dword [ebx + 0x5c], edx
ja 0x6e133d9e
mov esi, ecx
mov ebx, eax
mov eax, edx
cmp edx, 0x12
ja 0x6e133e28
lea ecx, [edx + edx + 0x6e2ddce0]
mov dword [ebp - 0x30], esi
mov esi, dword [ebp - 0x2c]
lea esi, [esi]
movzx edx, word [ecx]
mov word [esi + edx*2 + 0x70], 0
inc eax
add ecx, 2
cmp eax, 0x12
jbe 0x6e133e0c
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x6c], eax
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x54], 7
mov edx, dword [ebp - 0x4c]
mov dword [esp + 0x14], edx
mov ecx, dword [ebp - 0x54]
mov dword [esp + 0x10], ecx
mov eax, dword [ebp - 0x48]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x13
mov edx, dword [ebp - 0x50]
mov dword [esp + 4], edx
mov dword [esp], 0
call fcn.6e1375ac
test eax, eax
je 0x6e134649
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x6e2ddbb4
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1d
jmp 0x6e133c28
lea esi, [ebp - 0x1c]
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
mov dword [ebp - 0x74], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x74]
jne 0x6e133dac
jmp 0x6e133c7e
mov esi, ecx
mov ebx, eax
mov edx, edi
and edx, 0xffff
mov eax, edi
shr eax, 0x10
xor eax, 0xffff
cmp edx, eax
je 0x6e13415c
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x6e2ddb73
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1d
jmp 0x6e133c28
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x54]
mov dword [ebp - 0x34], ecx
mov eax, 1
shl eax, cl
dec eax
and eax, edi
lea ecx, [eax*4]
mov eax, dword [ebp - 0x2c]
add ecx, dword [eax + 0x4c]
mov dl, byte [ecx]
mov ax, word [ecx + 2]
mov cl, byte [ecx + 1]
mov byte [ebp - 0x5c], cl
movzx ecx, cl
mov dword [ebp - 0x64], ecx
cmp esi, ecx
jae 0x6e133fc1
mov dword [ebp - 0x30], edi
mov eax, ebx
jmp 0x6e133f6a
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
mov ecx, esi
shl edx, cl
add dword [ebp - 0x30], edx
inc ebx
mov dword [ebp - 0x1c], ebx
add esi, 8
mov edx, 1
mov cl, byte [ebp - 0x34]
shl edx, cl
lea ecx, [edx - 1]
and ecx, dword [ebp - 0x30]
shl ecx, 2
mov ebx, dword [ebp - 0x2c]
add ecx, dword [ebx + 0x4c]
mov dl, byte [ecx]
mov di, word [ecx + 2]
mov cl, byte [ecx + 1]
movzx ebx, cl
cmp ebx, esi
jbe 0x6e133fb4
test eax, eax
jne 0x6e133f2c
lea ebx, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call dword [ebp + 0xc]
test eax, eax
je 0x6e133c7e
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x54]
mov dword [ebp - 0x34], edx
jmp 0x6e133f2c
xor ebx, ebx
jmp 0x6e133afb
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0x6e2ddb90
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x1d
jmp 0x6e133c28
mov byte [ebp - 0x5c], cl
mov dword [ebp - 0x64], ebx
mov ebx, eax
mov eax, edi
mov edi, dword [ebp - 0x30]
test dl, dl
je 0x6e1340f4
movzx ecx, dl
mov dword [ebp - 0x30], ecx
and ecx, 0xf0
jne 0x6e134215
movzx eax, ax
mov dword [ebp - 0x40], eax
movzx eax, byte [ebp - 0x5c]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x30]
add ecx, eax
mov eax, 1
shl eax, cl
dec eax
mov dword [ebp - 0x5c], eax
and eax, edi
mov cl, byte [ebp - 0x34]
shr eax, cl
add eax, dword [ebp - 0x40]
shl eax, 2
mov edx, dword [ebp - 0x2c]
add eax, dword [edx + 0x4c]
mov dl, byte [eax]
mov cx, word [eax + 2]
mov word [ebp - 0x6a], cx
mov al, byte [eax + 1]
mov byte [ebp - 0x68], al
movzx eax, al
mov ecx, dword [ebp - 0x34]
add ecx, eax
cmp esi, ecx
jae 0x6e134282
mov dword [ebp - 0x30], edi
mov eax, ebx
jmp 0x6e13407c
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
mov ecx, esi
shl edx, cl
add dword [ebp - 0x30], edx
inc ebx
mov dword [ebp - 0x1c], ebx
add esi, 8
mov edx, dword [ebp - 0x30]
and edx, dword [ebp - 0x5c]
mov cl, byte [ebp - 0x34]
shr edx, cl
add edx, dword [ebp - 0x40]
shl edx, 2
mov ebx, dword [ebp - 0x2c]
add edx, dword [ebx + 0x4c]
mov cl, byte [edx]
mov byte [ebp - 0x60], cl
mov di, word [edx + 2]
mov dl, byte [edx + 1]
movzx ecx, dl
mov ebx, dword [ebp - 0x34]
add ebx, ecx
cmp ebx, esi
jbe 0x6e134271
test eax, eax
jne 0x6e134034
lea ebx, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call dword [ebp + 0xc]
test eax, eax
jne 0x6e134034
jmp 0x6e133c7e
mov ecx, esi
and ecx, 7
shr edi, cl
and esi, 0xfffffff8
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1c
jmp 0x6e133c28
mov esi, ecx
mov ebx, eax
mov eax, edi
and eax, 1
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 4], eax
shr edi, 1
mov eax, edi
and eax, 3
cmp eax, 2
je 0x6e13432a
cmp eax, 3
je 0x6e134312
dec eax
je 0x6e1342e8
mov dword [ecx], 0xd
shr edi, 2
sub esi, 3
jmp 0x6e133c28
movzx ecx, byte [ebp - 0x5c]
shr edi, cl
sub esi, ecx
movzx eax, ax
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x40], eax
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x6e1342b1
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x40]
mov ecx, dword [ebp - 0x38]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x3c]
mov dword [edx], 0x14
jmp 0x6e133c28
sub eax, dword [ebp - 0x3c]
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x34]
mov dword [esp + 4], eax
mov esi, dword [ebp + 0x18]
mov dword [esp], esi
call dword [ebp + 0x14]
test eax, eax
jne 0x6e134208
mov edx, dword [ebp - 0x1c]
mov al, 1
jmp 0x6e133b65
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x40], edx
test edx, edx
je 0x6e13423d
mov esi, edx
mov edx, dword [ebp - 0x3c]
jmp 0x6e1341ad
test edx, edx
je 0x6e1341d4
mov eax, ebx
cmp ebx, esi
jbe 0x6e134180
mov eax, esi
cmp eax, edx
jbe 0x6e134186
mov eax, edx
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x38]
mov ecx, eax
rep movsb byte es:[edi], byte [esi]
sub ebx, eax
add dword [ebp - 0x1c], eax
sub edx, eax
mov dword [ebp - 0x38], edi
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ecx + 0x40]
sub esi, eax
mov dword [ecx + 0x40], esi
test esi, esi
je 0x6e13423a
test ebx, ebx
jne 0x6e134174
lea ebx, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
mov dword [ebp - 0x74], edx
call dword [ebp + 0xc]
mov ebx, eax
test eax, eax
mov edx, dword [ebp - 0x74]
jne 0x6e134174
jmp 0x6e133c80
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x34]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x28]
mov dword [ecx + 0x2c], edx
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x38]
mov dword [esp + 4], eax
mov ecx, dword [ebp + 0x18]
mov dword [esp], ecx
mov dword [ebp - 0x74], edx
call dword [ebp + 0x14]
test eax, eax
mov edx, dword [ebp - 0x74]
je 0x6e134178
mov edx, dword [ebp - 0x1c]
mov eax, 0xfffffffb
jmp 0x6e133b65
movzx ecx, byte [ebp - 0x5c]
shr edi, cl
sub esi, ecx
movzx eax, ax
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x40], eax
test byte [ebp - 0x30], 0x20
je 0x6e13424f
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0xb
jmp 0x6e133c28
mov dword [ebp - 0x3c], edx
mov esi, dword [ebp - 0x2c]
mov dword [esi], 0xb
xor esi, esi
xor edi, edi
jmp 0x6e133c28
test byte [ebp - 0x30], 0x40
je 0x6e134338
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x6e2ddc3f
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1d
jmp 0x6e133c28
mov byte [ebp - 0x68], dl
mov word [ebp - 0x6a], di
mov dl, byte [ebp - 0x60]
mov edi, dword [ebp - 0x30]
mov ebx, eax
mov eax, ecx
mov cl, byte [ebp - 0x34]
shr edi, cl
sub esi, dword [ebp - 0x64]
mov cl, al
shr edi, cl
movzx eax, byte [ebp - 0x68]
sub esi, eax
movzx eax, word [ebp - 0x6a]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x40], eax
test dl, dl
je 0x6e134105
movzx eax, dl
mov dword [ebp - 0x30], eax
jmp 0x6e134226
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x28]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x2c], edx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x18]
mov dword [esp], eax
call dword [ebp + 0x14]
test eax, eax
je 0x6e134110
jmp 0x6e134208
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x4c], 0x6e2ddda0
mov dword [eax + 0x54], 9
mov dword [eax + 0x50], 0x6e2ddd20
mov dword [eax + 0x58], 5
mov dword [eax], 0x14
jmp 0x6e1340e9
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x6e2ddb60
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1d
jmp 0x6e1340e9
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x10
jmp 0x6e1340e9
and edx, 0xf
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x48], edx
test edx, edx
je 0x6e1343ba
cmp edx, esi
jbe 0x6e134a2d
mov ecx, esi
mov eax, ebx
mov esi, dword [ebp - 0x2c]
jmp 0x6e134373
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
shl edx, cl
add edi, edx
inc ebx
mov dword [ebp - 0x1c], ebx
add ecx, 8
mov ebx, dword [esi + 0x48]
mov edx, ebx
cmp ebx, ecx
jbe 0x6e134396
test eax, eax
jne 0x6e134358
lea ebx, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
mov dword [ebp - 0x74], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x74]
jne 0x6e134358
jmp 0x6e133c7e
mov esi, ecx
mov ebx, eax
mov eax, edx
mov dword [ebp - 0x30], 1
mov cl, dl
shl dword [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
dec edx
and edx, edi
mov ecx, dword [ebp - 0x2c]
add dword [ecx + 0x40], edx
mov cl, al
shr edi, cl
sub esi, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x34], eax
mov eax, 1
mov cl, byte [ebp - 0x34]
shl eax, cl
dec eax
and eax, edi
lea edx, [eax*4]
mov eax, dword [ebp - 0x2c]
add edx, dword [eax + 0x50]
mov cl, byte [edx]
mov byte [ebp - 0x30], cl
mov ax, word [edx + 2]
mov dl, byte [edx + 1]
movzx ecx, dl
mov dword [ebp - 0x64], ecx
cmp esi, ecx
jae 0x6e134467
mov eax, ebx
jmp 0x6e134435
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
mov ecx, esi
shl edx, cl
add edi, edx
inc ebx
mov dword [ebp - 0x1c], ebx
add esi, 8
mov edx, 1
mov cl, byte [ebp - 0x34]
shl edx, cl
dec edx
and edx, edi
shl edx, 2
mov ebx, dword [ebp - 0x2c]
add edx, dword [ebx + 0x50]
mov cl, byte [edx]
mov byte [ebp - 0x30], cl
mov bx, word [edx + 2]
mov dl, byte [edx + 1]
movzx ecx, dl
cmp ecx, esi
jbe 0x6e13445c
test eax, eax
jne 0x6e1343f8
lea ebx, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call dword [ebp + 0xc]
test eax, eax
je 0x6e133c7e
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x58]
mov dword [ebp - 0x34], edx
jmp 0x6e1343f8
mov dword [ebp - 0x34], eax
mov eax, ebx
mov dword [ebp - 0x64], ecx
mov ebx, dword [ebp - 0x34]
movzx ecx, byte [ebp - 0x30]
mov dword [ebp - 0x34], ecx
and ecx, 0xf0
je 0x6e1344a8
movzx ecx, dl
mov dword [ebp - 0x68], ecx
mov cl, byte [ebp - 0x68]
shr edi, cl
movzx edx, dl
sub esi, edx
test byte [ebp - 0x34], 0x40
je 0x6e134569
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0x6e2ddc5b
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x1d
jmp 0x6e133c28
movzx eax, ax
mov dword [ebp - 0x60], eax
movzx edx, dl
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x34]
add ecx, edx
mov eax, 1
shl eax, cl
dec eax
mov dword [ebp - 0x5c], eax
and eax, edi
mov cl, byte [ebp - 0x40]
shr eax, cl
add eax, dword [ebp - 0x60]
lea edx, [eax*4]
mov eax, dword [ebp - 0x2c]
add edx, dword [eax + 0x50]
mov cl, byte [edx]
mov byte [ebp - 0x30], cl
mov ax, word [edx + 2]
mov dl, byte [edx + 1]
movzx ecx, dl
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x68]
cmp esi, ecx
jae 0x6e134635
mov dword [ebp - 0x34], edi
mov eax, ebx
jmp 0x6e13454c
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
mov ecx, esi
shl edx, cl
add dword [ebp - 0x34], edx
inc ebx
mov dword [ebp - 0x1c], ebx
add esi, 8
mov edx, dword [ebp - 0x34]
and edx, dword [ebp - 0x5c]
mov cl, byte [ebp - 0x40]
shr edx, cl
add edx, dword [ebp - 0x60]
shl edx, 2
mov ebx, dword [ebp - 0x2c]
add edx, dword [ebx + 0x50]
mov cl, byte [edx]
mov byte [ebp - 0x30], cl
mov di, word [edx + 2]
mov dl, byte [edx + 1]
movzx ecx, dl
mov ebx, dword [ebp - 0x40]
add ebx, ecx
cmp ebx, esi
jbe 0x6e13462b
test eax, eax
jne 0x6e134504
lea ebx, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call dword [ebp + 0xc]
test eax, eax
jne 0x6e134504
jmp 0x6e133c7e
movzx eax, ax
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x44], eax
mov cl, byte [ebp - 0x30]
and ecx, 0xf
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x48], ecx
test ecx, ecx
je 0x6e1345f3
mov eax, ecx
cmp esi, ecx
jb 0x6e1345b0
jmp 0x6e1345d5
dec ebx
mov eax, dword [ebp - 0x1c]
movzx edx, byte [eax]
mov ecx, esi
shl edx, cl
add edi, edx
inc eax
mov dword [ebp - 0x1c], eax
add esi, 8
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x48]
mov ecx, eax
cmp eax, esi
jbe 0x6e1345cf
test ebx, ebx
jne 0x6e134590
lea edx, [ebp - 0x1c]
mov dword [esp + 4], edx
mov ecx, dword [ebp + 0x10]
mov dword [esp], ecx
call dword [ebp + 0xc]
mov ebx, eax
test eax, eax
jne 0x6e134590
jmp 0x6e133c80
mov edx, dword [edx + 0x44]
mov dword [ebp - 0x34], edx
mov edx, 1
shl edx, cl
lea ecx, [edx - 1]
and ecx, edi
add dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x44], edx
mov cl, al
shr edi, cl
sub esi, eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax + 0x28]
xor eax, eax
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 0x2c], ecx
jae 0x6e134606
mov eax, dword [ebp - 0x3c]
mov edx, ecx
sub edx, eax
cmp edx, dword [ebp - 0x34]
jae 0x6e1347fc
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x6e2ddc71
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1d
jmp 0x6e133c28
mov dword [ebp - 0x68], ecx
mov ebx, eax
mov eax, edi
mov edi, dword [ebp - 0x34]
mov cl, byte [ebp - 0x40]
shr edi, cl
sub esi, dword [ebp - 0x64]
movzx ecx, byte [ebp - 0x30]
mov dword [ebp - 0x34], ecx
jmp 0x6e13447c
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x68], 0
mov ecx, edx
mov edx, dword [edx + 0x60]
mov ecx, dword [ecx + 0x64]
xor eax, eax
mov dword [ebp - 0x30], ebx
mov ebx, eax
mov eax, dword [ebp - 0x30]
lea edx, [ecx + edx]
cmp edx, ebx
jbe 0x6e134a00
mov ebx, dword [ebp - 0x2c]
mov ebx, dword [ebx + 0x54]
mov dword [ebp - 0x30], ebx
mov edx, 1
mov cl, byte [ebp - 0x30]
shl edx, cl
dec edx
and edx, edi
shl edx, 2
mov ebx, dword [ebp - 0x2c]
add edx, dword [ebx + 0x4c]
mov bx, word [edx + 2]
mov dl, byte [edx + 1]
mov byte [ebp - 0x40], dl
movzx edx, dl
mov dword [ebp - 0x34], edx
cmp esi, edx
jb 0x6e1346e0
jmp 0x6e13470d
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
mov ecx, esi
shl edx, cl
add edi, edx
inc ebx
mov dword [ebp - 0x1c], ebx
add esi, 8
mov edx, 1
mov cl, byte [ebp - 0x30]
shl edx, cl
dec edx
and edx, edi
shl edx, 2
mov ebx, dword [ebp - 0x2c]
add edx, dword [ebx + 0x4c]
mov bx, word [edx + 2]
mov cl, byte [edx + 1]
movzx edx, cl
cmp edx, esi
jbe 0x6e134707
test eax, eax
jne 0x6e1346a8
lea edx, [ebp - 0x1c]
mov dword [esp + 4], edx
mov ecx, dword [ebp + 0x10]
mov dword [esp], ecx
call dword [ebp + 0xc]
test eax, eax
je 0x6e133c7e
mov ebx, dword [ebp - 0x2c]
mov ebx, dword [ebx + 0x54]
mov dword [ebp - 0x30], ebx
jmp 0x6e1346a8
mov dword [ebp - 0x34], edx
mov byte [ebp - 0x40], cl
cmp bx, 0xf
ja 0x6e134762
cmp esi, dword [ebp - 0x34]
jae 0x6e1347d1
mov ecx, esi
mov esi, ebx
jmp 0x6e13473f
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
shl edx, cl
add edi, edx
inc ebx
mov dword [ebp - 0x1c], ebx
add ecx, 8
cmp ecx, dword [ebp - 0x34]
jae 0x6e1347cd
test eax, eax
jne 0x6e134724
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0x10]
mov dword [esp], edx
mov dword [ebp - 0x74], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x74]
jne 0x6e134724
jmp 0x6e133c7e
cmp bx, 0x10
je 0x6e13495e
cmp bx, 0x11
je 0x6e13490c
movzx edx, byte [ebp - 0x40]
mov dword [ebp - 0x30], edx
add edx, 7
cmp esi, edx
jae 0x6e13489c
mov ecx, esi
mov esi, edx
jmp 0x6e1347aa
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
shl edx, cl
add edi, edx
inc ebx
mov dword [ebp - 0x1c], ebx
add ecx, 8
cmp ecx, esi
jae 0x6e13489a
test eax, eax
jne 0x6e134790
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0x10]
mov dword [esp], edx
mov dword [ebp - 0x74], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x74]
jne 0x6e134790
jmp 0x6e133c7e
mov ebx, esi
mov esi, ecx
mov cl, byte [ebp - 0x40]
shr edi, cl
sub esi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x68]
mov ecx, dword [ebp - 0x2c]
mov word [ecx + edx*2 + 0x70], bx
inc edx
mov dword [ebp - 0x30], edx
mov dword [ecx + 0x68], edx
mov edx, dword [ecx + 0x60]
mov ecx, dword [ecx + 0x64]
mov ebx, dword [ebp - 0x30]
jmp 0x6e134665
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
test edx, edx
je 0x6e13485f
mov eax, ecx
mov ecx, dword [ebp - 0x3c]
mov edi, dword [esi + 0x44]
sub eax, edi
cmp ecx, eax
jbe 0x6e134855
lea edi, [ebx + eax]
mov edx, ecx
sub edx, eax
mov eax, dword [esi + 0x40]
cmp edx, eax
jbe 0x6e134830
mov edx, eax
sub eax, edx
mov dword [esi + 0x40], eax
sub ecx, edx
mov dword [ebp - 0x3c], ecx
xor eax, eax
mov cl, byte [edi + eax]
mov byte [ebx + eax], cl
inc eax
cmp edx, eax
jne 0x6e13483c
add ebx, edx
mov eax, dword [esi + 0x40]
test eax, eax
je 0x6e134889
mov ecx, dword [esi + 0x28]
jmp 0x6e13480b
mov eax, ebx
sub eax, edi
mov edi, eax
mov edx, ecx
jmp 0x6e134827
mov ebx, dword [esi + 0x34]
mov dword [esi + 0x2c], ecx
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
mov edx, dword [ebp + 0x18]
mov dword [esp], edx
mov dword [ebp - 0x74], ecx
call dword [ebp + 0x14]
test eax, eax
mov ecx, dword [ebp - 0x74]
jne 0x6e134a4e
mov eax, dword [esi + 0x28]
jmp 0x6e134817
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x30]
jmp 0x6e133c28
mov esi, ecx
mov cl, byte [ebp - 0x30]
shr edi, cl
mov edx, edi
and edx, 0x7f
add edx, 0xb
mov dword [ebp - 0x40], edx
shr edi, 7
sub esi, dword [ebp - 0x34]
sub esi, 7
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebx + 0x68]
xor ecx, ecx
mov ebx, dword [ebp - 0x40]
add ebx, edx
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x2c]
mov ebx, dword [ebx + 0x60]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x2c]
mov ebx, dword [ebx + 0x64]
mov dword [ebp - 0x5c], ebx
add ebx, dword [ebp - 0x34]
cmp dword [ebp - 0x30], ebx
ja 0x6e134a34
mov ebx, dword [ebp - 0x2c]
lea edx, [ebx + edx*2 + 0x70]
xor ebx, ebx
mov word [edx], cx
inc ebx
add edx, 2
cmp ebx, dword [ebp - 0x40]
jne 0x6e1348ec
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x68], ecx
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x5c]
jmp 0x6e1347f4
movzx ecx, byte [ebp - 0x40]
mov dword [ebp - 0x40], ecx
add ecx, 3
mov dword [ebp - 0x30], ecx
cmp esi, ecx
jb 0x6e134941
jmp 0x6e1349da
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
mov ecx, esi
shl edx, cl
add edi, edx
inc ebx
mov dword [ebp - 0x1c], ebx
add esi, 8
cmp esi, dword [ebp - 0x30]
jae 0x6e1349da
test eax, eax
jne 0x6e134924
lea ebx, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call dword [ebp + 0xc]
test eax, eax
jne 0x6e134924
jmp 0x6e133c7e
movzx edx, byte [ebp - 0x40]
mov dword [ebp - 0x40], edx
add edx, 2
mov dword [ebp - 0x30], edx
cmp esi, edx
jb 0x6e13498d
jmp 0x6e1349aa
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
mov ecx, esi
shl edx, cl
add edi, edx
inc ebx
mov dword [ebp - 0x1c], ebx
add esi, 8
cmp esi, dword [ebp - 0x30]
jae 0x6e1349aa
test eax, eax
jne 0x6e134974
lea ecx, [ebp - 0x1c]
mov dword [esp + 4], ecx
mov ebx, dword [ebp + 0x10]
mov dword [esp], ebx
call dword [ebp + 0xc]
test eax, eax
jne 0x6e134974
jmp 0x6e133c7e
mov cl, byte [ebp - 0x40]
shr edi, cl
sub esi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebx + 0x68]
test edx, edx
je 0x6e134a34
mov ebx, dword [ebp - 0x2c]
movzx ecx, word [ebx + edx*2 + 0x6e]
mov ebx, edi
and ebx, 3
add ebx, 3
mov dword [ebp - 0x40], ebx
shr edi, 2
sub esi, 2
jmp 0x6e1348bd
mov cl, byte [ebp - 0x40]
shr edi, cl
mov edx, edi
and edx, 7
add edx, 3
mov dword [ebp - 0x40], edx
shr edi, 3
sub esi, dword [ebp - 0x34]
sub esi, 3
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebx + 0x68]
xor ecx, ecx
jmp 0x6e1348bd
mov ebx, eax
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx], 0x1d
je 0x6e133c28
cmp word [ecx + 0x270], 0
jne 0x6e134a56
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0x6e2ddbe8
mov dword [ecx], 0x1d
jmp 0x6e133c28
mov eax, edx
jmp 0x6e13439c
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0x6e2ddbcd
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x1d
jmp 0x6e133c28
mov ebx, dword [ebp - 0x30]
jmp 0x6e134208
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x6c], ecx
mov dword [edx + 0x4c], ecx
mov dword [edx + 0x54], 9
mov eax, dword [ebp - 0x4c]
mov dword [esp + 0x14], eax
mov edx, dword [ebp - 0x54]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x48]
mov dword [esp + 0xc], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x60]
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x50]
mov dword [esp + 4], ecx
mov dword [esp], 1
call fcn.6e1375ac
test eax, eax
je 0x6e134ab7
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0x6e2ddc0d
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x1d
jmp 0x6e133c28
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x6c]
mov dword [ecx + 0x50], eax
mov dword [ecx + 0x58], 6
mov eax, dword [ebp - 0x4c]
mov dword [esp + 0x14], eax
mov edx, dword [ebp - 0x58]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x48]
mov dword [esp + 0xc], ecx
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x64]
mov dword [esp + 8], eax
mov eax, dword [edx + 0x60]
lea eax, [edx + eax*2 + 0x70]
mov dword [esp + 4], eax
mov dword [esp], 2
call fcn.6e1375ac
test eax, eax
je 0x6e133ba5
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x6e2ddc29
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1d
jmp 0x6e133c28