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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8c
mov edx, dword [ebp + 8]
test edx, edx
jne 0x62e86f14
mov eax, 0xfffffffe
add esp, 0x8c
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 0x62e86f03
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]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x62e873e0
mov ebx, dword [edx + 4]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0x38], ecx
mov esi, dword [ebp - 0x2c]
mov esi, dword [esi + 0x28]
mov dword [ebp - 0x40], esi
mov eax, 0xb
xor esi, esi
xor edi, edi
mov edx, dword [ebp - 0x2c]
add edx, 0x530
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x2c]
add ecx, 0x2f0
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x2c]
add edx, 0x54
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x2c]
add ecx, 0x6c
mov dword [ebp - 0x50], ecx
sub eax, 0xb
cmp eax, 0x12
jbe switch.0x62e86fb8
mov edx, dword [ebp - 0x1c]
mov eax, 0xfffffffe
mov ecx, dword [ebp + 8]
mov dword [ecx], edx
mov dword [ecx + 4], ebx
add esp, 0x8c
pop ebx
pop esi
pop edi
leave
ret
jmp dword [eax*4 + 0x62e96570]
mov edx, dword [ebp - 0x1c]
mov eax, 0xfffffffd
jmp 0x62e86fa4
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x28]
cmp dword [ebp - 0x40], eax
jb 0x62e87574
mov edx, dword [ebp - 0x1c]
mov eax, 1
jmp 0x62e86fa4
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x14
nop
cmp ebx, 5
jbe 0x62e87334
cmp dword [ebp - 0x40], 0x101
jbe 0x62e87334
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x40]
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 0x62e87039
mov edx, eax
sub edx, dword [ebp - 0x40]
mov dword [ecx + 0x2c], edx
mov dword [esp + 4], eax
mov ebx, dword [ebp + 8]
mov dword [esp], ebx
call fcn.62e8d480
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x38], esi
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x40], 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 0x62e86f94
cmp esi, 0xd
ja 0x62e871c0
mov eax, ebx
mov ecx, esi
mov esi, dword [ebp + 0x10]
jmp 0x62e870a3
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 0x62e871bc
test eax, eax
jne 0x62e87088
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [ebp - 0x78], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x78]
jne 0x62e87088
mov ebx, eax
xor edx, edx
mov eax, 0xfffffffb
jmp 0x62e86fa4
mov ecx, esi
and ecx, 7
shr edi, cl
and esi, 0xfffffff8
cmp esi, 0x1f
ja 0x62e87188
mov eax, ebx
mov ecx, esi
mov esi, dword [ebp + 0x10]
jmp 0x62e87103
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 0x62e87184
test eax, eax
jne 0x62e870e8
lea edx, [ebp - 0x1c]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [ebp - 0x78], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x78]
jne 0x62e870e8
mov ebx, eax
xor edx, edx
mov eax, 0xfffffffb
jmp 0x62e86fa4
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x62e874e4
cmp esi, 2
ja 0x62e87500
mov eax, ebx
mov ecx, esi
mov esi, dword [ebp + 0x10]
jmp 0x62e87167
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 0x62e874fc
test eax, eax
jne 0x62e8714c
lea edx, [ebp - 0x1c]
mov dword [esp + 4], edx
mov dword [esp], esi
mov dword [ebp - 0x78], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x78]
jne 0x62e8714c
jmp 0x62e8711e
mov ebx, eax
mov esi, ecx
mov edx, edi
and edx, 0xffff
mov eax, edi
shr eax, 0x10
xor eax, 0xffff
cmp edx, eax
je 0x62e8759d
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x62e96453
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1d
jmp 0x62e87068
mov ebx, eax
mov esi, ecx
mov ecx, edi
and ecx, 0x1f
add ecx, 0x101
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x60], ecx
mov eax, edi
shr eax, 5
and eax, 0x1f
inc eax
mov dword [ebp - 0x34], eax
mov dword [edx + 0x64], eax
mov edx, edi
shr edx, 0xa
and edx, 0xf
add edx, 4
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x5c], edx
shr edi, 0xe
sub esi, 0xe
cmp ecx, 0x11e
ja 0x62e874cc
cmp dword [ebp - 0x34], 0x1e
ja 0x62e874cc
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x68], 0
xor eax, eax
mov ecx, esi
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp - 0x2c]
mov edx, eax
mov eax, ebx
mov ebx, edx
cmp ecx, 2
ja 0x62e87254
test eax, eax
je 0x62e87310
nop
dec eax
mov ebx, dword [ebp - 0x1c]
movzx edx, byte [ebx]
shl edx, cl
add dword [ebp - 0x3c], edx
inc ebx
mov dword [ebp - 0x1c], ebx
add ecx, 8
mov esi, dword [edi + 0x5c]
mov dword [ebp - 0x30], esi
mov ebx, dword [edi + 0x68]
movzx edx, word [ebx + ebx + 0x62e965c0]
mov esi, dword [ebp - 0x3c]
and esi, 7
mov word [edi + edx*2 + 0x70], si
inc ebx
mov dword [edi + 0x68], ebx
shr dword [ebp - 0x3c], 3
sub ecx, 3
cmp ebx, dword [ebp - 0x30]
jb 0x62e8722a
mov edi, dword [ebp - 0x3c]
mov esi, ecx
mov edx, ebx
mov ebx, eax
mov eax, edx
cmp edx, 0x12
ja 0x62e872a7
mov ecx, dword [ebp - 0x2c]
nop
movzx edx, word [eax + eax + 0x62e965c0]
mov word [ecx + edx*2 + 0x70], 0
inc eax
cmp eax, 0x12
jbe 0x62e8728c
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x6c], eax
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x54], 7
add ecx, 0x70
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x4c]
mov dword [esp + 0x14], edx
mov ecx, dword [ebp - 0x54]
mov dword [esp + 0x10], ecx
mov eax, dword [ebp - 0x50]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x13
mov edx, dword [ebp - 0x68]
mov dword [esp + 4], edx
mov dword [esp], 0
call fcn.62e8aa00
test eax, eax
je 0x62e87a63
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x62e96494
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1d
jmp 0x62e87068
lea edx, [ebp - 0x1c]
mov dword [esp + 4], edx
mov ebx, dword [ebp + 0x10]
mov dword [esp], ebx
mov dword [ebp - 0x78], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x78]
jne 0x62e87238
jmp 0x62e870be
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x4c]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x54]
mov dword [ebp - 0x30], ecx
mov eax, 1
shl eax, cl
dec eax
and eax, edi
lea eax, [edx + eax*4]
mov dl, byte [eax]
mov byte [ebp - 0x3c], dl
mov dl, byte [eax + 1]
mov ax, word [eax + 2]
movzx ecx, dl
mov dword [ebp - 0x60], ecx
cmp esi, ecx
jae 0x62e873f1
mov eax, ebx
jmp 0x62e873ae
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
mov ebx, dword [ebp - 0x34]
lea ecx, [ebx + edx*4]
mov dl, byte [ecx]
mov byte [ebp - 0x3c], dl
mov dl, byte [ecx + 1]
mov bx, word [ecx + 2]
movzx ecx, dl
cmp ecx, esi
jbe 0x62e873e8
test eax, eax
jne 0x62e87374
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 0x62e870be
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x4c]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x54]
mov dword [ebp - 0x30], ecx
jmp 0x62e87374
xor ebx, ebx
jmp 0x62e86f4f
mov dword [ebp - 0x60], ecx
mov ecx, ebx
mov ebx, eax
mov eax, ecx
cmp byte [ebp - 0x3c], 0
je 0x62e8753c
movzx ecx, byte [ebp - 0x3c]
mov dword [ebp - 0x30], ecx
and ecx, 0xf0
jne 0x62e87655
movzx eax, ax
mov dword [ebp - 0x58], eax
movzx eax, dl
mov dword [ebp - 0x44], 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, dl
shr eax, cl
add eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x34]
lea eax, [edx + eax*4]
mov cl, byte [eax]
mov byte [ebp - 0x3c], cl
mov dl, byte [eax + 1]
mov byte [ebp - 0x30], dl
mov dx, word [eax + 2]
movzx eax, byte [ebp - 0x30]
mov ecx, dword [ebp - 0x44]
add ecx, eax
cmp esi, ecx
jae 0x62e876ba
mov eax, ebx
mov dword [ebp - 0x30], edi
jmp 0x62e874a5
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 - 0x44]
shr edx, cl
add edx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x34]
lea edx, [ebx + edx*4]
mov cl, byte [edx]
mov byte [ebp - 0x3c], cl
mov bl, byte [edx + 1]
mov dx, word [edx + 2]
movzx ecx, bl
mov edi, dword [ebp - 0x44]
add edi, ecx
cmp edi, esi
jbe 0x62e876b0
test eax, eax
jne 0x62e87460
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
je 0x62e870be
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x4c]
mov dword [ebp - 0x34], edx
jmp 0x62e87460
mov edx, dword [ebp + 8]
mov dword [edx + 0x18], 0x62e96470
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], 0x1d
jmp 0x62e87068
mov eax, ecx
mov ecx, esi
and ecx, 7
shr edi, cl
and esi, 0xfffffff8
mov dword [eax], 0x1c
jmp 0x62e87068
mov ebx, eax
mov esi, ecx
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 0x62e87769
cmp eax, 3
je 0x62e87751
dec eax
je 0x62e87727
mov dword [ecx], 0xd
shr edi, 2
sub esi, 3
jmp 0x62e87068
mov cl, dl
shr edi, cl
sub esi, dword [ebp - 0x60]
movzx eax, ax
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x40], eax
mov edx, dword [ebp - 0x40]
test edx, edx
je 0x62e876eb
mov ecx, dword [ebp - 0x38]
mov byte [ecx], al
inc ecx
mov dword [ebp - 0x38], ecx
dec dword [ebp - 0x40]
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x14
jmp 0x62e87068
sub eax, dword [ebp - 0x40]
mov dword [esp + 8], eax
mov eax, dword [edx + 0x34]
mov dword [esp + 4], eax
mov esi, dword [ebp + 0x18]
mov dword [esp], esi
call dword [ebp + 0x14]
test eax, eax
jne 0x62e87648
mov edx, dword [ebp - 0x1c]
mov al, 1
jmp 0x62e86fa4
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x40], edx
test edx, edx
je 0x62e8767c
mov esi, edx
mov edx, dword [ebp - 0x40]
jmp 0x62e875ed
test edx, edx
je 0x62e87614
mov eax, ebx
cmp ebx, esi
jbe 0x62e875c0
mov eax, esi
cmp eax, edx
jbe 0x62e875c6
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 0x62e87679
test ebx, ebx
jne 0x62e875b4
lea ebx, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
mov dword [ebp - 0x78], edx
call dword [ebp + 0xc]
mov ebx, eax
test eax, eax
mov edx, dword [ebp - 0x78]
jne 0x62e875b4
jmp 0x62e87120
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 - 0x78], edx
call dword [ebp + 0x14]
test eax, eax
mov edx, dword [ebp - 0x78]
je 0x62e875b8
mov edx, dword [ebp - 0x1c]
mov eax, 0xfffffffb
jmp 0x62e86fa4
mov cl, dl
shr edi, cl
sub esi, dword [ebp - 0x60]
movzx eax, ax
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x40], eax
test byte [ebp - 0x30], 0x20
je 0x62e8768e
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], 0xb
jmp 0x62e87068
mov dword [ebp - 0x40], edx
mov esi, dword [ebp - 0x2c]
mov dword [esi], 0xb
xor esi, esi
xor edi, edi
jmp 0x62e87068
test byte [ebp - 0x30], 0x40
je 0x62e87774
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0x62e9651f
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x1d
jmp 0x62e87068
mov edi, dword [ebp - 0x30]
mov byte [ebp - 0x30], bl
mov ebx, eax
mov eax, ecx
mov cl, byte [ebp - 0x44]
shr edi, cl
sub esi, dword [ebp - 0x60]
mov cl, al
shr edi, cl
movzx eax, byte [ebp - 0x30]
sub esi, eax
movzx eax, dx
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x40], eax
cmp byte [ebp - 0x3c], 0
je 0x62e8754c
movzx edx, byte [ebp - 0x3c]
mov dword [ebp - 0x30], edx
jmp 0x62e87665
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x34]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x2c], eax
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp], ecx
call dword [ebp + 0x14]
test eax, eax
jne 0x62e87648
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x40]
jmp 0x62e87557
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x4c], 0x62e96680
mov dword [eax + 0x54], 9
mov dword [eax + 0x50], 0x62e96600
mov dword [eax + 0x58], 5
mov dword [eax], 0x14
jmp 0x62e87531
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x62e96440
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1d
jmp 0x62e87531
mov dword [ecx], 0x10
jmp 0x62e87531
mov dl, byte [ebp - 0x3c]
and edx, 0xf
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x48], edx
test edx, edx
je 0x62e877ee
cmp edx, esi
jbe 0x62e877d6
mov eax, ebx
mov ecx, esi
mov esi, edx
jmp 0x62e877a6
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 0x62e877d0
test eax, eax
jne 0x62e87790
lea ebx, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov esi, dword [ebp + 0x10]
mov dword [esp], esi
mov dword [ebp - 0x78], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x78]
je 0x62e870be
mov edx, dword [ebp - 0x2c]
mov esi, dword [edx + 0x48]
jmp 0x62e87790
mov ebx, eax
mov edx, esi
mov esi, ecx
mov eax, 1
mov cl, dl
shl eax, cl
dec eax
and eax, edi
mov ecx, dword [ebp - 0x2c]
add dword [ecx + 0x40], eax
mov cl, dl
shr edi, cl
sub esi, edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x58]
mov dword [ebp - 0x3c], edx
mov eax, 1
mov cl, byte [ebp - 0x3c]
shl eax, cl
dec eax
and eax, edi
mov edx, dword [ebp - 0x34]
lea eax, [edx + eax*4]
mov cl, byte [eax]
mov byte [ebp - 0x30], cl
mov dl, byte [eax + 1]
mov byte [ebp - 0x5c], dl
mov ax, word [eax + 2]
movzx ecx, dl
mov dword [ebp - 0x60], ecx
cmp esi, ecx
jae 0x62e87f51
mov eax, ebx
jmp 0x62e8786e
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 - 0x3c]
shl edx, cl
dec edx
and edx, edi
mov ebx, dword [ebp - 0x34]
lea edx, [ebx + edx*4]
mov cl, byte [edx]
mov byte [ebp - 0x30], cl
mov cl, byte [edx + 1]
mov bx, word [edx + 2]
movzx edx, cl
cmp edx, esi
jbe 0x62e8789e
test eax, eax
jne 0x62e87834
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 0x62e870be
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x50]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x58]
mov dword [ebp - 0x3c], ecx
jmp 0x62e87834
mov dword [ebp - 0x60], edx
mov byte [ebp - 0x5c], cl
mov edx, ebx
mov ebx, eax
mov eax, edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x3c], edx
movzx edx, byte [ebp - 0x30]
test dl, 0xf0
jne 0x62e87988
movzx eax, ax
mov dword [ebp - 0x44], eax
movzx eax, byte [ebp - 0x5c]
mov dword [ebp - 0x3c], eax
add edx, eax
mov eax, 1
mov cl, dl
shl eax, cl
dec eax
mov dword [ebp - 0x58], eax
and eax, edi
mov cl, byte [ebp - 0x5c]
shr eax, cl
add eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x34]
lea eax, [edx + eax*4]
mov cl, byte [eax]
mov byte [ebp - 0x30], cl
mov dl, byte [eax + 1]
mov byte [ebp - 0x5c], dl
mov ax, word [eax + 2]
movzx edx, dl
add edx, dword [ebp - 0x3c]
cmp esi, edx
jae 0x62e87975
mov eax, ebx
jmp 0x62e87945
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, dword [ebp - 0x58]
and edx, edi
mov cl, byte [ebp - 0x3c]
shr edx, cl
add edx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x34]
lea ecx, [ebx + edx*4]
mov dl, byte [ecx]
mov byte [ebp - 0x30], dl
mov dl, byte [ecx + 1]
mov bx, word [ecx + 2]
movzx ecx, dl
add ecx, dword [ebp - 0x3c]
cmp ecx, esi
jbe 0x62e8796c
test eax, eax
jne 0x62e87908
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
je 0x62e8711e
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x50]
mov dword [ebp - 0x34], edx
jmp 0x62e87908
mov byte [ebp - 0x5c], dl
mov edx, ebx
mov ebx, eax
mov eax, edx
mov cl, byte [ebp - 0x3c]
shr edi, cl
sub esi, dword [ebp - 0x60]
movzx edx, byte [ebp - 0x5c]
mov dword [ebp - 0x3c], edx
movzx edx, byte [ebp - 0x30]
mov cl, byte [ebp - 0x5c]
shr edi, cl
sub esi, dword [ebp - 0x3c]
and edx, 0x40
je 0x62e879ad
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0x62e9653b
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x1d
jmp 0x62e87068
movzx eax, ax
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x44], eax
mov dl, byte [ebp - 0x30]
and edx, 0xf
mov dword [ecx + 0x48], edx
test edx, edx
je 0x62e87a2e
cmp esi, edx
jae 0x62e87a16
mov eax, ebx
mov ecx, esi
mov esi, edx
jmp 0x62e879e6
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 0x62e87a10
test eax, eax
jne 0x62e879d0
lea ebx, [ebp - 0x1c]
mov dword [esp + 4], ebx
mov esi, dword [ebp + 0x10]
mov dword [esp], esi
mov dword [ebp - 0x78], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x78]
je 0x62e8711e
mov edx, dword [ebp - 0x2c]
mov esi, dword [edx + 0x48]
jmp 0x62e879d0
mov ebx, eax
mov edx, esi
mov esi, ecx
mov eax, 1
mov cl, dl
shl eax, cl
dec eax
and eax, edi
mov ecx, dword [ebp - 0x2c]
add dword [ecx + 0x44], eax
mov cl, dl
shr edi, cl
sub esi, edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x28]
cmp dword [eax + 0x2c], edx
sbb eax, eax
and eax, dword [ebp - 0x40]
mov ecx, edx
sub ecx, eax
mov eax, ecx
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 0x44], eax
jbe 0x62e87c09
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0x62e96551
mov dword [ecx], 0x1d
jmp 0x62e87068
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x68], 0
mov ecx, dword [edx + 0x60]
mov dword [ebp - 0x5c], ecx
mov eax, ebx
mov edx, ecx
mov ebx, dword [ebp - 0x2c]
add edx, dword [ebx + 0x64]
cmp dword [ebx + 0x68], edx
jae 0x62e87f5c
mov edx, dword [ebx + 0x4c]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebx + 0x54]
mov dword [ebp - 0x30], ecx
mov edx, 1
shl edx, cl
dec edx
and edx, edi
mov ebx, dword [ebp - 0x34]
lea edx, [ebx + edx*4]
mov cl, byte [edx + 1]
mov byte [ebp - 0x44], cl
mov bx, word [edx + 2]
movzx edx, cl
mov dword [ebp - 0x3c], edx
cmp esi, edx
jb 0x62e87aed
jmp 0x62e87b23
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
mov ebx, dword [ebp - 0x34]
lea edx, [ebx + edx*4]
mov cl, byte [edx + 1]
mov bx, word [edx + 2]
movzx edx, cl
cmp edx, esi
jbe 0x62e87b1d
test eax, eax
jne 0x62e87ab8
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 0x62e870be
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x4c]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + 0x54]
mov dword [ebp - 0x30], ecx
jmp 0x62e87ab8
mov dword [ebp - 0x3c], edx
mov byte [ebp - 0x44], cl
cmp bx, 0xf
ja 0x62e87b76
cmp esi, dword [ebp - 0x3c]
jae 0x62e87be5
mov ecx, esi
mov esi, ebx
jmp 0x62e87b53
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 - 0x3c]
jae 0x62e87be1
test eax, eax
jne 0x62e87b38
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0x10]
mov dword [esp], edx
mov dword [ebp - 0x78], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x78]
jne 0x62e87b38
jmp 0x62e870be
cmp bx, 0x10
je 0x62e87ea2
cmp bx, 0x11
je 0x62e87e50
movzx ecx, byte [ebp - 0x44]
mov dword [ebp - 0x34], ecx
mov edx, ecx
add edx, 7
cmp esi, edx
jae 0x62e87d37
mov ecx, esi
mov esi, edx
jmp 0x62e87bbe
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 0x62e87d35
test eax, eax
jne 0x62e87ba4
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0x10]
mov dword [esp], edx
mov dword [ebp - 0x78], ecx
call dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp - 0x78]
jne 0x62e87ba4
jmp 0x62e870be
mov ebx, esi
mov esi, ecx
mov cl, byte [ebp - 0x44]
shr edi, cl
sub esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x68]
mov word [ecx + edx*2 + 0x70], bx
inc edx
mov dword [ecx + 0x68], edx
mov ebx, dword [ecx + 0x60]
mov dword [ebp - 0x5c], ebx
mov edx, ebx
jmp 0x62e87a77
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x44], esi
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x62e87cf4
mov esi, dword [ebp - 0x2c]
mov ecx, dword [esi + 0x44]
mov eax, edx
sub eax, ecx
cmp dword [ebp - 0x40], eax
jbe 0x62e87ce8
lea edx, [ebx + eax]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov esi, dword [ebp - 0x2c]
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x38], ecx
cmp ecx, eax
jbe 0x62e87c4b
mov dword [ebp - 0x38], eax
sub eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x40], eax
mov esi, dword [ebp - 0x38]
sub dword [ebp - 0x40], esi
shr esi, 2
lea eax, [esi*4]
mov dword [ebp - 0x34], eax
lea eax, [ebx + 4]
cmp edx, eax
seta cl
lea eax, [edx + 4]
cmp ebx, eax
seta al
or ecx, eax
mov eax, edx
or eax, ebx
test al, 3
sete byte [ebp - 0x58]
cmp dword [ebp - 0x38], 9
seta al
and byte [ebp - 0x58], al
test byte [ebp - 0x58], cl
je 0x62e87f89
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x62e87f89
xor eax, eax
nop
mov ecx, dword [edx + eax*4]
mov dword [ebx + eax*4], ecx
inc eax
cmp esi, eax
ja 0x62e87ca4
mov edi, dword [ebp - 0x34]
lea edi, [ebx + edi]
mov esi, dword [ebp - 0x38]
sub esi, dword [ebp - 0x34]
add edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
cmp dword [ebp - 0x38], ecx
je 0x62e87cd3
xor eax, eax
mov cl, byte [edx + eax]
mov byte [edi + eax], cl
inc eax
cmp eax, esi
jne 0x62e87cc8
add ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x2c]
mov eax, dword [esi + 0x40]
test eax, eax
je 0x62e87d24
mov edx, dword [esi + 0x28]
jmp 0x62e87c15
mov edx, ebx
sub edx, ecx
mov ecx, dword [ebp - 0x40]
jmp 0x62e87c3b
mov ecx, dword [ebp - 0x2c]
mov ebx, dword [ecx + 0x34]
mov dword [ebp - 0x40], edx
mov dword [ecx + 0x2c], edx
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov esi, dword [ebp + 0x18]
mov dword [esp], esi
call dword [ebp + 0x14]
test eax, eax
jne 0x62e87fc4
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x28]
jmp 0x62e87c20
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x44]
jmp 0x62e87068
mov esi, ecx
mov cl, byte [ebp - 0x34]
shr edi, cl
mov edx, edi
and edx, 0x7f
add edx, 0xb
mov dword [ebp - 0x30], edx
shr edi, 7
sub esi, dword [ebp - 0x3c]
sub esi, 7
xor ecx, ecx
mov ebx, dword [ebp - 0x2c]
mov ebx, dword [ebx + 0x68]
mov dword [ebp - 0x58], ebx
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x60], edx
mov ebx, dword [ebp - 0x30]
add ebx, edx
mov dword [ebp - 0x6c], ebx
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x60]
mov dword [ebp - 0x5c], edx
mov ebx, edx
mov edx, dword [ebp - 0x2c]
add ebx, dword [edx + 0x64]
cmp dword [ebp - 0x6c], ebx
ja 0x62e87f93
mov ebx, dword [ebp - 0x30]
dec ebx
mov dword [ebp - 0x34], ebx
mov edx, dword [ebp - 0x58]
add edx, 0x38
mov dword [ebp - 0x70], edx
mov ebx, dword [ebp - 0x2c]
lea ebx, [ebx + edx*2]
and ebx, 3
shr ebx, 1
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], edx
cmp edx, ebx
jbe 0x62e87dab
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], 0
je 0x62e87dd4
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
mov ebx, edx
mov eax, dword [ebp - 0x2c]
mov word [eax + edx*2 + 0x70], cx
inc edx
dec dword [ebp - 0x34]
mov eax, edx
sub eax, ebx
cmp dword [ebp - 0x3c], eax
ja 0x62e87db9
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x60], edx
mov edx, dword [ebp - 0x30]
sub edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edx
shr edx, 1
mov dword [ebp - 0x44], edx
shl edx, 1
mov dword [ebp - 0x64], edx
je 0x62e87e24
mov edx, ecx
shl edx, 0x10
movzx ebx, cx
or ebx, edx
mov dword [ebp - 0x58], ebx
mov ebx, dword [ebp - 0x70]
add ebx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
lea ebx, [edx + ebx*2]
xor edx, edx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x58]
mov dword [ebx + edx*4], eax
inc edx
cmp dword [ebp - 0x44], edx
ja 0x62e87e0a
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x64]
sub dword [ebp - 0x34], edx
add dword [ebp - 0x60], edx
cmp dword [ebp - 0x30], edx
je 0x62e87e3f
mov ebx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x2c]
lea ebx, [edx + ebx*2 + 0x70]
mov edx, ebx
mov ebx, dword [ebp - 0x34]
mov word [edx], cx
dec ebx
add edx, 2
cmp ebx, 0xffffffff
jne 0x62e87e33
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x68], ecx
mov edx, dword [ebp - 0x5c]
jmp 0x62e87a77
movzx ebx, byte [ebp - 0x44]
mov dword [ebp - 0x30], ebx
add ebx, 3
mov dword [ebp - 0x34], ebx
cmp esi, ebx
jb 0x62e87e85
jmp 0x62e87f28
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 - 0x34]
jae 0x62e87f28
test eax, eax
jne 0x62e87e68
lea eax, [ebp - 0x1c]
mov dword [esp + 4], eax
mov edx, dword [ebp + 0x10]
mov dword [esp], edx
call dword [ebp + 0xc]
test eax, eax
jne 0x62e87e68
jmp 0x62e870be
movzx edx, byte [ebp - 0x44]
mov dword [ebp - 0x30], edx
add edx, 2
mov dword [ebp - 0x34], edx
cmp esi, edx
jb 0x62e87ed1
jmp 0x62e87eee
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 - 0x34]
jae 0x62e87eee
test eax, eax
jne 0x62e87eb8
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 0x62e87eb8
jmp 0x62e870be
mov cl, byte [ebp - 0x30]
shr edi, cl
sub esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
mov ebx, dword [ebx + 0x68]
mov dword [ebp - 0x58], ebx
test ebx, ebx
je 0x62e87faa
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x2c]
movzx ecx, word [edx + ebx*2 + 0x6e]
mov edx, edi
and edx, 3
add edx, 3
mov dword [ebp - 0x30], edx
shr edi, 2
sub esi, 2
jmp 0x62e87d5b
mov cl, byte [ebp - 0x30]
shr edi, cl
mov edx, edi
and edx, 7
add edx, 3
mov dword [ebp - 0x30], edx
shr edi, 3
sub esi, dword [ebp - 0x3c]
sub esi, 3
xor ecx, ecx
mov ebx, dword [ebp - 0x2c]
mov ebx, dword [ebx + 0x68]
mov dword [ebp - 0x58], ebx
jmp 0x62e87d5b
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x3c], ecx
jmp 0x62e878b0
mov ebx, eax
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx], 0x1d
je 0x62e87068
cmp word [ecx + 0x270], 0
jne 0x62e87fd4
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0x62e964c8
mov dword [ecx], 0x1d
jmp 0x62e87068
mov esi, dword [ebp - 0x38]
mov edi, ebx
jmp 0x62e87cc6
mov ebx, eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x62e964ad
mov dword [edx], 0x1d
jmp 0x62e87068
mov ebx, eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], 0x62e964ad
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x1d
jmp 0x62e87068
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1c]
mov eax, 0xfffffffb
jmp 0x62e86fa4
mov ecx, dword [ebp - 0x48]
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 - 0x50]
mov dword [esp + 0xc], ecx
mov eax, dword [ebp - 0x5c]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x68]
mov dword [esp + 4], edx
mov dword [esp], 1
call fcn.62e8aa00
test eax, eax
je 0x62e88032
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], 0x62e964ed
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0x1d
jmp 0x62e87068
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x6c]
mov dword [edx + 0x50], eax
mov dword [edx + 0x58], 6
mov ecx, dword [ebp - 0x4c]
mov dword [esp + 0x14], ecx
mov eax, edx
add eax, 0x58
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 0xc], eax
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.62e8aa00
test eax, eax
je 0x62e86fe5
mov edx, dword [ebp + 8]
mov dword [edx + 0x18], 0x62e96509
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], 0x1d
jmp 0x62e87068