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

Disassembly:
sub esp, 0xbc
mov dword [esp + 0xb0], esi
mov esi, dword [esp + 0xc0]
mov dword [esp + 0xac], ebx
mov ebx, 0xfffffffe
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], ebp
test esi, esi
jne 0x62eb6c27
mov eax, ebx
mov esi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xac]
mov edi, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
add esp, 0xbc
ret
mov ebp, dword [esi + 0x1c]
test ebp, ebp
je 0x62eb6c02
mov eax, dword [esi + 0xc]
test eax, eax
mov dword [esp + 0x48], eax
je 0x62eb6c02
mov edx, dword [esi]
test edx, edx
je 0x62eb816c
mov eax, dword [ebp]
cmp eax, 0xb
je 0x62eb811d
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 4]
mov edi, dword [ebp + 0x3c]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebp + 0x38]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x40], esi
mov esi, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x4c]
sub ebx, 5
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x54], ecx
lea ecx, [ebp + 0x530]
mov dword [esp + 0x64], ecx
lea ecx, [ebp + 0x2f0]
mov dword [esp + 0x6c], ecx
lea ecx, [ebp + 0x6c]
mov dword [esp + 0x3c], ebx
xor ebx, ebx
mov dword [esp + 0x70], ecx
lea ecx, [ebp + 0x54]
mov dword [esp + 0x74], ecx
lea ecx, [ebp + 0x70]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
cmp eax, 0x1e
jbe switch.0x62eb6cd5
mov ebx, 0xfffffffe
jmp 0x62eb6c02
jmp dword [eax*4 + 0x62f38650]
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 4]
test edx, edx
jne 0x62eb86b0
cmp edi, 2
ja 0x62eb6d0a
test ebx, ebx
je 0x62eb84fe
movzx eax, byte [esi]
mov ecx, edi
sub ebx, 1
add esi, 1
add edi, 8
shl eax, cl
add ebp, eax
mov edx, dword [esp + 0x34]
mov eax, ebp
and eax, 1
lea ecx, [edi - 1]
mov dword [edx + 4], eax
mov edx, ebp
shr edx, 1
mov eax, edx
and eax, 3
cmp eax, 2
je 0x62eb848d
cmp eax, 3
je 0x62eb8473
cmp eax, 1
je 0x62eb841e
mov edi, dword [esp + 0x34]
mov dword [edi], 0xd
mov ebp, edx
shr ebp, 2
lea edi, [ecx - 2]
nop
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
jmp 0x62eb6cc6
cmp edi, 0x1f
ja 0x62eb6d8d
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
jmp 0x62eb6d78
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x62eb6d70
mov eax, ebp
mov edx, ebp
mov edi, dword [esp + 0x34]
shl eax, 0x18
shr edx, 0x18
lea edx, [eax + edx]
mov eax, ebp
shr eax, 8
and ebp, 0xff00
and eax, 0xff00
lea eax, [edx + eax]
mov edx, dword [esp + 0x40]
shl ebp, 8
add eax, ebp
xor ebp, ebp
mov dword [edi + 0x18], eax
mov dword [edx + 0x30], eax
mov dword [edi], 0xa
xor edi, edi
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x62eb898a
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.62dfd5f0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
mov dword [edx + 0x18], eax
mov dword [ecx + 0x30], eax
mov dword [edx], 0xb
cmp dword [esp + 0x68], 1
ja case.0x62eb6cd5.12
mov dword [esp + 0x3c], ebx
mov edx, esi
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x34]
lea esi, [esi]
mov dword [esi], edx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dword [esi + 4], edx
mov edx, dword [ebp + 0x28]
mov dword [esi + 0xc], ecx
mov ecx, dword [esp + 0x38]
mov dword [esi + 0x10], eax
mov dword [ebp + 0x3c], edi
test edx, edx
mov dword [ebp + 0x38], ecx
jne 0x62eb6e64
cmp dword [ebp], 0x19
ja 0x62eb6e77
cmp dword [esp + 0x54], eax
je 0x62eb6e77
mov edx, dword [esp + 0x54]
mov eax, esi
call fcn.62f05f50
test eax, eax
jne 0x62eb7b2e
mov edx, dword [esp + 0x54]
sub edx, dword [esi + 0x10]
mov edi, dword [esp + 0x58]
sub edi, dword [esi + 4]
add dword [esi + 0x14], edx
add dword [esi + 8], edi
add dword [ebp + 0x1c], edx
test edx, edx
je 0x62eb6ecc
mov eax, dword [ebp + 8]
test eax, eax
je 0x62eb6ecc
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x62eb8135
mov eax, edx
mov dword [esp + 8], edx
neg eax
add eax, dword [esi + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp], eax
call fcn.62dfe680
mov edx, dword [esp + 0x30]
mov dword [ebp + 0x18], eax
mov dword [esi + 0x30], eax
cmp dword [ebp + 4], 1
mov ecx, dword [ebp]
sbb eax, eax
not eax
and eax, 0x40
add eax, dword [ebp + 0x3c]
cmp ecx, 0xb
je 0x62eb812b
cmp ecx, 0xe
jne 0x62eb815c
mov ecx, 0x100
add eax, ecx
or edx, edi
mov dword [esi + 0x2c], eax
je 0x62eb6f0b
cmp dword [esp + 0xc4], 4
jne 0x62eb6c02
test ebx, ebx
mov eax, 0xfffffffb
cmove ebx, eax
jmp 0x62eb6c02
mov ecx, edi
and edi, 0xfffffff8
and ecx, 7
shr ebp, cl
cmp edi, 0x1f
ja 0x62eb6f54
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
jmp 0x62eb6f3d
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x62eb6f35
mov edi, ecx
mov eax, ebp
mov edx, ebp
shr eax, 0x10
and edx, 0xffff
xor eax, 0xffff
cmp edx, eax
jne 0x62eb87a8
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0xc4], 6
mov dword [ecx + 0x40], edx
mov dword [ecx], 0xe
je 0x62eb87dc
xor edi, edi
xor ebp, ebp
mov eax, dword [esp + 0x34]
mov dword [eax], 0xf
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x40]
test eax, eax
je 0x62eb86c9
cmp dword [esp + 0x4c], eax
mov edx, ebx
cmovbe eax, dword [esp + 0x4c]
cmp eax, ebx
cmovbe edx, eax
test edx, edx
je 0x62eb6e14
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp + 0x30], edx
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
sub dword [esp + 0x4c], edx
add dword [esp + 0x48], edx
sub ebx, edx
add esi, edx
sub dword [eax + 0x40], edx
jmp 0x62eb6d50
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x48]
test edx, edx
je 0x62eb7055
cmp edi, edx
jae 0x62eb7030
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
nop
lea esi, [esi]
jmp 0x62eb701a
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, edx
jb 0x62eb7012
mov edi, ecx
mov ecx, edx
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x34]
sub edi, edx
sub eax, 1
and eax, ebp
add dword [ecx + 0x44], eax
mov ecx, edx
mov eax, dword [esp + 0x34]
shr ebp, cl
add dword [eax + 0x1bc4], edx
mov edx, dword [esp + 0x34]
mov dword [edx], 0x18
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x62eb6e14
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x54]
sub edx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x44]
cmp edx, eax
jae 0x62eb81b6
sub eax, edx
cmp eax, dword [ecx + 0x2c]
jbe 0x62eb82c8
cmp dword [ecx + 0x1bc0], 0
je 0x62eb82c8
mov eax, dword [esp + 0x40]
mov dword [eax + 0x18], 0x62f38605
mov dword [ecx], 0x1d
jmp 0x62eb6d50
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x48]
test edx, edx
je 0x62eb7113
cmp edi, edx
jae 0x62eb70ee
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
jmp 0x62eb70d8
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, edx
jb 0x62eb70d0
mov edi, ecx
mov ecx, edx
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x34]
sub edi, edx
sub eax, 1
and eax, ebp
add dword [ecx + 0x40], eax
mov ecx, edx
mov eax, dword [esp + 0x34]
shr ebp, cl
add dword [eax + 0x1bc4], edx
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x40]
mov dword [edx], 0x16
mov dword [edx + 0x1bc8], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + 0x50]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x58]
mov eax, 1
mov edx, dword [esp + 0x38]
shl eax, cl
sub eax, 1
mov dword [esp + 0x44], eax
and eax, ebp
lea eax, [edx + eax*4]
movzx ecx, byte [eax]
mov byte [esp + 0x3c], cl
movzx edx, byte [eax + 1]
movzx eax, word [eax + 2]
mov word [esp + 0x5c], ax
movzx eax, dl
cmp edi, eax
mov dword [esp + 0x7c], eax
jae 0x62eb71c6
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
jmp 0x62eb7188
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
mov edx, dword [esp + 0x38]
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, dword [esp + 0x44]
and eax, ebp
lea eax, [edx + eax*4]
movzx edx, byte [eax]
movzx edi, word [eax + 2]
mov byte [esp + 0x3c], dl
movzx edx, byte [eax + 1]
movzx eax, dl
cmp eax, ecx
ja 0x62eb7180
mov word [esp + 0x5c], di
mov edi, ecx
mov dword [esp + 0x7c], eax
movzx eax, byte [esp + 0x3c]
test al, 0xf0
jne 0x62eb72ab
movzx ecx, word [esp + 0x5c]
mov dword [esp + 0x60], ecx
movzx ecx, dl
mov dword [esp + 0x80], ecx
add ecx, eax
mov eax, 1
shl eax, cl
mov ecx, edx
mov edx, dword [esp + 0x38]
sub eax, 1
mov dword [esp + 0x44], eax
and eax, ebp
shr eax, cl
add eax, dword [esp + 0x60]
lea eax, [edx + eax*4]
movzx ecx, byte [eax]
mov byte [esp + 0x3c], cl
movzx edx, byte [eax + 1]
movzx eax, word [eax + 2]
mov word [esp + 0x5c], ax
movzx eax, dl
add eax, dword [esp + 0x80]
cmp edi, eax
jae 0x62eb728c
test ebx, ebx
je 0x62eb6e14
mov edx, dword [esp + 0x80]
jmp 0x62eb7242
test ebx, ebx
je 0x62eb6e14
movzx eax, byte [esi]
mov ecx, edi
add edi, 8
sub ebx, 1
add esi, 1
shl eax, cl
mov ecx, edx
add ebp, eax
mov eax, dword [esp + 0x44]
and eax, ebp
shr eax, cl
mov ecx, dword [esp + 0x60]
lea ecx, [eax + ecx]
mov eax, dword [esp + 0x38]
lea ecx, [eax + ecx*4]
movzx eax, byte [ecx]
mov byte [esp + 0x3c], al
movzx eax, byte [ecx + 1]
movzx ecx, word [ecx + 2]
mov word [esp + 0x5c], cx
movzx ecx, al
lea ecx, [edx + ecx]
cmp ecx, edi
ja 0x62eb723a
mov edx, eax
movzx ecx, byte [esp + 0x80]
mov eax, dword [esp + 0x34]
sub edi, dword [esp + 0x7c]
shr ebp, cl
mov ecx, dword [esp + 0x80]
add dword [eax + 0x1bc4], ecx
movzx eax, dl
mov ecx, edx
mov edx, dword [esp + 0x34]
shr ebp, cl
sub edi, eax
add dword [edx + 0x1bc4], eax
movzx edx, byte [esp + 0x3c]
test dl, 0x40
jne 0x62eb875f
mov ecx, dword [esp + 0x34]
and edx, 0xf
movzx eax, word [esp + 0x5c]
mov dword [ecx + 0x48], edx
mov dword [ecx + 0x44], eax
mov dword [ecx], 0x17
jmp 0x62eb6ff9
mov eax, dword [esp + 0x34]
cmp dword [eax], 0x1d
je 0x62eb6d50
cmp word [eax + 0x270], 0
je 0x62eb88a7
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov dword [ecx + 0x54], 9
mov dword [ecx + 0x6c], eax
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x80]
mov dword [esp], 1
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
call fcn.62eb9ef0
test eax, eax
mov dword [esp + 0x50], eax
jne 0x62eb888d
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x70]
mov eax, dword [ecx + 0x6c]
mov dword [ecx + 0x58], 6
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], eax
mov eax, ecx
add eax, 0x58
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x60]
mov dword [esp], 2
lea eax, [ecx + eax*2 + 0x70]
mov dword [esp + 4], eax
call fcn.62eb9ef0
test eax, eax
mov dword [esp + 0x50], eax
jne 0x62eb8873
mov edx, dword [esp + 0x34]
cmp dword [esp + 0xc4], 6
mov dword [edx], 0x13
je 0x62eb6e14
mov ecx, dword [esp + 0x34]
mov dword [ecx], 0x14
cmp ebx, 5
ja 0x62eb88bd
mov edx, dword [esp + 0x34]
mov eax, 1
mov ecx, dword [edx + 0x4c]
mov dword [edx + 0x1bc4], 0
mov dword [esp + 0x3c], ecx
mov ecx, dword [edx + 0x54]
mov edx, dword [esp + 0x3c]
shl eax, cl
sub eax, 1
mov dword [esp + 0x44], eax
and eax, ebp
lea eax, [edx + eax*4]
movzx ecx, byte [eax]
mov byte [esp + 0x38], cl
movzx edx, byte [eax + 1]
movzx eax, word [eax + 2]
mov word [esp + 0x5c], ax
movzx eax, dl
cmp edi, eax
mov dword [esp + 0x60], eax
jae 0x62eb747b
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
jmp 0x62eb743d
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
mov edx, dword [esp + 0x3c]
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, dword [esp + 0x44]
and eax, ebp
lea eax, [edx + eax*4]
movzx edx, byte [eax]
movzx edi, word [eax + 2]
mov byte [esp + 0x38], dl
movzx edx, byte [eax + 1]
movzx eax, dl
cmp eax, ecx
ja 0x62eb7435
mov word [esp + 0x5c], di
mov edi, ecx
mov dword [esp + 0x60], eax
cmp byte [esp + 0x38], 0
je 0x62eb7565
movzx eax, byte [esp + 0x38]
test al, 0xf0
jne 0x62eb7565
movzx ecx, word [esp + 0x5c]
mov dword [esp + 0x80], ecx
movzx ecx, dl
mov dword [esp + 0x44], ecx
add ecx, eax
mov eax, 1
shl eax, cl
mov ecx, edx
mov edx, dword [esp + 0x3c]
sub eax, 1
mov dword [esp + 0x7c], eax
and eax, ebp
shr eax, cl
add eax, dword [esp + 0x80]
lea eax, [edx + eax*4]
movzx ecx, byte [eax]
mov byte [esp + 0x38], cl
movzx edx, byte [eax + 1]
movzx eax, word [eax + 2]
mov word [esp + 0x5c], ax
movzx eax, dl
add eax, dword [esp + 0x44]
cmp edi, eax
jae 0x62eb754c
test ebx, ebx
je 0x62eb6e14
mov edx, dword [esp + 0x44]
jmp 0x62eb74ff
test ebx, ebx
je 0x62eb6e14
movzx eax, byte [esi]
mov ecx, edi
add edi, 8
sub ebx, 1
add esi, 1
shl eax, cl
mov ecx, edx
add ebp, eax
mov eax, dword [esp + 0x7c]
and eax, ebp
shr eax, cl
mov ecx, dword [esp + 0x80]
lea ecx, [eax + ecx]
mov eax, dword [esp + 0x3c]
lea ecx, [eax + ecx*4]
movzx eax, byte [ecx]
mov byte [esp + 0x38], al
movzx eax, byte [ecx + 1]
movzx ecx, word [ecx + 2]
mov word [esp + 0x5c], cx
movzx ecx, al
lea ecx, [edx + ecx]
cmp ecx, edi
ja 0x62eb74f7
mov edx, eax
movzx ecx, byte [esp + 0x44]
mov eax, dword [esp + 0x34]
sub edi, dword [esp + 0x60]
shr ebp, cl
mov ecx, dword [esp + 0x44]
mov dword [eax + 0x1bc4], ecx
movzx eax, dl
mov ecx, edx
mov edx, dword [esp + 0x34]
sub edi, eax
shr ebp, cl
add dword [edx + 0x1bc4], eax
movzx eax, word [esp + 0x5c]
cmp byte [esp + 0x38], 0
mov dword [edx + 0x40], eax
je 0x62eb8754
movzx edx, byte [esp + 0x38]
test dl, 0x20
jne 0x62eb8a7f
test dl, 0x40
jne 0x62eb8817
mov ecx, dword [esp + 0x34]
and edx, 0xf
mov dword [ecx + 0x48], edx
mov dword [ecx], 0x15
jmp 0x62eb70b7
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 8]
test edx, edx
je 0x62eb768c
cmp edi, 0x1f
ja 0x62eb75f6
test ebx, ebx
je 0x62eb8831
mov ecx, edi
jmp 0x62eb75df
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x62eb75d7
mov edi, ecx
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
sub eax, dword [esp + 0x4c]
add dword [edx + 0x14], eax
add dword [ecx + 0x1c], eax
test eax, eax
je 0x62eb7641
cmp dword [ecx + 0x10], 0
je 0x62eb8732
mov edx, dword [esp + 0x48]
mov dword [esp + 8], eax
sub edx, eax
mov dword [esp + 4], edx
mov eax, dword [ecx + 0x18]
mov dword [esp], eax
call fcn.62dfe680
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov dword [ecx + 0x18], eax
mov dword [edx + 0x30], eax
mov ecx, dword [esp + 0x34]
mov edx, ebp
cmp dword [ecx + 0x10], 0
jne 0x62eb7673
mov eax, ebp
mov ecx, ebp
shl eax, 0x18
and edx, 0xff00
shr ecx, 0x18
lea ecx, [eax + ecx]
mov eax, ebp
shr eax, 8
and eax, 0xff00
shl edx, 8
lea eax, [ecx + eax]
lea edx, [eax + edx]
mov eax, dword [esp + 0x34]
cmp edx, dword [eax + 0x18]
jne 0x62eb89c5
mov edi, dword [esp + 0x4c]
xor ebp, ebp
mov dword [esp + 0x54], edi
xor edi, edi
mov eax, dword [esp + 0x34]
mov dword [eax], 0x1b
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 8]
test eax, eax
je 0x62eb8959
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x62eb8959
cmp edi, 0x1f
ja 0x62eb76e1
test ebx, ebx
je 0x62eb8779
mov ecx, edi
nop
jmp 0x62eb76ca
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x62eb76c2
mov edi, ecx
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x1c], ebp
je 0x62eb884a
mov eax, dword [esp + 0x40]
mov dword [eax + 0x18], 0x62f38638
mov dword [ecx], 0x1d
jmp 0x62eb6d50
cmp edi, 0xd
ja 0x62eb7734
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
jmp 0x62eb771d
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xd
jbe 0x62eb7715
mov edi, ecx
mov eax, dword [esp + 0x34]
mov ecx, ebp
sub edi, 0xe
and ecx, 0x1f
add ecx, 0x101
mov dword [esp + 0x38], ecx
mov dword [eax + 0x60], ecx
mov eax, ebp
mov ecx, dword [esp + 0x34]
shr eax, 5
and eax, 0x1f
lea edx, [eax + 1]
mov eax, ebp
shr eax, 0xa
and eax, 0xf
add eax, 4
shr ebp, 0xe
cmp dword [esp + 0x38], 0x11e
mov dword [ecx + 0x64], edx
mov dword [ecx + 0x5c], eax
ja 0x62eb87c2
cmp edx, 0x1e
ja 0x62eb87c2
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x68], 0
mov dword [ecx], 0x11
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
mov eax, dword [edx + 0x68]
mov ecx, dword [ecx + 0x5c]
cmp eax, ecx
mov dword [esp + 0x38], ecx
jae 0x62eb780d
mov ecx, edi
mov dword [esp + 0x44], eax
cmp ecx, 2
ja 0x62eb77d1
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
mov edi, dword [esp + 0x44]
mov eax, ebp
sub ecx, 3
mov edx, dword [esp + 0x34]
and eax, 7
shr ebp, 3
movzx edi, word [edi + edi + 0x62f386e0]
mov word [edx + edi*2 + 0x70], ax
mov eax, dword [esp + 0x38]
add dword [esp + 0x44], 1
mov edi, dword [esp + 0x44]
cmp edi, eax
mov dword [edx + 0x68], edi
jb 0x62eb77b4
mov edx, dword [esp + 0x44]
mov edi, ecx
mov eax, edx
cmp eax, 0x12
mov edx, eax
ja 0x62eb7836
movzx eax, word [edx + edx + 0x62f386e0]
add edx, 1
mov ecx, dword [esp + 0x34]
cmp edx, 0x13
mov word [ecx + eax*2 + 0x70], 0
jne 0x62eb7814
mov dword [ecx + 0x68], 0x13
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0x54], 7
mov dword [eax + 0x6c], edx
mov dword [eax + 0x4c], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], 0x13
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ecx
mov dword [esp], 0
call fcn.62eb9ef0
test eax, eax
mov dword [esp + 0x50], eax
jne 0x62eb893f
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x68], 0
mov dword [ecx], 0x12
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov eax, dword [eax + 0x60]
mov dword [esp + 0x80], eax
add eax, dword [edx + 0x64]
mov dword [esp + 0x7c], eax
mov eax, edx
mov eax, dword [eax + 0x68]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x44], eax
cmp eax, edx
jae 0x62eb72e9
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov ecx, dword [ecx + 0x4c]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x54]
mov eax, 1
mov edx, dword [esp + 0x38]
shl eax, cl
sub eax, 1
mov dword [esp + 0x3c], eax
and eax, ebp
lea eax, [edx + eax*4]
movzx edx, byte [eax + 1]
movzx eax, word [eax + 2]
movzx ecx, dl
cmp edi, ecx
mov word [esp + 0x60], ax
mov dword [esp + 0x5c], ecx
jae 0x62eb7956
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
jmp 0x62eb791f
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
mov edi, dword [esp + 0x38]
shl eax, cl
add ecx, 8
add ebp, eax
mov eax, dword [esp + 0x3c]
and eax, ebp
lea eax, [edi + eax*4]
movzx edx, byte [eax + 1]
movzx edi, word [eax + 2]
movzx eax, dl
cmp eax, ecx
ja 0x62eb7917
mov word [esp + 0x60], di
mov edi, ecx
mov dword [esp + 0x5c], eax
cmp word [esp + 0x60], 0xf
jbe 0x62eb83c3
cmp word [esp + 0x60], 0x10
je 0x62eb864f
cmp word [esp + 0x60], 0x11
je 0x62eb86e7
movzx edx, dl
mov dword [esp + 0x38], edx
add edx, 7
cmp edi, edx
jae 0x62eb79b2
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
jmp 0x62eb799c
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, edx
jb 0x62eb7994
mov edi, ecx
movzx ecx, byte [esp + 0x38]
sub edi, dword [esp + 0x5c]
shr ebp, cl
sub edi, 7
mov edx, ebp
xor ecx, ecx
and edx, 0x7f
add edx, 0xb
shr ebp, 7
mov eax, dword [esp + 0x44]
add eax, edx
cmp dword [esp + 0x7c], eax
mov dword [esp + 0x88], eax
jb 0x62eb8a65
lea eax, [edx - 1]
mov word [esp + 0x5c], cx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
add ecx, 0x38
lea eax, [eax + ecx*2]
mov dword [esp + 0x8c], ecx
mov ecx, eax
and ecx, 0xf
shr ecx, 1
mov dword [esp + 0x38], eax
mov eax, 8
sub eax, ecx
mov ecx, eax
and ecx, 7
cmp edx, ecx
cmovbe ecx, edx
test ecx, ecx
mov dword [esp + 0x3c], ecx
je 0x62eb7a83
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov dword [esp + 0x2c], edx
add eax, 1
mov dword [esp + 0x60], eax
lea eax, [edx - 2]
mov dword [esp + 0x84], eax
mov edx, dword [esp + 0x38]
movzx eax, word [esp + 0x5c]
mov word [edx], ax
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x84]
add dword [esp + 0x38], 2
add edx, ecx
sub eax, ecx
add ecx, 1
cmp dword [esp + 0x3c], ecx
mov dword [esp + 0x44], edx
ja 0x62eb7a44
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
je 0x62eb7b19
sub edx, dword [esp + 0x3c]
mov dword [esp + 0x84], edx
shr edx, 3
mov dword [esp + 0x60], edx
shl edx, 3
test edx, edx
mov dword [esp + 0x38], edx
je 0x62eb7af6
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x8c]
add edx, dword [esp + 0x3c]
movzx ecx, word [esp + 0x5c]
lea edx, [eax + edx*2]
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x3c]
xor edx, edx
movd xmm0, ecx
punpcklwd xmm0, xmm0
pshufd xmm0, xmm0, 0
mov ecx, edx
add edx, 1
shl ecx, 4
cmp edx, dword [esp + 0x60]
movdqa xmmword [eax + ecx], xmm0
jb 0x62eb7ace
mov edx, dword [esp + 0x38]
sub dword [esp + 0x2c], edx
add dword [esp + 0x44], edx
cmp dword [esp + 0x84], edx
je 0x62eb7b19
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x34]
lea edx, [eax + ecx*2 + 0x70]
mov eax, dword [esp + 0x2c]
movzx ecx, word [esp + 0x5c]
sub eax, 1
mov word [edx], cx
add edx, 2
cmp eax, 0xffffffff
jne 0x62eb7b0b
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov eax, edx
mov dword [edx + 0x68], ecx
jmp 0x62eb78b7
mov dword [ebp], 0x1e
mov ebx, 0xfffffffc
jmp 0x62eb6c02
cmp edi, 0x1f
ja 0x62eb7b6f
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
nop
jmp 0x62eb7b5a
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0x1f
jbe 0x62eb7b52
mov edx, dword [esp + 0x34]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x62eb7b7d
mov dword [eax + 4], ebp
mov ecx, dword [esp + 0x34]
test byte [ecx + 0x11], 2
jne 0x62eb8517
mov dword [ecx], 3
xor ebp, ebp
xor edi, edi
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
jmp 0x62eb7ba9
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x62eb7ba1
mov edi, dword [esp + 0x34]
mov eax, dword [edi + 0x20]
test eax, eax
je 0x62eb7bdc
mov edx, ebp
and edx, 0xff
mov dword [eax + 8], edx
mov edx, ebp
shr edx, 8
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x10]
test dh, 2
jne 0x62eb849c
mov dword [eax], 4
xor edi, edi
xor ebp, ebp
test dh, 4
je 0x62eb82f6
cmp edi, 0xf
ja 0x62eb7c2f
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
nop
jmp 0x62eb7c1a
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x62eb7c12
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x20]
mov dword [ecx + 0x40], ebp
test eax, eax
je 0x62eb7c40
mov dword [eax + 0x14], ebp
test dh, 2
jne 0x62eb859b
mov eax, edx
xor edi, edi
and eax, 0x400
xor ebp, ebp
mov ecx, dword [esp + 0x34]
mov dword [ecx], 5
jmp 0x62eb7f6b
cmp edi, 0xf
ja 0x62eb7c93
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
jmp 0x62eb7c7c
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x62eb7c74
mov edi, ecx
mov eax, dword [esp + 0x34]
mov edx, ebp
cmp dl, 8
mov dword [eax + 0x10], ebp
jne 0x62eb8792
test ebp, 0xe000
jne 0x62eb8970
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x62eb7cc6
mov eax, ebp
shr eax, 8
and eax, 1
mov dword [edx], eax
test ebp, 0x200
je 0x62eb7d0c
mov eax, ebp
mov edx, dword [esp + 0x34]
mov byte [esp + 0x9c], al
mov eax, ebp
shr eax, 8
mov byte [esp + 0x9d], al
lea eax, [esp + 0x9c]
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov eax, dword [edx + 0x18]
mov dword [esp], eax
call fcn.62dfe680
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x18], eax
mov edi, dword [esp + 0x34]
xor ebp, ebp
mov dword [edi], 2
xor edi, edi
jmp 0x62eb7b44
cmp edi, 0xf
jbe 0x62eb7b95
jmp 0x62eb7bbe
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x10]
test dh, 2
je 0x62eb8317
cmp edi, 0xf
ja 0x62eb7d71
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
nop
jmp 0x62eb7d5a
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x62eb7d52
mov edi, ecx
mov ecx, dword [esp + 0x34]
movzx eax, word [ecx + 0x18]
cmp eax, ebp
je 0x62eb8313
mov eax, dword [esp + 0x40]
mov dword [eax + 0x18], 0x62f384df
mov dword [ecx], 0x1d
jmp 0x62eb6d50
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x62eb6e14
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x48]
mov eax, dword [ecx + 0x40]
mov byte [edx], al
add edx, 1
mov dword [esp + 0x48], edx
sub dword [esp + 0x4c], 1
mov dword [ecx], 0x14
jmp 0x62eb6d50
mov dword [esp + 0x3c], ebx
mov edx, esi
mov ebx, 1
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x34]
jmp 0x62eb6e30
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x10]
test dh, 0x10
je 0x62eb8180
test ebx, ebx
je 0x62eb6e14
xor ecx, ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], edi
lea esi, [esi]
mov edi, dword [esp + 0x34]
movzx edx, byte [esi + ecx]
add ecx, 1
mov eax, dword [edi + 0x20]
movzx ebx, dl
mov dword [esp + 0x38], ebx
test eax, eax
je 0x62eb7e44
mov ebp, dword [eax + 0x24]
test ebp, ebp
je 0x62eb7e44
mov ebx, edi
mov edi, dword [edi + 0x40]
cmp edi, dword [eax + 0x28]
jae 0x62eb7e44
mov byte [ebp + edi], dl
add edi, 1
mov dword [ebx + 0x40], edi
cmp ecx, dword [esp + 0x5c]
jae 0x62eb7e52
mov ebx, dword [esp + 0x38]
test ebx, ebx
jne 0x62eb7e10
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x44]
test byte [eax + 0x11], 2
jne 0x62eb8367
mov edx, dword [esp + 0x38]
sub ebx, ecx
add esi, ecx
test edx, edx
jne 0x62eb6e14
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x34]
mov dword [eax], 8
jmp 0x62eb7d37
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0x10]
test dh, 8
je 0x62eb819b
test ebx, ebx
je 0x62eb6e14
xor ecx, ecx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x34]
movzx edx, byte [esi + ecx]
add ecx, 1
mov eax, dword [edi + 0x20]
movzx ebx, dl
mov dword [esp + 0x38], ebx
test eax, eax
je 0x62eb7eec
mov ebp, dword [eax + 0x1c]
test ebp, ebp
je 0x62eb7eec
mov ebx, edi
mov edi, dword [edi + 0x40]
cmp edi, dword [eax + 0x20]
jae 0x62eb7eec
mov byte [ebp + edi], dl
add edi, 1
mov dword [ebx + 0x40], edi
cmp ecx, dword [esp + 0x5c]
jae 0x62eb7efa
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x62eb7eb8
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x44]
test byte [eax + 0x11], 2
jne 0x62eb838e
mov eax, dword [esp + 0x38]
sub ebx, ecx
add esi, ecx
test eax, eax
jne 0x62eb6e14
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x34]
mov dword [eax + 0x40], 0
mov dword [eax], 7
jmp 0x62eb7dea
mov dword [esp + 0x3c], ebx
mov edx, esi
mov ebx, 0xfffffffd
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x34]
jmp 0x62eb6e30
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x10]
mov eax, edx
and eax, 0x400
test eax, eax
je 0x62eb8022
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x40]
cmp ebx, eax
mov ecx, eax
cmovbe ecx, ebx
test ecx, ecx
mov dword [esp + 0x3c], eax
je 0x62eb8010
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x20]
test eax, eax
mov dword [esp + 0x38], eax
je 0x62eb7ffc
mov eax, dword [eax + 0x10]
test eax, eax
mov dword [esp + 0x44], eax
je 0x62eb7ffc
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x14]
mov edx, dword [edx + 0x18]
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x30], ecx
mov dword [esp + 4], esi
mov dword [esp + 0x5c], edx
lea edx, [ecx + eax]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x5c]
sub edx, eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x5c]
cmp dword [esp + 0x38], edx
mov edx, dword [esp + 0x3c]
cmovbe edx, ecx
add eax, dword [esp + 0x44]
mov dword [esp + 8], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + 0x10]
and dh, 2
jne 0x62eb8570
mov eax, dword [esp + 0x34]
sub ebx, ecx
add esi, ecx
sub dword [eax + 0x40], ecx
mov edx, dword [esp + 0x34]
mov ecx, dword [edx + 0x40]
test ecx, ecx
jne 0x62eb6e14
mov edx, dword [edx + 0x10]
mov eax, dword [esp + 0x34]
mov dword [eax + 0x40], 0
mov dword [eax], 6
jmp 0x62eb7e99
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 8]
test edx, edx
je 0x62eb86d8
cmp edi, 0xf
ja 0x62eb8077
test ebx, ebx
je 0x62eb84fe
mov ecx, edi
jmp 0x62eb8060
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, 0xf
jbe 0x62eb8058
mov edi, ecx
cmp ebp, 0x8b1f
je 0x62eb85e1
mov eax, dword [esp + 0x34]
mov dword [eax + 0x10], 0
mov eax, dword [eax + 0x20]
test eax, eax
je 0x62eb809c
mov dword [eax + 0x30], 0xffffffff
and dl, 1
je 0x62eb84e4
mov eax, ebp
mov edx, ebp
shl eax, 8
mov ecx, 0x1f
shr edx, 8
and eax, 0xffff
add eax, edx
xor edx, edx
div ecx
test edx, edx
jne 0x62eb84e4
mov eax, ebp
and eax, 0xf
cmp eax, 8
je 0x62eb89f4
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x18], 0x62f38497
mov dword [eax], 0x1d
jmp 0x62eb6d50
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x10]
jmp 0x62eb7bf6
mov dword [esp + 0x3c], ebx
mov edx, esi
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x38], ebp
mov edi, ecx
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x40]
jmp 0x62eb6e30
mov dword [ebp], 0xc
mov al, 0xc
jmp 0x62eb6c4f
sub eax, 0xffffff80
xor ecx, ecx
jmp 0x62eb6ef4
mov eax, edx
mov dword [esp + 8], edx
neg eax
add eax, dword [esi + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp], eax
call fcn.62dfd5f0
mov edx, dword [esp + 0x30]
jmp 0x62eb6ec6
cmp ecx, 0x13
je 0x62eb6eef
xor ecx, ecx
jmp 0x62eb6ef4
mov edi, dword [esi + 4]
test edi, edi
jne 0x62eb6c02
jmp 0x62eb6c43
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x62eb7e83
mov dword [eax + 0x24], 0
jmp 0x62eb7e83
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x62eb7f2b
mov dword [eax + 0x1c], 0
jmp 0x62eb7f2b
mov edx, dword [esp + 0x48]
sub edx, eax
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x3c], eax
mov ecx, eax
cmp eax, dword [esp + 0x4c]
cmova eax, dword [esp + 0x4c]
sub dword [esp + 0x4c], eax
sub ecx, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x34]
mov dword [eax + 0x40], ecx
mov ecx, dword [esp + 0x38]
lea eax, [edx + 0x10]
shr ecx, 4
mov dword [esp + 0x44], ecx
shl ecx, 4
cmp dword [esp + 0x38], 0xf
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x48]
seta byte [esp + 0x5c]
cmp dword [esp + 0x48], eax
seta al
add ecx, 0x10
cmp edx, ecx
seta cl
or eax, ecx
test byte [esp + 0x5c], al
je 0x62eb89e3
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x62eb89e3
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x48]
xor eax, eax
mov dword [esp + 0x60], ebp
mov ebp, dword [esp + 0x44]
xor ecx, ecx
lea esi, [esi]
add ecx, 1
movdqu xmm0, xmmword [edx + eax]
movdqu xmmword [ebx + eax], xmm0
add eax, 0x10
cmp ecx, ebp
jb 0x62eb8240
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
add ecx, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x38]
add edx, dword [esp + 0x3c]
cmp dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x60]
je 0x62eb82a6
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x3c], ebx
lea esi, [esi]
movzx ebx, byte [edx + eax]
mov byte [ecx + eax], bl
add eax, 1
cmp ebp, eax
jne 0x62eb8290
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x5c]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
add dword [esp + 0x48], eax
mov eax, dword [edx + 0x40]
test eax, eax
jne 0x62eb6d50
mov dword [edx], 0x14
jmp 0x62eb6d50
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x30]
cmp eax, edx
jbe 0x62eb83b5
sub eax, edx
mov edx, dword [ecx + 0x28]
sub edx, eax
add edx, dword [ecx + 0x34]
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x40]
cmp eax, ecx
mov dword [esp + 0x3c], ecx
cmova eax, ecx
jmp 0x62eb81c5
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0x20]
xor eax, eax
test ecx, ecx
je 0x62eb7c54
mov dword [ecx + 0x10], 0
jmp 0x62eb7c54
xor edi, edi
xor ebp, ebp
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x62eb8332
sar edx, 9
and edx, 1
mov dword [eax + 0x2c], edx
mov dword [eax + 0x30], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.62dfe680
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
mov dword [edx + 0x18], eax
mov dword [ecx + 0x30], eax
mov dword [edx], 0xb
jmp 0x62eb6d50
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov eax, dword [eax + 0x18]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
call fcn.62dfe680
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [edx + 0x18], eax
jmp 0x62eb7e6c
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov eax, dword [eax + 0x18]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
call fcn.62dfe680
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [edx + 0x18], eax
jmp 0x62eb7f14
mov ecx, dword [esp + 0x34]
sub edx, eax
add edx, dword [ecx + 0x34]
jmp 0x62eb82e5
cmp edi, dword [esp + 0x5c]
jae 0x62eb83f7
test ebx, ebx
je 0x62eb6e14
mov ecx, edi
mov edi, dword [esp + 0x5c]
jmp 0x62eb83e1
test ebx, ebx
je 0x62eb8100
movzx eax, byte [esi]
sub ebx, 1
add esi, 1
shl eax, cl
add ecx, 8
add ebp, eax
cmp ecx, edi
jb 0x62eb83d9
mov edi, ecx
mov ecx, edx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
shr ebp, cl
movzx ecx, word [esp + 0x60]
sub edi, dword [esp + 0x5c]
mov word [edx + eax*2 + 0x70], cx
add eax, 1
mov dword [edx + 0x68], eax
mov eax, edx
jmp 0x62eb78b7
mov eax, dword [esp + 0x34]
cmp dword [esp + 0xc4], 6
mov dword [eax + 0x4c], 0x62f387a0
mov dword [eax + 0x54], 9
mov dword [eax + 0x50], 0x62f38720
mov dword [eax + 0x58], 5
mov dword [eax], 0x13
jne 0x62eb6d47
mov dword [esp + 0x38], ebp
mov edx, esi
mov ebp, eax
mov dword [esp + 0x3c], ebx
mov esi, dword [esp + 0x40]
sub edi, 3
mov ebx, dword [esp + 0x50]
shr dword [esp + 0x38], 3
jmp 0x62eb6e30
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x34]
mov dword [eax + 0x18], 0x62f384f3
mov dword [edi], 0x1d
jmp 0x62eb6d47
mov edi, dword [esp + 0x34]
mov dword [edi], 0x10
jmp 0x62eb6d47
mov ecx, dword [esp + 0x34]
mov eax, ebp
mov edx, ebp
shr eax, 8
mov byte [esp + 0x9d], al
lea eax, [esp + 0x9c]
mov byte [esp + 0x9c], dl
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x18]
mov dword [esp], eax
call fcn.62dfe680
mov edi, dword [esp + 0x34]
mov edx, dword [edi + 0x10]
mov dword [edi + 0x18], eax
mov eax, edi
jmp 0x62eb7bec
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x18], 0x62f38480
mov dword [edx], 0x1d
jmp 0x62eb6d50
mov dword [esp + 0x3c], ebx
mov edx, esi
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x40]
mov ebp, eax
jmp 0x62eb6e30
mov eax, ebp
mov byte [esp + 0x9c], al
mov eax, ebp
shr eax, 8
mov byte [esp + 0x9d], al
mov eax, ebp
shr eax, 0x10
mov byte [esp + 0x9e], al
mov eax, ebp
shr eax, 0x18
mov byte [esp + 0x9f], al
lea eax, [esp + 0x9c]
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x18]
mov dword [esp], eax
call fcn.62dfe680
mov edx, dword [esp + 0x34]
mov ecx, edx
mov dword [edx + 0x18], eax
jmp 0x62eb7b8b
mov edx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov eax, dword [edx + 0x18]
mov dword [esp + 0x30], ecx
mov dword [esp], eax
call fcn.62dfe680
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [edx + 0x18], eax
jmp 0x62eb8005
mov edx, dword [esp + 0x34]
mov eax, ebp
mov byte [esp + 0x9c], al
mov eax, ebp
shr eax, 8
mov byte [esp + 0x9d], al
lea eax, [esp + 0x9c]
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov eax, dword [edx + 0x18]
mov dword [esp], eax
call fcn.62dfe680
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x10]
mov dword [ecx + 0x18], eax
jmp 0x62eb7c49
test dl, 2
je 0x62eb8083
mov dword [esp + 8], 0
xor bp, bp
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.62dfe680
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x9c]
mov byte [esp + 0x9c], 0x1f
mov byte [esp + 0x9d], 0x8b
mov dword [ecx + 0x18], eax
mov dword [esp + 8], 2
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.62dfe680
mov edi, dword [esp + 0x34]
mov dword [edi], 1
mov dword [edi + 0x18], eax
xor edi, edi
jmp 0x62eb6d50
movzx edx, dl
lea eax, [edx + 2]
cmp edi, eax
mov dword [esp + 0x38], eax
jae 0x62eb867d
test ebx, ebx
je 0x62eb6e14
movzx eax, byte [esi]
mov ecx, edi
sub ebx, 1
add esi, 1
add edi, 8
shl eax, cl
add ebp, eax
cmp edi, dword [esp + 0x38]
jb 0x62eb865d
mov ecx, edx
shr ebp, cl
sub edi, dword [esp + 0x5c]
cmp dword [esp + 0x44], 0
je 0x62eb87fd
mov edx, dword [esp + 0x34]
sub edi, 2
mov eax, dword [esp + 0x44]
movzx ecx, word [edx + eax*2 + 0x6e]
mov edx, ebp
and edx, 3
add edx, 3
shr ebp, 2
jmp 0x62eb79cd
mov edx, dword [esp + 0x34]
mov ecx, edi
and edi, 0xfffffff8
and ecx, 7
shr ebp, cl
mov dword [edx], 0x1a
jmp 0x62eb6d50
mov edx, dword [esp + 0x34]
mov dword [edx], 0xb
jmp 0x62eb6d50
mov edx, dword [esp + 0x34]
mov dword [edx], 0xc
jmp 0x62eb6d50
movzx edx, dl
lea ecx, [edx + 3]
cmp edi, ecx
mov dword [esp + 0x38], ecx
jae 0x62eb8715
test ebx, ebx
je 0x62eb6e14
movzx eax, byte [esi]
mov ecx, edi
sub ebx, 1
add esi, 1
add edi, 8
shl eax, cl
add ebp, eax
cmp edi, dword [esp + 0x38]
jb 0x62eb86f5
mov ecx, edx
shr ebp, cl
xor ecx, ecx
sub edi, dword [esp + 0x5c]
mov edx, ebp
and edx, 7
add edx, 3
shr ebp, 3
sub edi, 3
jmp 0x62eb79cd
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov dword [esp + 8], eax
sub ecx, eax
mov dword [esp + 4], ecx
mov eax, dword [edx + 0x18]
mov dword [esp], eax
call fcn.62dfd5f0
jmp 0x62eb7633
mov dword [edx], 0x19
jmp 0x62eb6d50
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x18], 0x62f385ef
mov dword [eax], 0x1d
jmp 0x62eb6d50
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x38], ebp
mov ebp, edx
mov edx, esi
mov esi, dword [esp + 0x40]
jmp 0x62eb6e30
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x18], 0x62f38497
mov dword [eax], 0x1d
jmp 0x62eb6d50
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x18], 0x62f38506
mov dword [edx], 0x1d
jmp 0x62eb6d50
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x18], 0x62f38524
mov dword [edx], 0x1d
jmp 0x62eb6d50
mov dword [esp + 0x3c], ebx
mov edx, esi
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
xor edi, edi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x38], 0
jmp 0x62eb6e30
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x18], 0x62f38561
mov dword [edx], 0x1d
jmp 0x62eb6d50
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x18], 0x62f385d3
mov dword [edx], 0x1d
jmp 0x62eb6d50
mov dword [esp + 0x3c], ebx
mov edx, esi
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x40]
mov ebp, ecx
jmp 0x62eb6e30
mov edx, esi
mov ebp, dword [esp + 0x34]
xor edi, edi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], 0
mov dword [ebp], 0x1c
mov ebx, 1
jmp 0x62eb6e30
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x18], 0x62f385bd
mov dword [eax], 0x1d
jmp 0x62eb6d50
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x18], 0x62f385a1
mov dword [edx], 0x1d
jmp 0x62eb6d50
mov edx, dword [esp + 0x40]
mov dword [edx + 0x18], 0x62f3857c
mov dword [eax], 0x1d
jmp 0x62eb6d50
cmp dword [esp + 0x4c], 0x101
jbe 0x62eb73db
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x34]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
mov dword [eax], esi
mov dword [ebx + 0x3c], edi
mov edi, dword [esp + 0x54]
mov dword [ebx + 0x38], ebp
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.62eb9540
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov eax, dword [eax + 0xc]
mov ebp, dword [edi + 0x38]
mov edx, dword [edx + 0x10]
mov esi, dword [ecx]
mov dword [esp + 0x48], eax
mov eax, edi
mov ebx, dword [ecx + 4]
cmp dword [eax], 0xb
mov dword [esp + 0x4c], edx
mov edi, dword [edi + 0x3c]
jne 0x62eb6d50
mov dword [eax + 0x1bc4], 0xffffffff
jmp 0x62eb6d50
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x18], 0x62f38548
mov dword [edx], 0x1d
jmp 0x62eb6d50
mov dword [esp + 0x38], ebp
mov edx, esi
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x3c], ebx
mov esi, dword [esp + 0x40]
jmp 0x62eb8862
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov dword [eax + 0x18], 0x62f384c6
mov dword [edx], 0x1d
jmp 0x62eb6d50
mov edx, esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x38], ebp
mov ebx, dword [esp + 0x48]
mov ebp, ecx
mov ecx, dword [esp + 0x38]
mov dword [esi], edx
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ebx
mov ebx, 2
mov dword [esi + 4], edx
mov dword [ebp + 0x38], ecx
mov dword [ebp + 0x3c], edi
jmp 0x62eb6c02
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
mov dword [edx + 0x18], 0x62f38623
mov dword [esp + 0x54], ecx
mov dword [eax], 0x1d
jmp 0x62eb6d50
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x48]
jmp 0x62eb827e
mov edx, dword [esp + 0x34]
shr ebp, 4
mov ecx, ebp
and ecx, 0xf
add ecx, 8
mov eax, dword [edx + 0x24]
test eax, eax
jne 0x62eb8a98
mov dword [edx + 0x24], ecx
mov edx, dword [esp + 0x34]
mov eax, 1
and ebp, 0x200
shl eax, cl
mov dword [edx + 0x14], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.62dfd5f0
mov ecx, dword [esp + 0x34]
cmp ebp, 1
mov edi, dword [esp + 0x40]
mov dword [ecx + 0x18], eax
mov dword [edi + 0x30], eax
sbb eax, eax
xor edi, edi
and eax, 2
xor ebp, ebp
add eax, 9
mov dword [ecx], eax
jmp 0x62eb6d50
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov dword [edx + 0x18], 0x62f38561
mov dword [ecx], 0x1d
jmp 0x62eb6d50
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x1bc4], 0xffffffff
mov dword [ecx], 0xb
jmp 0x62eb6d50
cmp ecx, eax
jbe 0x62eb8a11
mov ecx, dword [esp + 0x40]
sub edi, 4
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x18], 0x62f384b2
mov dword [eax], 0x1d
jmp 0x62eb6d50