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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x13c
test edx, edx
je 0x6cdd7e
mov dword [esp + 8], ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x158]
mov eax, dword [edx]
mov ecx, dword [edx + 0x50]
mov dword [esp + 0x34], ecx
lea ecx, [eax + 1]
mov dword [edx], ecx
mov dword [esp + 4], 0xfffffff8
cmp eax, dword [edx + 4]
jae case.0x6d0814.6
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x158]
mov ecx, eax
lea eax, [ecx + 0x7c]
mov dword [esp + 0x18], eax
lea eax, [ecx + 0x88]
mov dword [esp + 0x24], eax
lea eax, [ecx + 0x1c]
mov dword [esp + 0x48], eax
lea eax, [ecx + 0x8c]
mov dword [esp + 0x1c], eax
lea eax, [ecx + 0x68]
mov dword [esp + 0x20], eax
lea eax, [ecx + 0x44]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x158]
cmp eax, dword [ecx + 8]
jae 0x6cdef7
cmp dword [ecx + 0x9c], 2
jne 0x6c8e30
mov eax, dword [esp + 8]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb0], eax
mov dword [ecx + 0x9c], 0
lea eax, [esp + 0xb0]
mov dword [esp + 0x38], eax
jmp 0x6c8e30
movzx eax, word [esp + 0x28]
cmp eax, 0x10
jne 0x6c6ed1
jmp 0x6d175d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, dword [esp + 0x10]
lea ecx, [edx + edx]
sub eax, ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jbe 0x6c7cb9
jmp 0x6d175d
movzx eax, word [esp + 0x28]
cmp eax, 0x10
je 0x6c6ed1
jmp 0x6d175d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, dword [esp + 0x10]
lea ecx, [edx + edx]
sub eax, ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jbe 0x6c7cb9
jmp 0x6d1afb
add ebp, 2
mov dword [esp + 0x14], ebp
jmp 0x6c8e30
cmp eax, 0x24
je case.0x6cb677.0
cmp eax, 0x60
je case.0x6cb677.0
cmp eax, 0x40
je case.0x6cb677.0
lea ecx, [eax - 0xa0]
cmp ecx, 0xd760
setb cl
cmp eax, 0xdfff
seta al
or al, cl
movzx ecx, word [esp + 0x28]
cmp ecx, 0xf
sete cl
xor cl, al
cmp cl, 1
je 0x6c6ed1
jmp 0x6d175d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c6a94
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6c6a94
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6d0c2a
mov dword [esp + 8], ebp
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cd9b5
cmp eax, 0x202f
mov dword [esp + 4], 0
je 0x6c6a14
cmp eax, 0x3000
je 0x6c6a14
cmp eax, 0x205f
je 0x6c6a14
jmp case.0x6d0814.6
lea eax, [ebp + 0x22]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], 0
mov ebx, 1
mov dword [esp + 0x10], 1
mov dword [esp + 4], 0
cmp dword [esp + 0x34], 0
je 0x6c6bb2
test ebx, ebx
jle 0x6c6c0b
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
xor esi, esi
mov edi, dword [esp + 8]
cmp edi, edx
jae 0x6ce0c4
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6c6b37
add edi, 4
jmp 0x6c6b42
add edi, 2
cmp ecx, 0x100
jb 0x6c6b51
movzx eax, word [esp + 0x28]
cmp eax, 0x6e
jne 0x6c6b6a
jmp 0x6d175d
mov eax, ecx
shr eax, 3
movzx eax, byte [ebp + eax + 2]
and cl, 7
movzx ecx, cl
bt eax, ecx
jae 0x6d175d
inc esi
cmp esi, ebx
jl 0x6c6b19
jmp 0x6c6c0f
xor eax, eax
cmp edx, 0x69
sete al
mov dword [esp + 4], eax
cmp edx, 0x6d
sete al
mov dword [esp + 0xc], eax
movzx ebx, word [ebp + 0x24]
movzx eax, word [ebp + 0x26]
test eax, eax
mov ecx, 0x7fffffff
cmovne ecx, eax
mov dword [esp + 0x10], ecx
lea eax, [ebp + 0x28]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x34], 0
jne 0x6c6b05
test ebx, ebx
jle 0x6c6c0b
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
xor esi, esi
mov edi, dword [esp + 8]
cmp edi, edx
jae 0x6ce55a
movzx eax, word [edi]
cmp eax, 0x100
jb 0x6c6be3
movzx eax, word [esp + 0x28]
cmp eax, 0x6e
jne 0x6c6c01
jmp 0x6d175d
mov ecx, eax
and ecx, 0xfff8
shr ecx, 3
movzx ecx, byte [ebp + ecx + 2]
and al, 7
movzx eax, al
bt ecx, eax
jae 0x6d175d
add edi, 2
inc esi
cmp esi, ebx
jl 0x6c6bc2
jmp 0x6c6c0f
mov edi, dword [esp + 8]
cmp ebx, dword [esp + 0x10]
mov dword [esp + 8], edi
mov edx, dword [esp + 0x28]
je 0x6c8e30
cmp dword [esp + 4], 0
jne 0x6cff38
cmp dword [esp + 0x34], 0
je 0x6c6cbc
cmp ebx, dword [esp + 0x10]
mov eax, edi
jge 0x6c6d4d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, edi
cmp eax, dword [esp + 4]
jae 0x6c6d1d
mov ecx, eax
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
mov esi, 2
cmp eax, 0xd800
je 0x6c6c7e
mov esi, 1
cmp edx, 0x100
jb 0x6c6c8d
movzx eax, word [esp + 0x28]
cmp eax, 0x6e
jne 0x6c6cab
jmp 0x6c6d47
mov eax, edx
shr eax, 3
movzx eax, byte [ebp + eax + 2]
and dl, 7
movzx edx, dl
mov esi, 1
bt eax, edx
jae 0x6c6d47
mov eax, ecx
lea eax, [eax + esi*2]
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x6c6c4f
jmp 0x6c6d4d
cmp ebx, dword [esp + 0x10]
mov eax, edi
jge 0x6c6d91
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, edi
cmp eax, ecx
jae 0x6c6d61
mov esi, eax
movzx eax, word [eax]
cmp eax, 0x100
jb 0x6c6cf1
movzx eax, dx
cmp eax, 0x6e
jne 0x6c6d0f
jmp 0x6c6d8b
mov edx, eax
and edx, 0xfff8
shr edx, 3
movzx edx, byte [ebp + edx + 2]
and al, 7
movzx eax, al
bt edx, eax
mov edx, dword [esp + 0x28]
jae 0x6c6d8b
mov eax, esi
add eax, 2
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x6c6cd0
jmp 0x6c6d91
mov edx, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c6d4b
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x6c6d4b
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov eax, edx
jle 0x6c6d4d
jmp 0x6ce4c8
mov eax, ecx
jmp 0x6c6d4d
mov eax, edx
mov dword [esp + 8], eax
cmp byte [esp + 0xc], 0
jne 0x6c8e30
jmp 0x6d050c
mov edx, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c6d8f
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x6c6d8f
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov eax, edx
jle 0x6c6d91
jmp 0x6ce4c8
mov eax, esi
jmp 0x6c6d91
mov eax, edx
mov dword [esp + 8], eax
cmp byte [esp + 0xc], 0
jne 0x6c8e30
jmp 0x6d0dfa
cmp edx, 0xa
mov dword [esp + 4], 0
jne case.0x6d0814.6
add ebp, 2
mov dword [esp + 0x14], ebp
mov dword [esp + 8], eax
jmp 0x6c8e30
xor ecx, ecx
movzx eax, cl
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
jae 0x6c6e3f
mov ebx, edx
movzx edx, word [edi]
mov ecx, edx
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x6c6e02
shl edx, 0xa
and edx, 0xffc00
movzx ecx, word [edi + 2]
and ecx, 0x3ff
lea edx, [edx + ecx + 0x10000]
cmp dword [esi + 0x58], 0
je 0x6c709a
mov cl, 1
cmp edx, 0x5f
je 0x6c70b5
mov ecx, edx
sar ecx, 0x1f
shr ecx, 0x19
add ecx, edx
mov esi, ecx
and esi, 0x7fffff80
sar ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
sub edx, esi
add edx, ecx
jmp 0x6c7078
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x6c6e6f
mov esi, edx
mov edx, dword [esp + 0x24]
cmp edi, dword [edx]
jbe 0x6c6e66
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
jg 0x6ce4c8
xor ecx, ecx
mov edx, esi
jmp 0x6c70b7
xor ecx, ecx
jmp 0x6c70b7
xor eax, eax
movzx esi, al
test esi, esi
je case.0x6ca279.4
jmp 0x6cd5f4
cmp eax, 0x84
jg 0x6c6eaa
add eax, 0xfffffff7
cmp eax, 0x17
ja case.0x6cb698.8203
mov edx, 0x80001f
bt edx, eax
jb case.0x6cb677.0
jmp case.0x6cb698.8203
cmp eax, 0x85
je case.0x6cb677.0
cmp eax, 0xa0
je case.0x6cb677.0
cmp eax, 0x1680
jne case.0x6cb698.8203
movzx eax, word [esp + 0x28]
cmp eax, 0xf
je 0x6d175d
mov dword [esp + 8], ebx
add ebp, 6
mov dword [esp + 0x14], ebp
jmp 0x6c8e30
mov eax, edx
mov dword [esp + 8], eax
cmp dword [esp + 0x4c], 0
jne 0x6c8e30
jmp 0x6cd6a5
movzx edx, word [ebx + 2]
cmp dx, word [edi + 0x36]
jne 0x6cf02e
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne 0x6cf02e
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c6a14
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x6c6a14
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x6c6a14
jmp 0x6cf319
cmp eax, 9
mov dword [esp + 4], 0
je 0x6c6a14
cmp eax, 0x20
je 0x6c6a14
jmp case.0x6d0814.6
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x6c8516
movzx ebx, word [edi]
mov esi, ebx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x6c6fa5
shl ebx, 0xa
and ebx, 0xffc00
movzx edx, word [edi + 2]
and edx, 0x3ff
lea ebx, [ebx + edx + 0x10000]
mov edx, 2
mov esi, 1
cmp ebx, 0x1fff
jle 0x6c6ff0
cmp ebx, 0x202e
jg 0x6c7012
add ebx, 0xffffe000
cmp ebx, 0xb
jae 0x6c7036
cmp esi, ecx
je 0x6c8e16
mov edi, dword [esp + 0x10]
inc edi
mov esi, dword [esp + 8]
lea esi, [esi + edx*2]
mov dword [esp + 8], esi
mov dword [esp + 0x10], edi
cmp edi, dword [esp + 0x28]
jl 0x6c6f62
jmp 0x6c8e16
cmp ebx, 0x9f
jle 0x6c702c
cmp ebx, 0xa0
je 0x6c6fc5
cmp ebx, 0x1680
je 0x6c6fc5
cmp ebx, 0x180e
je 0x6c6fc5
jmp 0x6c7036
cmp ebx, 0x202f
je 0x6c6fc5
cmp ebx, 0x205f
je 0x6c6fc5
cmp ebx, 0x3000
je 0x6c6fc5
jmp 0x6c7036
cmp ebx, 9
je 0x6c6fc5
cmp ebx, 0x20
je 0x6c6fc5
xor esi, esi
cmp esi, ecx
jne 0x6c6fcd
jmp 0x6c8e16
xor ecx, ecx
movzx eax, cl
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
jae 0x6c6e3f
mov ebx, edx
cmp dword [esi + 0x58], 0
movzx edx, word [edi]
je 0x6c709a
mov cl, 1
cmp edx, 0x5f
je 0x6c70b5
mov ecx, edx
shr ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
and edx, 0x7f
or edx, ecx
movzx ecx, word [edx + edx + 0x7b8c54]
movzx ecx, byte [ecx*8 + 0x7b53d5]
mov ecx, dword [ecx*4 + 0x7b48e8]
or ecx, 2
cmp ecx, 3
sete cl
jmp 0x6c70b5
cmp edx, 0xff
ja 0x6c70b3
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov cl, byte [ecx + edx]
and cl, 0x10
shr cl, 4
jmp 0x6c70b5
xor ecx, ecx
mov edx, ebx
movzx ecx, cl
add ebp, 2
movzx edx, dx
cmp edx, 5
jne 0x6c70de
mov dword [esp + 4], 0
cmp eax, ecx
mov dword [esp + 0x14], ebp
jne 0x6c8e30
jmp case.0x6d0814.6
mov dword [esp + 4], 0
cmp eax, ecx
mov dword [esp + 0x14], ebp
je 0x6c8e30
jmp case.0x6d0814.6
mov dword [esp + 0x10], 1
xor ebp, ebp
mov dword [esp + 4], 0
mov ebx, 1
xor esi, esi
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x6ce450
lea ecx, [edx + 2]
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x6c7163
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6c7163
shl eax, 0xa
and eax, 0xffc00
mov edx, dword [esp + 8]
movzx ecx, word [edx + 2]
add edx, 4
mov dword [esp + 8], edx
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6c7167
mov dword [esp + 8], ecx
sub esp, 4
push dword [esp + 0x38]
push edi
push eax
call fcn.006d3ce0
add esp, 0x10
test eax, eax
je 0x6d175d
inc esi
cmp esi, ebx
jl 0x6c7110
mov eax, dword [esp + 8]
mov dword [esp + 0xc], eax
cmp ebx, dword [esp + 0x10]
je 0x6c8e30
test ebp, ebp
jne 0x6d0699
cmp ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jge 0x6c7247
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
cmp ecx, dword [eax]
jae 0x6c721b
mov ebp, ecx
movzx eax, word [ecx]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x6c71f8
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x6c71f8
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebp + 2]
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
mov esi, 2
sub esp, 4
push dword [esp + 0x38]
push edi
push eax
call fcn.006d3ce0
add esp, 0x10
mov ecx, ebp
test eax, eax
je 0x6c7247
lea ecx, [ecx + esi*2]
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x6c71b1
jmp 0x6c7247
mov edx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c7245
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x6c7245
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov ecx, edx
jle 0x6c7247
jmp 0x6ce4c8
mov ecx, edx
mov dword [esp + 8], ecx
cmp byte [esp + 4], 0
jne 0x6c8e30
jmp 0x6d0c37
mov ecx, edx
mov dword [esp + 8], ecx
cmp dword [esp + 0x4c], 0
jne 0x6c8e30
jmp 0x6cd89d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c8ddc
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6c8ddc
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x6c8ddc
jmp 0x6d0c2a
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x6c6db6
mov edx, dword [esp + 0x24]
cmp eax, dword [edx]
jbe 0x6c6db6
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
jle 0x6c6db6
jmp 0x6ce4c8
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d0021
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x6d175d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
je 0x6d175d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c72e5
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x6cf721
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x6c734c
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
jne 0x6d175d
lea edx, [edi + 2]
mov esi, edx
cmp edx, eax
jae 0x6c7367
movzx edx, word [edi + 2]
and edx, 0xfc00
cmp edx, 0xdc00
je 0x6c736b
mov edx, esi
jmp 0x6c7370
add edi, 4
mov edx, edi
inc ecx
cmp ecx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
mov edi, edx
jl 0x6c732c
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d005f
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x6d175d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
je 0x6d175d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7392
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x6cf75b
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x6c73f9
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
jne 0x6d175d
lea edx, [edi + 2]
mov esi, edx
cmp edx, eax
jae 0x6c7414
movzx edx, word [edi + 2]
and edx, 0xfc00
cmp edx, 0xdc00
je 0x6c7418
mov edx, esi
jmp 0x6c741d
add edi, 4
mov edx, edi
inc ecx
cmp ecx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
mov edi, edx
jl 0x6c73d9
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d009d
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x6d175d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
je 0x6d175d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c743f
jmp 0x6c9b8f
xor esi, esi
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp ebx, eax
jae 0x6cf80c
mov edi, dword [esp + 0x158]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x6c74bf
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push ebx
call fcn.006d3900
add esp, 0x20
test eax, eax
mov edx, dword [esp + 0x10]
je 0x6c74f2
jmp 0x6d175d
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp ebx, eax
mov edx, dword [esp + 0x10]
ja 0x6c74f2
movzx eax, word [ebx]
cmp ax, word [edi + 0x34]
jne 0x6c74f2
cmp ecx, 1
je 0x6d175d
movzx eax, word [ebx + 2]
cmp ax, word [edi + 0x36]
je 0x6d175d
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x6c7517
lea edx, [ebx + 2]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp edx, eax
jae 0x6c7526
mov ecx, ebp
mov edx, dword [esp + 0x10]
cmp ecx, eax
jb 0x6c7536
jmp 0x6c754b
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea ecx, [ebx + 2]
cmp ecx, eax
jb 0x6c7536
jmp 0x6c754b
cmp dword [edi + 0x18], 0
mov edx, dword [esp + 0x10]
je 0x6c755f
mov ecx, ebp
cmp ecx, eax
jae 0x6c754b
movzx eax, word [ebx + 2]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x6c754b
add ebx, 4
mov ecx, ebx
inc esi
cmp esi, edx
mov dword [esp + 0xc], ecx
mov ebx, ecx
jl 0x6c7480
jmp 0x6c9b8f
mov edx, dword [esp + 0x48]
cmp dword [edx], 2
jne 0x6c750b
movzx edx, word [ebx]
cmp dx, word [edi + 0x34]
jne 0x6c750b
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
mov ecx, ebp
mov edx, dword [esp + 0x10]
jle 0x6c7532
jmp 0x6ce4c8
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov esi, dword [esp + 8]
cmp esi, eax
jae 0x6cf2df
lea edi, [esi + 2]
cmp edi, eax
jae 0x6c75bd
movzx edx, word [esi + 2]
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x6c75bd
add esi, 4
mov edi, esi
mov edx, dword [esp + 0x10]
inc ecx
cmp ecx, edx
mov dword [esp + 0xc], edi
mov esi, edi
jl 0x6c7597
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6cfefa
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6c761f
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6c7622
add edi, 2
mov ebx, dword [esp + 0x158]
mov dword [esp + 0xc], edi
cmp edx, 0xc
jle 0x6c766f
lea edi, [edx - 0x2028]
cmp edi, 2
jb 0x6c7677
cmp edx, 0x85
je 0x6c7677
cmp edx, 0xd
mov dword [esp + 4], 0
jne case.0x6d0814.6
mov esi, dword [esp + 0xc]
cmp esi, eax
jae 0x6c7681
movzx edx, word [esi]
cmp edx, 0xa
jne 0x6c7681
add esi, 2
mov dword [esp + 0xc], esi
jmp 0x6c7681
lea edi, [edx - 0xb]
cmp edi, 2
jae 0x6c7691
cmp dword [ebx + 0x6c], 0
jne 0x6d175d
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c75e1
jmp 0x6c9b8f
cmp edx, 0xa
mov dword [esp + 4], 0
je 0x6c7681
jmp case.0x6d0814.6
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6cfcc1
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6c7724
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
cmp edx, 0x1fff
jg 0x6c772f
cmp edx, 0x9f
jle 0x6c776c
cmp edx, 0xa0
je 0x6d1fdf
cmp edx, 0x1680
je 0x6d1fdf
cmp edx, 0x180e
jne 0x6c777e
jmp 0x6d1fdf
add edi, 2
cmp edx, 0x1fff
jle 0x6c76f7
cmp edx, 0x202e
jg 0x6c7747
add edx, 0xffffe000
cmp edx, 0xb
jae 0x6c777e
jmp 0x6d1fdf
cmp edx, 0x202f
je 0x6d1fdf
cmp edx, 0x205f
je 0x6d1fdf
cmp edx, 0x3000
jne 0x6c777e
jmp 0x6d1fdf
cmp edx, 9
je 0x6d1fdf
cmp edx, 0x20
je 0x6d1fdf
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c76b3
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6cfcff
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6c780b
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
cmp edx, 0x1fff
jg 0x6c7816
cmp edx, 0x9f
jle 0x6c785e
cmp edx, 0xa0
je 0x6c782d
cmp edx, 0x1680
je 0x6c782d
cmp edx, 0x180e
je 0x6c782d
jmp 0x6d1fdf
add edi, 2
cmp edx, 0x1fff
jle 0x6c77e6
cmp edx, 0x202e
jg 0x6c7841
add edx, 0xffffe000
cmp edx, 0xb
jae 0x6d1fdf
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c77a2
jmp 0x6c9b8f
cmp edx, 0x202f
je 0x6c782d
cmp edx, 0x3000
je 0x6c782d
cmp edx, 0x205f
je 0x6c782d
jmp 0x6d1fdf
cmp edx, 9
je 0x6c782d
cmp edx, 0x20
je 0x6c782d
jmp 0x6d1fdf
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6cfd3d
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6c78bb
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6c78be
add edi, 2
lea esi, [edx - 0xa]
cmp esi, 4
jb 0x6d1fdf
lea esi, [edx - 0x2028]
cmp esi, 2
jb 0x6d1fdf
cmp edx, 0x85
je 0x6d1fdf
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c787d
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6cfd7b
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6c7943
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6c7946
add edi, 2
lea esi, [edx - 0xa]
cmp esi, 4
jb 0x6c7965
lea esi, [edx - 0x2028]
cmp esi, 2
jb 0x6c7965
cmp edx, 0x85
jne 0x6d1fdf
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7905
jmp 0x6c9b8f
mov al, 1
movzx esi, al
test esi, esi
jne 0x6cd5f4
mov ecx, dword [esp + 4]
lea eax, [edi + ecx*2]
mov dword [esp + 0x14], eax
movzx eax, word [edi + ecx*2 - 4]
cmp eax, 0x77
mov eax, dword [esp + 0x28]
jne 0x6c8e30
jmp 0x6cd60b
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
cmp ebp, 0x14
sete cl
mov edx, dword [esp + 0xc]
mov dword [esp + 8], edx
mov ebx, dword [esp + 8]
cmp ebx, eax
jae 0x6c8516
movzx esi, word [ebx]
mov edi, esi
and edi, 0xfc00
mov edx, 1
cmp edi, 0xd800
jne 0x6c7a0f
shl esi, 0xa
and esi, 0xffc00
movzx edx, word [ebx + 2]
and edx, 0x3ff
lea esi, [esi + edx + 0x10000]
mov edx, 2
mov ebx, 1
lea edi, [esi - 0xa]
cmp edi, 4
jb 0x6c7a31
lea edi, [esi - 0x2028]
cmp edi, 2
jb 0x6c7a31
cmp esi, 0x85
je 0x6c7a31
xor ebx, ebx
cmp ebx, ecx
je 0x6c8e16
mov edi, dword [esp + 0x10]
inc edi
mov esi, dword [esp + 8]
lea esi, [esi + edx*2]
mov dword [esp + 8], esi
mov dword [esp + 0x10], edi
cmp edi, dword [esp + 0x28]
jl 0x6c79cc
jmp 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d0598
movzx edx, word [edi]
cmp edx, 0xff
ja 0x6d175d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
je 0x6d175d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7a6c
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d00db
movzx edx, word [edi]
cmp edx, 0xff
ja 0x6c7ae1
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
jne 0x6d175d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7aba
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d05d6
movzx edx, word [edi]
cmp edx, 0xff
ja 0x6d175d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
je 0x6d175d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7b04
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d0119
movzx edx, word [edi]
cmp edx, 0xff
ja 0x6c7b79
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
jne 0x6d175d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7b52
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d0614
movzx edx, word [edi]
cmp edx, 0xff
ja 0x6d175d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
je 0x6d175d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7b9c
jmp 0x6c9b8f
xor esi, esi
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp ebx, eax
jae 0x6d02f8
mov edi, dword [esp + 0x158]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x6c7c19
sub esp, 0xc
push 0
push dword [esp + 0x58]
push eax
push ecx
push ebx
call fcn.006d3900
add esp, 0x20
test eax, eax
je 0x6c7c48
jmp 0x6d175d
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp ebx, eax
ja 0x6c7c48
movzx eax, word [ebx]
cmp ax, word [edi + 0x34]
jne 0x6c7c48
cmp ecx, 1
je 0x6d175d
movzx eax, word [ebx + 2]
cmp ax, word [edi + 0x36]
je 0x6d175d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
lea edx, [ebx + 2]
test eax, eax
je 0x6c7c88
mov ecx, dword [esp + 0x18]
cmp edx, dword [ecx]
jb 0x6c7c88
cmp dword [edi + 0x18], 0
jne 0x6c7c88
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x6c7c88
movzx ecx, word [ebx]
cmp cx, word [edi + 0x34]
jne 0x6c7c88
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6ce4c8
inc esi
cmp esi, dword [esp + 0x10]
mov dword [esp + 0xc], edx
mov ebx, edx
jl 0x6c7be0
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, dword [esp + 0x10]
lea ecx, [edx + edx]
sub eax, ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
ja 0x6d1b39
lea eax, [ecx + edx*2]
mov dword [esp + 0xc], eax
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov ebp, dword [esp + 8]
cmp ebp, eax
jae 0x6d04d2
lea edx, [ebp + 2]
mov dword [esp + 0xc], edx
movsx edx, word [ebp]
cmp edx, 0xc
mov ebx, dword [esp + 0x158]
jle 0x6c7d32
lea edi, [edx - 0x2028]
movzx edi, di
cmp edi, 2
jb 0x6c7d3d
movzx edx, dx
cmp edx, 0x85
je 0x6c7d3d
cmp edx, 0xd
mov dword [esp + 4], 0
jne case.0x6d0814.6
cmp dword [esp + 0xc], eax
jae 0x6c7d47
movzx edx, word [ebp + 2]
cmp edx, 0xa
jne 0x6c7d47
add ebp, 4
mov dword [esp + 0xc], ebp
jmp 0x6c7d47
lea edi, [edx - 0xb]
movzx edi, di
cmp edi, 2
jae 0x6c7d5b
cmp dword [ebx + 0x6c], 0
jne 0x6d175d
inc ecx
cmp ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
jl 0x6c7cd1
jmp 0x6c9b8f
movzx edx, dx
cmp edx, 0xa
mov dword [esp + 4], 0
je 0x6c7d47
jmp case.0x6d0814.6
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d038f
movsx edx, word [edi]
movsx esi, dx
cmp edx, 0x1fff
jle 0x6c7db5
cmp esi, 0x202e
jg 0x6c7de5
lea edx, [edx - 0x2000]
movzx edx, dx
cmp edx, 0xb
jae 0x6c7e1f
jmp 0x6d1fdf
movzx edx, dx
cmp esi, 0x9f
jle 0x6c7e0d
cmp edx, 0xa0
je 0x6d1fdf
cmp edx, 0x1680
je 0x6d1fdf
cmp edx, 0x180e
jne 0x6c7e1f
jmp 0x6d1fdf
movzx edx, dx
cmp edx, 0x202f
je 0x6d1fdf
cmp edx, 0x205f
je 0x6d1fdf
cmp edx, 0x3000
jne 0x6c7e1f
jmp 0x6d1fdf
cmp edx, 9
je 0x6d1fdf
cmp edx, 0x20
je 0x6d1fdf
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7d80
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d03cd
movsx edx, word [edi]
movsx esi, dx
cmp edx, 0x1fff
jle 0x6c7e8d
cmp esi, 0x202e
jg 0x6c7eb5
lea edx, [edx - 0x2000]
movzx edx, dx
cmp edx, 0xb
jae 0x6d1fdf
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7e46
jmp 0x6c9b8f
movzx edx, dx
cmp esi, 0x9f
jle 0x6c7ed5
cmp edx, 0xa0
je 0x6c7e7a
cmp edx, 0x1680
je 0x6c7e7a
cmp edx, 0x180e
je 0x6c7e7a
jmp 0x6d1fdf
movzx edx, dx
cmp edx, 0x202f
je 0x6c7e7a
cmp edx, 0x3000
je 0x6c7e7a
cmp edx, 0x205f
je 0x6c7e7a
jmp 0x6d1fdf
cmp edx, 9
je 0x6c7e7a
cmp edx, 0x20
je 0x6c7e7a
jmp 0x6d1fdf
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d040b
movzx edx, word [edi]
lea esi, [edx - 0xa]
movzx esi, si
cmp esi, 4
jb 0x6d1fdf
lea esi, [edx - 0x2028]
movzx esi, si
cmp esi, 2
jb 0x6d1fdf
movzx edx, dx
cmp edx, 0x85
je 0x6d1fdf
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7ef4
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d0449
movzx edx, word [edi]
lea esi, [edx - 0xa]
movzx esi, si
cmp esi, 4
jb 0x6c7f8d
lea esi, [edx - 0x2028]
movzx esi, si
cmp esi, 2
jb 0x6c7f8d
movzx edx, dx
cmp edx, 0x85
jne 0x6d1fdf
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c7f56
jmp 0x6c9b8f
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8516
movzx ecx, word [ecx]
mov esi, ecx
and esi, 0xfc00
mov edx, 2
cmp esi, 0xd800
je 0x6c8006
mov edx, 1
cmp ecx, 0xff
ja 0x6c8006
mov edx, dword [esp + 0x3c]
mov esi, dword [edx]
mov edx, 1
test byte [esi + ecx], 4
jne 0x6c8e16
mov ecx, dword [esp + 8]
lea ecx, [ecx + edx*2]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c7fc0
jmp 0x6c8e16
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8516
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6c8e16
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
je 0x6c8e16
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 4
je 0x6c8e16
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c8045
jmp 0x6c8e16
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8516
movzx ecx, word [ecx]
mov esi, ecx
and esi, 0xfc00
mov edx, 2
cmp esi, 0xd800
je 0x6c8103
mov edx, 1
cmp ecx, 0xff
ja 0x6c8103
mov edx, dword [esp + 0x3c]
mov esi, dword [edx]
mov edx, 1
test byte [esi + ecx], 1
jne 0x6c8e16
mov ecx, dword [esp + 8]
lea ecx, [ecx + edx*2]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c80bd
jmp 0x6c8e16
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8516
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6c8e16
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
je 0x6c8e16
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 1
je 0x6c8e16
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c8142
jmp 0x6c8e16
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8516
movzx ecx, word [ecx]
mov esi, ecx
and esi, 0xfc00
mov edx, 2
cmp esi, 0xd800
je 0x6c8200
mov edx, 1
cmp ecx, 0xff
ja 0x6c8200
mov edx, dword [esp + 0x3c]
mov esi, dword [edx]
mov edx, 1
test byte [esi + ecx], 0x10
jne 0x6c8e16
mov ecx, dword [esp + 8]
lea ecx, [ecx + edx*2]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c81ba
jmp 0x6c8e16
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8516
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6c8e16
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
je 0x6c8e16
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 0x10
je 0x6c8e16
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c823f
jmp 0x6c8e16
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp esi, eax
jae 0x6c83c4
mov ecx, dword [esp + 0x158]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x6c82e8
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push esi
call fcn.006d3900
add esp, 0x20
test eax, eax
je 0x6c8325
jmp 0x6c83f2
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp esi, eax
ja 0x6c8325
movzx eax, word [esi]
mov edx, dword [esp + 0x158]
cmp ax, word [edx + 0x34]
jne 0x6c8325
cmp ecx, 1
je 0x6c842e
movzx eax, word [esi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x6c8442
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x6c837e
lea edx, [esi + 2]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebx, edx
cmp edx, eax
jb 0x6c837a
mov edx, dword [esp + 0x158]
cmp dword [edx + 0x18], 0
jne 0x6c837a
mov edx, dword [esp + 0x48]
cmp dword [edx], 2
jne 0x6c837a
movzx edx, word [esi]
mov edi, dword [esp + 0x158]
cmp dx, word [edi + 0x34]
jne 0x6c837a
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
mov ecx, ebx
jle 0x6c8387
jmp 0x6d0c2a
mov ecx, ebx
jmp 0x6c8387
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea ecx, [esi + 2]
mov dword [esp + 8], ecx
cmp ecx, eax
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
jae 0x6c83ae
movzx eax, word [esi + 2]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x6c83ae
add esi, 4
mov dword [esp + 8], esi
inc edx
mov dword [esp + 0x10], edx
cmp edx, ecx
mov esi, dword [esp + 8]
jl 0x6c82ad
jmp 0x6c8e16
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c8406
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x6c841a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov dword [esp + 8], esi
jle 0x6c8e16
jmp 0x6d0c2a
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdbc2
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdbc2
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdbc2
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdbc2
mov dword [esp + 8], esi
jmp 0x6c8e16
cmp edx, 0x7fffffff
jne 0x6c8462
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 8], eax
jmp 0x6c8516
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jae 0x6c84c0
lea edx, [ecx + 2]
mov dword [esp + 8], edx
cmp edx, eax
jae 0x6c84a6
movzx edx, word [ecx + 2]
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x6c84a6
add ecx, 4
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, ecx
mov ecx, dword [esp + 8]
jl 0x6c847e
jmp 0x6c8e16
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c84ee
mov edx, dword [esp + 0x24]
cmp ecx, dword [edx]
jbe 0x6c8502
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp eax, 1
mov dword [esp + 8], ecx
jle 0x6c8e16
jmp 0x6d0c2a
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdbc2
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdbc2
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c8e16
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6c8e16
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x6c8e16
jmp 0x6d0c2a
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xc]
sub ecx, edx
sar ecx, 1
cmp eax, ecx
ja 0x6c8516
lea eax, [edx + eax*2]
mov dword [esp + 8], eax
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdbc2
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x6c8516
movzx ecx, word [edi]
mov esi, ecx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x6c85dc
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [edi + 2]
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
mov edx, 2
cmp ecx, 0xa
je 0x6c8633
cmp ecx, 0xd
jne 0x6c8603
mov esi, dword [esp + 8]
lea ecx, [esi + 2]
cmp ecx, eax
jae 0x6c8658
movzx edx, word [esi + 2]
cmp edx, 0xa
jne 0x6c863a
add esi, 4
mov dword [esp + 8], esi
jmp 0x6c863e
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x6c], 0
jne 0x6c8e16
lea esi, [ecx - 0xb]
cmp esi, 2
jb 0x6c8633
lea esi, [ecx - 0x2028]
cmp esi, 2
jb 0x6c8633
cmp ecx, 0x85
jne 0x6c8e16
mov ecx, dword [esp + 8]
lea ecx, [ecx + edx*2]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, ecx
jl 0x6c8599
jmp 0x6c8e16
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdbc2
cmp eax, 0x3000
je case.0x6cb677.0
cmp eax, 0x180e
je case.0x6cb677.0
movzx eax, byte [ecx*8 + 0x7b53d5]
cmp dword [eax*4 + 0x7b48e8], 6
jmp 0x6cd410
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6c86de
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 4
jne 0x6c8dce
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c86b7
jmp 0x6c8dce
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6c8dce
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 4
je 0x6c8dce
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c8717
jmp 0x6c8dce
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6c87a2
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 1
jne 0x6c8dce
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c877b
jmp 0x6c8dce
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6c8dce
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 1
je 0x6c8dce
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c87db
jmp 0x6c8dce
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6c8866
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 0x10
jne 0x6c8dce
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c883f
jmp 0x6c8dce
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6c8dce
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 0x10
je 0x6c8dce
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c889f
jmp 0x6c8dce
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp esi, eax
jae 0x6c89db
mov ecx, dword [esp + 0x158]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x6c8932
sub esp, 0xc
push 0
push dword [esp + 0x58]
push eax
push ecx
push esi
call fcn.006d3900
add esp, 0x20
test eax, eax
je 0x6c896f
jmp 0x6c8a09
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp esi, eax
ja 0x6c896f
movzx eax, word [esi]
mov edx, dword [esp + 0x158]
cmp ax, word [edx + 0x34]
jne 0x6c896f
cmp ecx, 1
je 0x6c8a45
movzx eax, word [esi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x6c8a59
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
lea edi, [esi + 2]
test eax, eax
je 0x6c89bd
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
jb 0x6c89bd
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne 0x6c89bd
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x6c89bd
movzx ecx, word [esi]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x6c89bd
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6d0c2a
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x28]
mov dword [esp + 8], edi
mov esi, edi
jl 0x6c88f9
jmp 0x6c8dce
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c8a1d
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x6c8a31
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov dword [esp + 8], esi
jle 0x6c8dce
jmp 0x6d0c2a
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdcf4
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdcf4
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdcf4
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdcf4
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdcf4
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
jmp 0x6c8a98
add esi, 4
mov dword [esp + 8], esi
jmp 0x6c8b09
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movzx ecx, word [ecx]
cmp ecx, 0xa
je 0x6c8b04
movzx edx, cx
cmp edx, 0xd
jne 0x6c8ace
mov esi, dword [esp + 8]
lea ecx, [esi + 2]
cmp ecx, eax
jae 0x6c8b23
movzx edx, word [esi + 2]
cmp edx, 0xa
je 0x6c8a8f
mov dword [esp + 8], ecx
jmp 0x6c8b09
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x6c], 0
jne 0x6c8dce
lea esi, [ecx - 0xb]
movzx esi, si
cmp esi, 2
jb 0x6c8b04
add ecx, 0xffffdfd8
movzx ecx, cx
cmp ecx, 2
jb 0x6c8b04
cmp edx, 0x85
jne 0x6c8dce
add dword [esp + 8], 2
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x10], edx
cmp edx, ecx
jl 0x6c8a98
jmp 0x6c8dce
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdcf4
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movsx ecx, word [ecx]
movsx edx, cx
cmp ecx, 0x1fff
jle 0x6c8b90
cmp edx, 0x202e
jg 0x6c8bc4
lea ecx, [ecx - 0x2000]
movzx ecx, cx
cmp ecx, 0xb
mov edx, dword [esp + 0x28]
jae 0x6c8c06
jmp 0x6c8dce
movzx ecx, cx
cmp edx, 0x9f
jle 0x6c8bf0
cmp ecx, 0xa0
mov edx, dword [esp + 0x28]
je 0x6c8dce
cmp ecx, 0x1680
je 0x6c8dce
cmp ecx, 0x180e
jne 0x6c8c06
jmp 0x6c8dce
movzx ecx, cx
cmp ecx, 0x202f
je 0x6c8dce
cmp ecx, 0x205f
mov edx, dword [esp + 0x28]
je 0x6c8dce
cmp ecx, 0x3000
jne 0x6c8c06
jmp 0x6c8dce
cmp ecx, 9
mov edx, dword [esp + 0x28]
je 0x6c8dce
cmp ecx, 0x20
je 0x6c8dce
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, edx
jl 0x6c8b57
jmp 0x6c8dce
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movsx ecx, word [ecx]
movsx edx, cx
cmp ecx, 0x1fff
jle 0x6c8c90
cmp edx, 0x202e
jg 0x6c8cbc
lea ecx, [ecx - 0x2000]
movzx ecx, cx
cmp ecx, 0xb
mov edx, dword [esp + 0x28]
jae 0x6c8dce
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, edx
jl 0x6c8c41
jmp 0x6c8dce
movzx ecx, cx
cmp edx, 0x9f
jle 0x6c8ce0
cmp ecx, 0xa0
mov edx, dword [esp + 0x28]
je 0x6c8c79
cmp ecx, 0x1680
je 0x6c8c79
cmp ecx, 0x180e
je 0x6c8c79
jmp 0x6c8dce
movzx ecx, cx
cmp ecx, 0x202f
mov edx, dword [esp + 0x28]
je 0x6c8c79
cmp ecx, 0x3000
je 0x6c8c79
cmp ecx, 0x205f
je 0x6c8c79
jmp 0x6c8dce
cmp ecx, 9
mov edx, dword [esp + 0x28]
je 0x6c8c79
cmp ecx, 0x20
je 0x6c8c79
jmp 0x6c8dce
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movzx ecx, word [ecx]
lea edx, [ecx - 0xa]
movzx edx, dx
cmp edx, 4
jb 0x6c8dce
lea edx, [ecx - 0x2028]
movzx edx, dx
cmp edx, 2
jb 0x6c8dce
movzx ecx, cx
cmp ecx, 0x85
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
je 0x6c8dce
add dword [esp + 8], 2
inc edx
mov dword [esp + 0x10], edx
cmp edx, ecx
jl 0x6c8d13
jmp 0x6c8dce
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8dce
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x6c8dec
movzx ecx, word [ecx]
lea edx, [ecx - 0xa]
movzx edx, dx
cmp edx, 4
jb 0x6c8db1
lea edx, [ecx - 0x2028]
movzx edx, dx
cmp edx, 2
jb 0x6c8db1
movzx ecx, cx
cmp ecx, 0x85
jne 0x6c8dce
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c8d82
jmp 0x6c8dce
lea eax, [edx + eax*2]
mov dword [esp + 8], eax
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cdcf4
mov ebp, ecx
mov dword [esp + 8], ebp
cmp dword [esp + 0x58], 0
jne 0x6c8e30
jmp 0x6cd626
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c8dce
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6c8dce
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x6c8dce
jmp 0x6d0c2a
cmp dword [esp + 0x58], 0
je 0x6cdbc2
nop word cs:[eax + eax]
mov ebp, dword [esp + 0x14]
movzx edx, word [ebp]
cmp edx, 0xa1
ja case.0x6c8e4e.98
xor eax, eax
mov dword [esp + 4], 0
jmp dword [edx*4 + 0x6d2000]
add ebp, 2
movzx eax, dx
cmp eax, 0x2e
mov eax, 0x21
mov ecx, 0x2e
cmovb ecx, eax
mov eax, edx
sub eax, ecx
mov edi, eax
and edi, 1
movsx ecx, byte [eax + 0x7b4790]
mov dword [esp + 0x10], ecx
movsx ecx, byte [eax + 0x7b479b]
mov esi, edx
mov edx, 0x3cf
bt edx, eax
mov edx, esi
mov eax, 0x7fffffff
cmovae eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], 0
jmp 0x6c91ed
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
cmp edx, 0x77
je case.0x6c8e4e.119
mov dword [esp + 0x14], ebp
jmp 0x6c8e30
add ebp, 2
movzx eax, dx
cmp eax, 0x47
mov eax, 0x48
mov ecx, 0x3b
cmova ecx, eax
mov eax, edx
sub eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esp + 0x50], ecx
movsx edi, byte [eax + 0x7b4790]
movsx ecx, byte [eax + 0x7b479b]
mov esi, edx
mov edx, 0x3cf
bt edx, eax
mov edx, esi
mov eax, 0x7fffffff
cmovae eax, ecx
mov dword [esp + 0x40], eax
jmp 0x6c8f73
add ebp, 2
lea eax, [edx - 0x55]
mov ecx, edx
not ecx
and ecx, 1
mov dword [esp + 0x4c], ecx
movsx ecx, byte [edx + 0x7b473b]
mov dword [esp + 0x10], ecx
movsx ecx, byte [edx + 0x7b4746]
mov edx, 0x3cf
bt edx, eax
mov edx, 0x7fffffff
cmovae edx, ecx
jmp 0x6c99ee
movzx eax, word [ebp + 2]
mov dword [esp + 0x40], eax
movzx eax, dx
cmp eax, 0x42
sete cl
cmp eax, 0x4f
sete al
or al, cl
movzx eax, al
mov dword [esp + 0x50], eax
add ebp, 4
xor edi, edi
mov dword [esp + 0x4c], 0
jmp 0x6c9622
movzx eax, word [ebp + 2]
add eax, eax
mov ecx, eax
neg ecx
mov dword [esp + 0xc], ebp
movzx esi, word [ebp + ecx]
cmp esi, 0x87
ja 0x6ca2a6
movzx ecx, si
cmp ecx, 0x81
je 0x6ca2a6
mov dword [esp + 4], 0
jmp 0x6ca2b7
cmp dword [esp + 0x34], 0
mov esi, dword [esp + 0x158]
mov eax, dword [esi + 0x78]
je 0x6cb69f
mov edi, dword [esp + 8]
cmp edi, eax
je 0x6cbc18
mov ebx, edx
lea eax, [edi - 2]
movzx edx, word [edi - 2]
and edx, 0xfc00
lea ecx, [edi - 4]
cmp edx, 0xdc00
cmovne ecx, eax
mov eax, dword [esp + 0x24]
cmp ecx, dword [eax]
jae 0x6c9005
mov eax, dword [esp + 0x24]
mov dword [eax], ecx
movzx eax, word [ecx]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6c9031
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ecx + 2]
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
mov edx, ebx
cmp dword [esi + 0x58], 0
je 0x6cc841
mov cl, 1
cmp eax, 0x5f
je 0x6c6dc8
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x19
add ecx, eax
mov edx, ecx
and edx, 0x7fffff80
sar ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
sub eax, edx
mov edx, ebx
add eax, ecx
movzx eax, word [eax + eax + 0x7b8c54]
movzx eax, byte [eax*8 + 0x7b53d5]
mov eax, dword [eax*4 + 0x7b48e8]
or eax, 2
cmp eax, 3
sete cl
jmp 0x6c6dc8
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
cmp ebx, dword [eax]
jae 0x6cee38
mov dword [esp + 0x28], edx
lea ecx, [ebx + 2]
movzx eax, word [ebx]
cmp dword [esp + 0x34], 0
je 0x6cb63b
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6cb63b
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebx + 2]
add ebx, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6cb63d
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
cmp ebx, dword [eax]
jae 0x6cee76
cmp dword [esp + 0x34], 0
je 0x6cb716
movzx eax, word [ebp + 2]
mov ecx, eax
and ecx, 0xfc00
mov esi, edx
cmp ecx, 0xd800
jne 0x6cb7ad
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebp + 4]
add ebp, 6
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6cb7b0
movzx eax, word [ebp + 2]
add ebp, 4
mov dword [esp + 0x50], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], eax
xor edi, edi
jmp 0x6c91ed
add ebp, 2
mov dword [esp + 0x50], 1
mov dword [esp + 0x40], 0x7fffffff
mov dword [esp + 0x10], 0
xor edi, edi
jmp 0x6c91ed
add ebp, 2
xor edi, edi
mov dword [esp + 0x40], 0x7fffffff
mov dword [esp + 0x10], 1
mov dword [esp + 0x50], 1
jmp 0x6c91ed
add ebp, 2
mov dword [esp + 0x40], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x50], 1
xor edi, edi
jmp 0x6c91ed
mov eax, 1
mov dword [esp + 0x50], eax
movzx eax, word [ebp + 2]
mov dword [esp + 0x40], eax
movzx eax, dx
cmp eax, 0x28
sete cl
cmp eax, 0x35
sete al
or al, cl
movzx edi, al
add ebp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebp
movzx ebx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, dword [esp + 0x158]
mov ebp, dword [esp + 8]
je 0x6c928e
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6c928e
movzx eax, dx
xor edx, edx
cmp eax, 0x2e
jb 0x6c9454
shl ebx, 0xa
and ebx, 0xffc00
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 2]
and eax, 0x3ff
lea eax, [ebx + eax + 0x10000]
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
mov edx, eax
and edx, 0x7f
or edx, ecx
movzx ecx, word [edx + edx + 0x7b8c54]
mov ecx, dword [ecx*8 + 0x7b53d8]
test ecx, ecx
je 0x6c9452
add ecx, eax
sub esp, 8
lea eax, [esp + 0xc0]
push eax
push ecx
call fcn.006d3a80
add esp, 0x10
mov edx, eax
jmp 0x6c9454
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0x14], eax
movzx eax, dx
cmp eax, 0x2e
jb 0x6c92f7
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x34], 0
je 0x6c938c
movzx eax, bx
cmp eax, 0x80
jb 0x6c938c
mov eax, ebx
shr eax, 7
movzx eax, byte [eax + 0x7b6a54]
shl eax, 7
mov ecx, ebx
and ecx, 0x7f
or ecx, eax
movzx eax, word [ecx + ecx + 0x7b8c54]
mov edi, dword [eax*8 + 0x7b53d8]
add edi, ebx
cmp dword [esp + 0x10], 0
jg 0x6c93a8
mov edx, ebp
jmp 0x6c93e6
cmp dword [esp + 0x10], 0
jle 0x6c932c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
nop word cs:[eax + eax]
cmp ebp, eax
jae 0x6cde83
cmp bx, word [ebp]
jne 0x6d175d
add ebp, 2
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c9310
mov ecx, edi
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov edi, ebp
mov dword [esp + 8], ebp
je 0x6c8e30
test ecx, ecx
jne 0x6cef01
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov ecx, edi
mov edx, ecx
jge 0x6cc73f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, ecx
cmp edx, eax
jae 0x6cc71a
cmp bx, word [edx]
jne 0x6cc73f
add edx, 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x40]
jl 0x6c9364
jmp 0x6cc73f
cmp ebx, 0xff
mov edi, ebx
ja 0x6c939d
mov eax, dword [ecx + 0x40]
movzx edi, byte [eax + ebx]
cmp dword [esp + 0x10], 0
jle 0x6c92f0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, ebp
nop word cs:[eax + eax]
cmp edx, eax
jae 0x6cdebd
mov esi, edx
movzx edx, word [edx]
cmp bx, dx
je 0x6c93da
cmp edi, edx
jne 0x6d175d
mov edx, esi
add edx, 2
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c93c0
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
je 0x6c8e30
cmp dword [esp + 0x4c], 0
jne 0x6cef8f
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov edx, dword [esp + 0xc]
jge 0x6cc778
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, dword [esp + 0xc]
cmp edx, eax
jae 0x6cc753
movzx ecx, word [edx]
cmp bx, cx
je 0x6c943b
cmp edi, ecx
jne 0x6cc778
add edx, 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x40]
jl 0x6c9423
jmp 0x6cc778
xor edx, edx
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x28], edx
jle 0x6c94e0
mov eax, dword [esp + 0x18]
mov edi, dword [eax]
lea esi, [edi - 4]
lea eax, [edx + edx]
mov dword [esp + 0x14], edi
mov dword [esp + 4], eax
sub edi, eax
mov ebx, ebp
xor ebp, ebp
jmp 0x6c9490
mov eax, 2
jmp 0x6c94d4
cmp ebx, esi
ja 0x6c949e
mov eax, dword [ebx]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx]
je 0x6c947f
test edx, edx
jle 0x6cddcb
cmp ebx, edi
ja 0x6cddcb
sub esp, 4
lea eax, [esp + 0xbc]
push dword [esp + 8]
push eax
push ebx
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x38]
add esp, 0x10
test eax, eax
mov eax, edx
jne 0x6cddcb
lea ebx, [ebx + eax*2]
inc ebp
cmp ebp, dword [esp + 0x10]
jl 0x6c9490
jmp 0x6c94e2
mov ebx, ebp
mov ebp, dword [esp + 0xc]
lea eax, [ebp + 4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov dword [esp + 8], ebx
je 0x6c8e30
cmp dword [esp + 0x4c], 0
jne 0x6ce7e4
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov edi, ebx
jge 0x6cc82d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea ebp, [eax - 4]
lea ecx, [edx + edx]
mov dword [esp + 0x4c], eax
mov dword [esp + 8], ecx
sub eax, ecx
mov dword [esp + 4], eax
mov edi, ebx
jmp 0x6c9541
mov eax, 2
mov edi, esi
jmp 0x6c958b
mov esi, edi
cmp edi, ebp
ja 0x6c9551
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx]
je 0x6c9538
test edx, edx
mov edi, esi
jle 0x6ca6ca
cmp edi, dword [esp + 4]
ja 0x6ca6ca
sub esp, 4
lea eax, [esp + 0xbc]
push dword [esp + 0xc]
push eax
push edi
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x38]
add esp, 0x10
test eax, eax
mov eax, edx
jne 0x6ca6ca
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x40]
jl 0x6c9541
jmp 0x6cc82d
movzx edi, word [ebp + 2]
add ebp, 4
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], edi
jmp 0x6c961a
add ebp, 2
mov dword [esp + 0x4c], 1
mov dword [esp + 0x40], 0x7fffffff
jmp 0x6c9618
add ebp, 2
mov dword [esp + 0x50], 0
mov dword [esp + 0x40], 0x7fffffff
mov edi, 1
mov dword [esp + 0x4c], 1
jmp 0x6c9622
add ebp, 2
mov dword [esp + 0x40], 1
xor edi, edi
mov dword [esp + 0x4c], 1
jmp 0x6c961a
movzx eax, word [ebp + 2]
mov dword [esp + 0x40], eax
add ebp, 4
mov dword [esp + 0x4c], 1
xor edi, edi
mov dword [esp + 0x50], 0
lea ecx, [ebp + 2]
movzx ebx, word [ebp]
cmp dword [esp + 0x34], 0
mov esi, dword [esp + 8]
je 0x6c9660
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x6c9660
shl ebx, 0xa
and ebx, 0xffc00
movzx eax, word [ebp + 2]
add ebp, 4
and eax, 0x3ff
lea ebx, [ebx + eax + 0x10000]
mov ecx, ebp
mov dword [esp + 0x14], ecx
movzx eax, dx
cmp eax, 0x48
mov dword [esp + 0x28], ebx
jb 0x6c96c2
cmp dword [esp + 0x34], 0
je 0x6c9737
cmp ebx, 0x80
jb 0x6c9737
mov eax, ebx
sar eax, 0x1f
shr eax, 0x19
add eax, ebx
mov ecx, eax
and ecx, 0x7fffff80
sar eax, 7
movzx eax, byte [eax + 0x7b6a54]
shl eax, 7
mov edx, ebx
sub edx, ecx
add edx, eax
movzx eax, word [edx + edx + 0x7b8c54]
mov eax, dword [eax*8 + 0x7b53d8]
add eax, ebx
jmp 0x6c9751
cmp dword [esp + 0x34], 0
je 0x6c97e6
test edi, edi
jle 0x6c9879
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor edx, edx
mov ebp, esi
nop
cmp ebp, eax
jae 0x6cde0f
movzx ecx, word [ebp]
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6c9722
shl ecx, 0xa
and ecx, 0xffc00
movzx esi, word [ebp + 2]
add ebp, 4
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
cmp ebx, ecx
jne 0x6c972d
jmp 0x6d175d
add ebp, 2
cmp ebx, ecx
je 0x6d175d
inc edx
cmp edx, edi
jl 0x6c96e0
jmp 0x6c987b
cmp ebx, 0xff
mov dword [esp + 0x10], ebx
ja 0x6c9755
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0x40]
movzx eax, byte [eax + ebx]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x34], 0
je 0x6c981e
test edi, edi
jle 0x6c9917
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
xor eax, eax
mov ebp, dword [esp + 8]
nop word cs:[eax + eax]
cmp ebp, edx
jae 0x6cde49
movzx ecx, word [ebp]
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6c97bb
shl ecx, 0xa
and ecx, 0xffc00
movzx esi, word [ebp + 2]
add ebp, 4
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
jmp 0x6c97be
add ebp, 2
mov ebx, dword [esp + 0x28]
cmp ebx, ecx
je 0x6d1888
cmp dword [esp + 0x10], ecx
mov dword [esp + 4], 0
je case.0x6d0814.6
inc eax
cmp eax, edi
jl 0x6c9780
jmp 0x6c991b
test edi, edi
jle 0x6c9879
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov ebp, esi
nop dword [eax + eax]
cmp ebp, eax
jae 0x6cdf04
movzx edx, word [ebp]
cmp ebx, edx
je 0x6d175d
add ebp, 2
inc ecx
cmp ecx, edi
jl 0x6c9800
jmp 0x6c987b
test edi, edi
jle 0x6c9917
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov ebp, dword [esp + 8]
nop word cs:[eax + eax]
cmp ebp, eax
jae 0x6cdf3e
mov ebx, ebp
movzx edx, word [ebp]
cmp dword [esp + 0x28], edx
je 0x6d1888
cmp dword [esp + 0x10], edx
mov dword [esp + 4], 0
je case.0x6d0814.6
mov ebp, ebx
add ebp, 2
inc ecx
cmp ecx, edi
jl 0x6c9840
jmp 0x6c991b
mov ebp, esi
cmp edi, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebp
je 0x6c8e30
cmp dword [esp + 0x50], 0
jne 0x6ceaad
cmp dword [esp + 0x34], 0
je 0x6ca640
cmp edi, dword [esp + 0x40]
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 0x28]
jge 0x6cc35a
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esp + 0xc]
cmp ebp, eax
jae 0x6cc335
movzx ecx, word [ebp]
mov esi, ecx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x6c98ff
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebp + 2]
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
mov edx, 2
cmp ebx, ecx
je 0x6cc35a
lea ebp, [ebp + edx*2]
inc edi
cmp edi, dword [esp + 0x40]
jl 0x6c98bf
jmp 0x6cc35a
mov ebp, dword [esp + 8]
cmp edi, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebp
je 0x6c8e30
cmp dword [esp + 0x50], 0
jne 0x6cec02
cmp dword [esp + 0x34], 0
je 0x6ca67e
cmp edi, dword [esp + 0x40]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x28]
jge 0x6c6ee3
mov eax, dword [esp + 0x18]
mov ebp, dword [eax]
mov eax, dword [esp + 0xc]
cmp eax, ebp
jae 0x6cc36e
movzx ecx, word [eax]
mov esi, ecx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x6c99a9
shl ecx, 0xa
and ecx, 0xffc00
mov esi, eax
movzx edx, word [eax + 2]
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
mov edx, 2
cmp ebx, ecx
jne 0x6c99b3
jmp 0x6cc3a4
mov esi, eax
cmp ebx, ecx
je 0x6cc3a4
cmp dword [esp + 0x10], ecx
je 0x6cc3a4
mov eax, esi
lea eax, [eax + edx*2]
inc edi
cmp edi, dword [esp + 0x40]
jl 0x6c995f
jmp 0x6c6ee3
mov eax, edx
movzx edx, word [ebp + 2]
movzx eax, ax
xor ecx, ecx
cmp eax, 0x5c
sete cl
mov dword [esp + 0x4c], ecx
add ebp, 4
mov dword [esp + 0x10], 0
xor edi, edi
movzx ebx, word [ebp]
mov eax, ebx
add eax, 0xfffffff1
movzx eax, ax
cmp eax, 1
mov esi, dword [esp + 8]
ja 0x6c9a25
movzx eax, bx
xor ecx, ecx
cmp eax, 0xf
sete cl
mov dword [esp + 0x44], ecx
movzx ecx, word [ebp + 2]
movzx eax, word [ebp + 4]
mov dword [esp + 0x54], eax
add ebp, 6
jmp 0x6c9a2d
add ebp, 2
mov ecx, 0xffffffff
mov dword [esp + 0x14], ebp
cmp dword [esp + 0x10], 0
mov dword [esp + 0x28], edx
mov dword [esp + 0x58], edi
mov dword [esp + 0x40], ebx
mov dword [esp + 0x50], ecx
jle 0x6c9b8b
test ecx, ecx
js 0x6c9d09
cmp ecx, 0xa
ja case.default.0x6cb677
jmp dword [ecx*4 + 0x6d2308]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6ce035
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6c9ada
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x6c9ada
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
cmp edx, 0x180d
jg 0x6c9ae4
cmp edx, 0x84
jg 0x6c9b12
lea esi, [edx - 9]
cmp esi, 0x17
ja case.0x6c9aef.8203
mov ebx, 0x80001f
bt ebx, esi
jb case.0x6c9aef.8192
jmp case.0x6c9aef.8203
mov edi, esi
cmp edx, 0x180d
jle 0x6c9abe
lea esi, [edx - 0x2000]
cmp esi, 0x5f
ja case.default.0x6c9aef
jmp dword [esi*4 + 0x6d2334]
cmp dword [esp + 0x44], 0
jne 0x6d175d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6c9a70
jmp 0x6c9b8f
cmp edx, 0x85
je case.0x6c9aef.8192
cmp edx, 0xa0
je case.0x6c9aef.8192
cmp edx, 0x1680
je case.0x6c9aef.8192
jmp case.0x6c9aef.8203
cmp edx, 0x3000
je case.0x6c9aef.8192
cmp edx, 0x180e
je case.0x6c9aef.8192
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov ebx, esi
and ebx, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x7b8c54]
movzx edx, byte [edx*8 + 0x7b53d5]
xor ebx, ebx
cmp dword [edx*4 + 0x7b48e8], 6
sete bl
cmp dword [esp + 0x44], ebx
jne 0x6c9b01
jmp 0x6d175d
mov dword [esp + 0xc], esi
mov edx, dword [esp + 0x28]
mov eax, edx
sub eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
je 0x6c8e30
cmp dword [esp + 0x4c], 0
jne 0x6ce8e3
mov ecx, dword [esp + 0x50]
test ecx, ecx
mov edi, dword [esp + 0x40]
js 0x6ca49f
cmp ecx, 0xa
mov edx, dword [esp + 0xc]
ja case.default.0x6d0814
jmp dword [ecx*4 + 0x6d2760]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x6c8ddc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x6c7271
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x6c9c35
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6c9c35
shl edx, 0xa
and edx, 0xffc00
movzx ecx, word [ebp + 2]
and ecx, 0x3ff
lea edx, [edx + ecx + 0x10000]
mov ecx, 2
cmp edx, 0x180d
jle 0x6c9c4f
lea esi, [edx - 0x2000]
cmp esi, 0x5f
ja case.default.0x6c9c48
jmp dword [esi*4 + 0x6d278c]
cmp edx, 0x84
jg 0x6c9c90
lea esi, [edx - 9]
cmp esi, 0x17
ja case.0x6c9c48.8203
mov edi, 0x80001f
bt edi, esi
jae case.0x6c9c48.8203
cmp dword [esp + 0x44], 0
jne 0x6c8ddc
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6c9bee
jmp 0x6c8ddc
cmp edx, 0x85
je case.0x6c9c48.8192
cmp edx, 0xa0
je case.0x6c9c48.8192
cmp edx, 0x1680
je case.0x6c9c48.8192
jmp case.0x6c9c48.8203
cmp edx, 0x3000
je case.0x6c9c48.8192
cmp edx, 0x180e
je case.0x6c9c48.8192
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov edi, esi
and edi, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x7b8c54]
movzx edx, byte [edx*8 + 0x7b53d5]
xor ebx, ebx
cmp dword [edx*4 + 0x7b48e8], 6
sete bl
cmp dword [esp + 0x44], ebx
jne 0x6c9c74
jmp 0x6c8ddc
movzx eax, bx
cmp eax, 0x16
jne 0x6ca3c0
mov eax, 1
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov edi, dword [esp + 0xc]
cmp edi, edx
jae 0x6cdfce
lea esi, [edi + 2]
movzx ecx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6c9d6c
mov ebx, ecx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x6c9d6c
shl ecx, 0xa
and ecx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
jmp 0x6c9d6e
mov edi, esi
mov dword [esp + 4], eax
cmp edi, edx
jae 0x6c9e60
mov esi, ecx
sar esi, 0x1f
shr esi, 0x19
add esi, ecx
mov ebx, esi
and ebx, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub ecx, ebx
add ecx, esi
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx esi, byte [ecx*8 + 0x7b53d6]
nop dword [eax]
movzx ecx, word [edi]
cmp dword [esp + 0x34], 0
mov ebx, 1
je 0x6c9e00
mov ebp, ecx
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x6c9e00
shl ecx, 0xa
and ecx, 0xffc00
mov eax, edi
movzx ebx, word [edi + 2]
and ebx, 0x3ff
lea ecx, [ecx + ebx + 0x10000]
mov ebx, 2
jmp 0x6c9e02
mov eax, edi
mov ebp, ecx
sar ebp, 0x1f
shr ebp, 0x19
add ebp, ecx
mov edi, ebp
and edi, 0x7fffff80
sar ebp, 7
movzx ebp, byte [ebp + 0x7b6a54]
shl ebp, 7
sub ecx, edi
add ecx, ebp
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx ecx, byte [ecx*8 + 0x7b53d6]
mov ebp, 1
shl ebp, cl
and ebp, dword [esi*4 + 0x7b4960]
je 0x6c9e50
mov edi, eax
lea edi, [edi + ebx*2]
cmp edi, edx
jb 0x6c9e56
jmp 0x6c9e60
mov edi, eax
cmp edi, edx
jae 0x6c9e60
test ebp, ebp
mov esi, ecx
jne 0x6c9db0
cmp edi, edx
jb 0x6c9e89
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x6c9e89
mov edx, dword [esp + 0x24]
cmp edi, dword [edx]
jbe 0x6c9e89
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
jg 0x6ce4c8
mov dword [esp + 0xc], edi
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x10]
lea eax, [eax + 1]
jl 0x6c9d1e
jmp 0x6c9b8f
mov dword [esp + 0x28], edx
movzx edx, word [ebp + 0x22]
lea esi, [edx - 0x62]
movzx eax, si
cmp eax, 0xb
ja 0x6c6ad6
mov eax, 0x73f
bt eax, esi
jae 0x6c6b74
cmp esi, 7
seta al
mov dword [esp + 0xc], eax
mov eax, edx
and eax, 1
xor ecx, ecx
cmp esi, 8
cmovb ecx, eax
mov dword [esp + 4], ecx
mov eax, 0x3cf
bt eax, esi
movsx eax, byte [edx + 0x7b4739]
mov ecx, 0x7fffffff
cmovae ecx, eax
mov dword [esp + 0x10], ecx
lea eax, [ebp + 0x24]
mov dword [esp + 0x14], eax
movsx ebx, byte [edx + 0x7b472e]
cmp dword [esp + 0x34], 0
jne 0x6c6b05
jmp 0x6c6bb2
movzx eax, dx
xor ecx, ecx
cmp eax, 0x72
sete cl
mov dword [esp + 0xc], ecx
movzx ebx, word [ebp + 2]
add ebx, ebx
add ebp, 4
cmp ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x158]
jge 0x6ca631
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + ebx*4]
test eax, eax
js 0x6ca631
mov edx, ebx
or edx, 1
mov ecx, dword [ecx + edx*4]
sub ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x6cc231
movzx eax, dx
xor ecx, ecx
cmp eax, 0x74
sete cl
mov dword [esp + 0xc], ecx
movzx ecx, word [ebp + 4]
lea eax, [ebp + 6]
mov edi, dword [esp + 0x158]
cmp dword [edi + 0x54], 1
sbb edx, edx
mov dword [esp + 0x10], edx
test ecx, ecx
je 0x6cb70d
mov edx, dword [edi + 0x24]
movzx esi, word [ebp + 2]
imul esi, edx
add esi, esi
add esi, dword [edi + 0x30]
inc ecx
add edx, edx
movzx ebx, word [esi]
add ebx, ebx
cmp ebx, dword [esp + 0x2c]
jge 0x6c9fc8
mov edi, dword [esp + 0x158]
mov ebp, dword [edi + 0xc]
mov edi, dword [ebp + ebx*4]
test edi, edi
jns 0x6cc219
dec ecx
add esi, edx
cmp ecx, 1
jg 0x6c9fa7
jmp 0x6cc228
mov eax, ebp
mov ebp, dword [esp + 0x158]
mov ebx, dword [ebp + 0xb0]
xor esi, esi
cmp dword [ebp + 0x9c], 1
jne 0x6c9ffe
mov dword [ebp + 0x9c], 0
mov esi, 1
mov ecx, eax
mov eax, ecx
mov edi, eax
lea edx, [eax + 4]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push 0
push ebp
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp eax, 1
je 0x6cb958
cmp eax, 0xfffffc19
je 0x6cb958
mov dword [ebp + 0xb0], ebx
cmp eax, 0xfffffc20
je 0x6ca059
test eax, eax
jne 0x6cddc2
mov ax, word [edi + 2]
jmp 0x6ca082
mov edx, edi
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x6d02eb
movzx edx, word [edx]
cmp edx, 0x77
je 0x6ca082
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x6d02eb
movzx eax, ax
lea ecx, [edi + eax*2]
movzx eax, word [edi + eax*2]
cmp eax, 0x77
je 0x6ca000
jmp 0x6cb967
mov eax, ebp
mov ebp, dword [esp + 0x158]
mov ebx, dword [ebp + 0xb0]
xor esi, esi
cmp dword [ebp + 0x9c], 1
jne 0x6ca0c3
mov dword [ebp + 0x9c], 0
mov esi, 1
mov edi, eax
lea edx, [eax + 4]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push 0
push ebp
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [ebp + 0xb0], ebx
test eax, eax
jns 0x6ca121
cmp eax, 0xfffffc20
jne 0x6cb85f
mov edx, edi
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x6cb870
movzx edx, word [edx]
cmp edx, 0x77
jne 0x6ca12f
mov edx, edi
jmp 0x6ca13d
jne 0x6ce589
mov edx, edi
mov ax, word [edx + 2]
jmp 0x6ca13d
movzx ecx, word [ecx]
cmp ecx, 0x77
mov edx, edi
jne 0x6cb870
movzx eax, ax
lea ecx, [edx + eax*2]
movzx eax, word [edx + eax*2]
cmp eax, 0x77
mov eax, ecx
je 0x6ca0c3
jmp 0x6cb882
movzx ebx, word [ebp + 2]
lea edi, [ebp + 4]
mov ecx, ebp
movzx ebp, word [ebp + 4]
cmp ebp, 0x76
mov dword [esp + 0x28], edx
jne 0x6ca263
mov eax, dword [0x7b30f4]
test eax, eax
je 0x6ca253
mov dword [esp + 4], ebx
mov dword [esp + 0x74], 2
mov ebx, ecx
movzx ecx, word [ebx + 6]
mov dword [esp + 0x78], ecx
mov esi, dword [esp + 0x158]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esi + 0x78]
mov dword [esp + 0x80], ecx
mov edx, dword [esi + 0x7c]
sub edx, ecx
sar edx, 1
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x30]
sub edx, ecx
sar edx, 1
mov dword [esp + 0x88], edx
mov edx, dword [esp + 8]
sub edx, ecx
sar edx, 1
mov dword [esp + 0x8c], edx
movzx ecx, word [ebx + 8]
mov dword [esp + 0x9c], ecx
movzx ecx, word [ebx + 0xa]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x2c]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
mov dword [esp + 0x90], ecx
movzx ecx, word [esi + 0x94]
cmp ecx, 1
sbb edx, edx
or edx, ecx
mov dword [esp + 0x94], edx
mov ecx, dword [esi + 0xac]
mov dword [esp + 0x98], ecx
mov ecx, dword [esi + 0xb4]
mov dword [esp + 0xa4], ecx
sub esp, 0xc
lea ecx, [esp + 0x80]
push ecx
call eax
add esp, 0x10
test eax, eax
jg 0x6ce5a6
mov ebx, dword [esp + 4]
jne 0x6cddc2
movzx eax, byte [0x7b484a]
mov bp, word [edi + eax*2]
lea edi, [edi + eax*2]
sub ebx, eax
mov dword [esp + 4], ebx
lea eax, [ebp - 0x8d]
movzx eax, ax
cmp eax, 0x10
ja case.0x6ca279.5
jmp dword [eax*4 + 0x6d2ab8]
movzx eax, word [edi + 2]
add eax, eax
cmp eax, dword [esp + 0x2c]
jge 0x6c6e76
mov ecx, dword [esp + 0x158]
mov ecx, dword [ecx + 0xc]
cmp dword [ecx + eax*4], 0
setns al
jmp 0x6c6e78
mov ecx, dword [esp + 0x38]
mov edi, dword [ecx + 4]
mov dword [esp + 4], edi
mov ecx, dword [ecx]
mov dword [esp + 0x38], ecx
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
lea ecx, [esi - 0x7d]
movzx ecx, cx
cmp ecx, 4
jb 0x6ce0fe
mov ebx, dword [esp + 0xc]
sub ebx, eax
lea eax, [esi - 0x82]
movzx ecx, ax
cmp ecx, 9
ja 0x6ca45e
mov ecx, 0x318
bt ecx, eax
jae 0x6cb9e8
mov dword [esp + 0x14], ebx
movzx ebx, word [ebx + 4]
mov eax, dword [ebp + 0xa8]
test eax, eax
je 0x6ca312
cmp dword [eax + 4], ebx
je 0x6ceef2
mov ecx, ebp
lea ebp, [ebx + ebx]
mov eax, 0xffff0000
and eax, dword [ecx + 0x94]
or eax, ebx
mov dword [ecx + 0x94], eax
cmp ebp, dword [ecx + 0x14]
jge 0x6ca449
mov dword [esp + 0x28], edx
mov edi, dword [esp + 0x2c]
cmp ebp, edi
jle 0x6ca383
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0xc]
lea ecx, [eax + ebp*4]
lea edx, [eax + edi*4]
mov dword [esp + 0x10], edx
lea edx, [eax + edi*4 + 4]
cmp edx, ecx
cmova ecx, edx
neg eax
lea edx, [edi*4]
sub eax, edx
lea eax, [ecx + eax + 3]
and eax, 0xfffffffc
sub esp, 4
push eax
push 0xff
push dword [esp + 0x1c]
call sub.msvcrt.dll_memset
add esp, 0x10
mov eax, dword [esp + 0x158]
mov edx, eax
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
sub ecx, ebx
mov ecx, dword [eax + ecx*4]
mov dword [eax + ebp*4], ecx
mov ecx, dword [esp + 8]
sub ecx, dword [edx + 0x78]
mov ebx, edx
sar ecx, 1
mov edx, ebp
or edx, 1
mov dword [eax + edx*4], ecx
cmp edi, ebp
lea eax, [ebp + 2]
mov ebp, ebx
cmovle edi, eax
mov edx, dword [esp + 0x28]
jmp 0x6ca45a
cmp dword [esp + 0x34], 0
je 0x6cb8f0
lea eax, [ebx - 6]
movzx eax, ax
cmp eax, 0xf
ja case.default.0x6d0814
mov dword [esp + 4], 0xfffffff2
jmp dword [eax*4 + 0x6d2288]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6cf6e3
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6ca421
add edi, 4
mov dword [esp + 0xc], edi
jmp 0x6ca43d
add edi, 2
cmp edx, 0x7f
mov dword [esp + 0xc], edi
ja 0x6ca43d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
jne 0x6d175d
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6ca3f9
jmp 0x6c9b8f
or eax, 0x10000
mov dword [ecx + 0x94], eax
mov ebp, ecx
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
movzx eax, dx
cmp eax, 0x78
mov dword [esp + 0x2c], edi
je 0x6ca481
cmp eax, 0x7b
je 0x6ced84
mov ecx, dword [esp + 4]
cmp dword [esp + 8], ecx
jne 0x6cd83c
movzx eax, si
mov edx, dword [esp + 0xc]
add edx, 4
cmp eax, 0x81
mov dword [esp + 0x14], edx
jne 0x6c8e30
jmp 0x6cedab
movzx ebp, di
cmp ebp, 0x16
mov ecx, dword [esp + 0xc]
jne 0x6cb757
mov eax, dword [esp + 0x10]
cmp edx, eax
mov edx, eax
mov ebp, ecx
jle 0x6c6a94
mov ebp, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp ebp, eax
jae 0x6c6a6f
mov dword [esp + 0x10], edx
lea edx, [ebp + 2]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
je 0x6ca517
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6ca517
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebp + 2]
add ebp, 4
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
cmp ebp, eax
jb 0x6ca521
jmp 0x6ca5f4
mov ebp, edx
cmp ebp, eax
jae 0x6ca5f4
mov edx, ecx
sar edx, 0x1f
shr edx, 0x19
add edx, ecx
mov esi, edx
and esi, 0x7fffff80
sar edx, 7
movzx edx, byte [edx + 0x7b6a54]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx edx, byte [ecx*8 + 0x7b53d6]
nop word cs:[eax + eax]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x6ca59f
mov edi, ecx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x6ca59f
shl ecx, 0xa
and ecx, 0xffc00
movzx esi, word [ebp + 2]
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
mov esi, 2
mov edi, ecx
sar edi, 0x1f
shr edi, 0x19
add edi, ecx
mov ebx, edi
and ebx, 0x7fffff80
sar edi, 7
movzx edi, byte [edi + 0x7b6a54]
shl edi, 7
sub ecx, ebx
add ecx, edi
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx ecx, byte [ecx*8 + 0x7b53d6]
mov ebx, 1
shl ebx, cl
and ebx, dword [edx*4 + 0x7b4960]
je 0x6ca5e6
lea ebp, [ebp + esi*2]
cmp ebp, eax
jae 0x6ca5f4
test ebx, ebx
mov edx, ecx
jne 0x6ca560
cmp ebp, eax
jb 0x6ca61d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ca61d
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6ca61d
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6d0c2a
mov edx, dword [esp + 0x10]
inc edx
cmp edx, dword [esp + 0x28]
jl 0x6ca4c1
jmp 0x6c6a94
cmp dword [edi + 0x54], 1
sbb eax, eax
mov dword [esp + 0x10], eax
jmp 0x6cc231
cmp edi, dword [esp + 0x40]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x28]
jge 0x6ccb05
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, dword [esp + 0xc]
cmp edx, eax
jae 0x6ccae0
movzx ecx, word [edx]
cmp esi, ecx
je 0x6ccb05
add edx, 2
inc edi
cmp edi, dword [esp + 0x40]
jl 0x6ca65c
jmp 0x6ccb05
cmp edi, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x28]
jge 0x6c725d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jae 0x6ccb19
mov edx, ecx
movzx ecx, word [ecx]
cmp esi, ecx
je 0x6c725b
cmp dword [esp + 0x10], ecx
je 0x6c725b
mov ecx, edx
add ecx, 2
inc edi
cmp edi, dword [esp + 0x40]
jl 0x6ca69a
jmp 0x6c725d
cmp edi, dword [esp + 0x4c]
jb 0x6cc82d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6cc82d
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6cc82b
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov edi, esi
jle 0x6cc82d
jmp 0x6ce4c8
mov eax, dword [esp + 0x158]
mov ecx, eax
mov eax, dword [ecx + 0x98]
add eax, eax
add eax, dword [ecx + 0x78]
cmp dword [esp + 8], eax
je 0x6c6a14
jmp 0x6ce5a6
add ebp, 2
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ebp
jmp 0x6c8e30
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x6cf326
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x6ca76d
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
je 0x6ca8d3
add edx, 2
cmp eax, 0xff
mov dword [esp + 8], edx
ja 0x6c6a14
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
je 0x6c6a14
jmp 0x6d175d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x6cf364
cmp dword [esp + 0x34], 0
setne cl
movzx eax, word [edx]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
sete dl
cmp eax, 0xff
ja 0x6d1888
and cl, dl
mov dword [esp + 4], 0
jne case.0x6d0814.6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
jne 0x6ca936
jmp 0x6d175d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x6cf3a2
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x6ca81e
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
je 0x6ca8d3
add edx, 2
cmp eax, 0xff
mov dword [esp + 8], edx
ja 0x6c6a14
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
je 0x6c6a14
jmp 0x6d175d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x6cf3e0
cmp dword [esp + 0x34], 0
setne cl
movzx eax, word [edx]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
sete dl
cmp eax, 0xff
ja 0x6d1888
and cl, dl
mov dword [esp + 4], 0
jne case.0x6d0814.6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
jne 0x6ca936
jmp 0x6d175d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x6cf41e
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x6cb9f6
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x6cb9f6
add edx, 4
mov dword [esp + 8], edx
jmp 0x6c6a14
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x6cf45c
cmp dword [esp + 0x34], 0
setne cl
movzx eax, word [edx]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
sete dl
cmp eax, 0xff
ja 0x6d1888
and cl, dl
mov dword [esp + 4], 0
jne case.0x6d0814.6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je 0x6d175d
add dword [esp + 8], 2
jmp 0x6c6a14
mov esi, dword [esp + 0x158]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x7c]
test ecx, ecx
je 0x6cc423
mov edx, dword [esp + 8]
cmp edx, eax
jae 0x6cc456
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edx
call fcn.006d3900
add esp, 0x20
test eax, eax
je 0x6cc456
jmp 0x6d175d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 8]
cmp ecx, dword [eax]
jae 0x6cf49a
add ecx, 2
mov dword [esp + 8], ecx
jmp 0x6c6a14
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edi, dword [esp + 8]
cmp edi, ecx
jae 0x6cf4d8
lea eax, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cca4b
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
mov ebx, dword [esp + 0x158]
jne 0x6cca52
shl edx, 0xa
and edx, 0xffc00
movzx eax, word [edi + 2]
add edi, 4
and eax, 0x3ff
lea edx, [edx + eax + 0x10000]
mov eax, edi
cmp edx, 0xc
jg 0x6cca5b
lea ecx, [edx - 0xb]
cmp ecx, 2
jb 0x6cca95
jmp 0x6c6da5
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x6cf516
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cba1d
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6cba1d
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6cba1f
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x6cf554
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cba54
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6cba54
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6cba56
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x6cf592
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cba8b
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6cba8b
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6cba8d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 8]
cmp esi, dword [eax]
jae 0x6cf5d0
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x6cbab6
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6cbab6
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6cbab8
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esp + 8]
cmp ebp, eax
jae 0x6cf60e
lea edx, [ebp + 2]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
je 0x6cbadf
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6cbadf
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebp + 2]
add ebp, 4
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
cmp ebp, eax
jb 0x6cbae9
jmp 0x6cbbb0
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x4c], 0
jne 0x6ce5a6
cmp dword [eax + 0x5c], 0
je case.0x6c8e4e.23
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jb 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c6a14
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
ja 0x6c6f2b
jmp 0x6c6a14
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebx, dword [esp + 8]
cmp ebx, eax
mov edi, dword [esp + 0x158]
jae 0x6c6f11
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x6cca16
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push ebx
call fcn.006d3900
add esp, 0x20
test eax, eax
je 0x6cf02e
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
jmp 0x6c6f05
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x6cb9a8
mov esi, dword [esp + 0x158]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6cd314
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edi
call fcn.006d3900
add esp, 0x20
test eax, eax
jne 0x6c6a14
jmp 0x6cf795
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x48], 0
je case.0x6c8e4e.1
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 8]
cmp ecx, dword [eax + 0x78]
je 0x6ce5a6
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 8]
cmp ecx, dword [eax + 0x78]
je 0x6c6a14
jmp 0x6ce5a6
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x48], 0
mov eax, dword [esi + 0x78]
mov edi, dword [esp + 8]
je 0x6cad0a
cmp edi, eax
je 0x6ce5a6
cmp edi, eax
je 0x6c6a14
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
je 0x6ce5a6
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6ccbf1
cmp edi, eax
jbe 0x6ce5a6
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edi
call fcn.006d39b0
add esp, 0x20
test eax, eax
jne 0x6c6a14
jmp 0x6ce5a6
cmp dword [esp + 0x34], 0
je 0x6cc4ef
movzx ecx, word [ebp + 2]
mov edx, ecx
and edx, 0xfc00
xor eax, eax
cmp edx, 0xd800
sete al
inc eax
mov edx, dword [esp + 0x18]
mov edx, dword [edx]
mov esi, edx
mov edi, dword [esp + 8]
sub esi, edi
sar esi, 1
cmp eax, esi
jg 0x6cfdfb
cmp cx, word [edi]
jne 0x6d175d
add ebp, 4
add edi, 2
mov dword [esp + 8], edi
mov dword [esp + 0x14], ebp
cmp eax, 2
jl 0x6c8e30
dec eax
mov edx, dword [esp + 0x14]
movzx ecx, word [edx]
add edx, 2
mov dword [esp + 0x14], edx
mov dword [esp + 4], 0
mov edx, dword [esp + 8]
cmp cx, word [edx]
lea edx, [edx + 2]
mov dword [esp + 8], edx
je 0x6cada6
jmp case.0x6d0814.6
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x6cf64c
cmp dword [esp + 0x34], 0
movzx eax, word [ebp + 2]
je 0x6cc6c1
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
mov esi, dword [esp + 0x158]
jne 0x6cc78c
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebp + 4]
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
mov edx, 2
jmp 0x6cc7c7
movzx edx, word [ebp + 2]
add ebp, 4
mov dword [esp + 0x4c], 1
xor edi, edi
mov dword [esp + 0x10], edx
jmp 0x6c99f0
add ebp, 2
mov edi, 1
mov edx, 0x7fffffff
jmp 0x6cae8f
add ebp, 2
mov edx, 1
mov dword [esp + 0x10], 0
mov edi, 1
mov dword [esp + 0x4c], 0
jmp 0x6c99f0
movzx edx, word [ebp + 2]
add ebp, 4
mov edi, 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x4c], 0
jmp 0x6c99f0
lea edi, [ebp + 4]
movzx eax, word [ebp + 2]
lea ecx, [ebp + eax*2]
mov dword [esp + 0x14], ecx
movzx eax, word [ebp + eax*2]
lea ecx, [eax - 0x62]
movzx edx, cx
cmp edx, 0xb
ja 0x6c70f7
mov edx, 0x73f
bt edx, ecx
jae 0x6ccb4f
add dword [esp + 0x14], 2
cmp ecx, 7
seta dl
mov dword [esp + 4], edx
mov edx, eax
and edx, 1
xor ebp, ebp
cmp ecx, 8
cmovb ebp, edx
movsx ebx, byte [eax + 0x7b472e]
movsx eax, byte [eax + 0x7b4739]
mov edx, 0x3cf
bt edx, ecx
mov ecx, 0x7fffffff
cmovae ecx, eax
mov dword [esp + 0x10], ecx
test ebx, ebx
jg 0x6c710e
jmp 0x6c7185
movzx eax, word [ebp + 2]
lea edi, [eax + eax]
mov esi, dword [esp + 0x158]
add edi, dword [esi + 0x74]
test eax, eax
je 0x6cc51d
movzx eax, word [edi + 4]
jmp 0x6cc51f
cmp dword [esp + 0x34], 0
movzx eax, word [ebp + 2]
je 0x6cc699
test ax, ax
mov ecx, dword [esp + 0x158]
mov edi, dword [esp + 8]
je 0x6cc6b1
mov ecx, dword [ecx + 0x78]
inc eax
mov edx, edi
lea edi, [edx - 2]
cmp edi, ecx
jb 0x6ce5a6
movzx esi, word [edx - 2]
and esi, 0xfc00
cmp esi, 0xdc00
je 0x6caf8c
mov edx, edi
jmp 0x6caf91
add edx, 0xfffffffc
mov edi, edx
dec eax
cmp eax, 1
jg 0x6caf6b
jmp 0x6cc6b1
mov eax, ebp
mov ebp, dword [esp + 0x158]
mov esi, dword [ebp + 0xb0]
mov dword [esp + 0xc], eax
mov ecx, eax
mov ebx, dword [esp + 0x2c]
mov edi, ecx
lea edx, [edi + 4]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push ebp
push ebx
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp eax, 0xfffffc20
je 0x6caff1
test eax, eax
jne 0x6cc3ab
mov ax, word [edi + 2]
jmp 0x6cb03a
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x6d02eb
mov ebp, ebx
mov ebx, esi
mov esi, edi
movzx edx, word [edi]
cmp edx, 0x77
jne 0x6cb021
mov edi, esi
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x158]
jmp 0x6cb03a
movzx ecx, word [ecx]
cmp ecx, 0x77
mov edi, esi
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x158]
jne 0x6d02eb
movzx eax, ax
lea ecx, [edi + eax*2]
mov dword [ebp + 0xb0], esi
movzx eax, word [edi + eax*2]
cmp eax, 0x77
je 0x6cafb5
jmp 0x6cc3ce
add ebp, 2
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, ebp
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6cddc2
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
cmp edx, 0x77
je 0x6cb090
jmp 0x6cc6f7
add ebp, 2
mov dword [esp + 0x14], ebp
mov edx, ebp
movzx eax, word [edx + 2]
movzx ecx, word [edx + eax*2]
lea edx, [edx + eax*2]
cmp ecx, 0x77
je 0x6cb0b0
add edx, 4
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x6c8e30
jmp case.0x6d0814.6
movzx ecx, word [ebp + 2]
lea esi, [ecx + ecx]
mov eax, 0xffff0000
mov edi, dword [esp + 0x158]
and eax, dword [edi + 0x94]
or eax, ecx
mov dword [edi + 0x94], eax
cmp esi, dword [edi + 0x14]
jge 0x6cb9d8
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
sub edx, ecx
mov ecx, dword [eax + edx*4]
mov dword [eax + esi*4], ecx
mov ecx, dword [esp + 8]
sub ecx, dword [edi + 0x78]
sar ecx, 1
mov edx, esi
or edx, 1
mov dword [eax + edx*4], ecx
mov ebx, dword [esp + 0x2c]
cmp esi, ebx
jl 0x6cc6f7
cmp ebx, esi
jge 0x6cb187
lea ecx, [eax + esi*4]
lea edx, [eax + ebx*4]
lea edi, [eax + ebx*4 + 4]
cmp edi, ecx
cmova ecx, edi
neg eax
shl ebx, 2
sub eax, ebx
lea eax, [ecx + eax + 3]
and eax, 0xfffffffc
sub esp, 4
push eax
push 0xff
push edx
call sub.msvcrt.dll_memset
add esp, 0x10
add esi, 2
mov dword [esp + 0x2c], esi
jmp 0x6cc6f7
add ebp, 2
nop word cs:[eax + eax]
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
cmp edx, 0x77
je 0x6cb1a0
jmp 0x6cc6f7
add ebp, 2
mov dword [esp + 0x4c], 0
mov edx, 0x7fffffff
mov dword [esp + 0x10], 1
mov edi, 1
jmp 0x6c99f0
mov eax, dword [0x7b30f4]
test eax, eax
je 0x6cb2b1
mov dword [esp + 0x74], 2
movzx ecx, word [ebp + 2]
mov dword [esp + 0x78], ecx
mov esi, dword [esp + 0x158]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esi + 0x78]
mov dword [esp + 0x80], ecx
mov edx, dword [esi + 0x7c]
sub edx, ecx
sar edx, 1
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x30]
sub edx, ecx
sar edx, 1
mov dword [esp + 0x88], edx
mov edx, dword [esp + 8]
sub edx, ecx
sar edx, 1
mov dword [esp + 0x8c], edx
movzx ecx, word [ebp + 4]
mov dword [esp + 0x9c], ecx
movzx ecx, word [ebp + 6]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x2c]
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sar ecx, 1
mov dword [esp + 0x90], ecx
movzx ecx, word [esi + 0x94]
cmp ecx, 1
sbb edx, edx
or edx, ecx
mov dword [esp + 0x94], edx
mov ecx, dword [esi + 0xac]
mov dword [esp + 0x98], ecx
mov ecx, dword [esi + 0xb4]
mov dword [esp + 0xa4], ecx
sub esp, 0xc
lea ecx, [esp + 0x80]
push ecx
call eax
add esp, 0x10
test eax, eax
jg 0x6ce5a6
jne 0x6cddc2
add ebp, 8
mov dword [esp + 0x14], ebp
jmp 0x6c8e30
movzx edx, word [ebp + 2]
add ebp, 2
mov eax, 1
cmp edx, 0x86
je case.0x6c8e4e.134
movzx eax, dx
cmp eax, 0x8b
mov eax, 1
jne case.0x6c8e4e.132
mov dword [esp + 0x28], edx
movzx ebx, word [ebp + 4]
lea esi, [ebx + ebx]
mov edx, dword [esp + 0x158]
cmp esi, dword [edx + 0x14]
jge 0x6cb499
mov dword [esp + 0x50], eax
mov eax, ebp
sub eax, dword [edx + 0x74]
sar eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov edi, dword [eax + esi*4]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x40], esi
or esi, 1
mov dword [esp + 0x58], esi
mov esi, dword [eax + esi*4]
mov dword [esp + 0xa8], esi
sub ecx, ebx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xac], eax
mov dword [esp + 0x10], 0
mov edi, dword [esp + 8]
mov dword [esp + 0x14], ebx
mov esi, ebp
mov ebp, edx
mov eax, dword [ebp + 0x94]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
sub edi, dword [ebp + 0x78]
sar edi, 1
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
sub edx, ebx
mov dword [ecx + edx*4], edi
mov ebx, esi
cmp dword [esp + 0x28], 0x88
jb 0x6cb384
mov dword [ebp + 0x9c], 2
movzx eax, word [ebx]
movzx eax, byte [eax + 0x7b47d4]
lea edx, [ebx + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push ebp
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp eax, 0xfffffc20
je 0x6cb3c7
test eax, eax
jne 0x6cb41f
mov ax, word [ebx + 2]
jmp 0x6cb3ee
movzx eax, word [ebx + 2]
lea ecx, [ebx + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x6d02eb
movzx edx, word [ebx]
cmp edx, 0x77
je 0x6cb3ee
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x6d02eb
mov ebp, dword [esp + 0x158]
mov ecx, dword [esp + 4]
mov dword [ebp + 0x94], ecx
movzx eax, ax
lea esi, [ebx + eax*2]
movzx eax, word [ebx + eax*2]
cmp eax, 0x77
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 8]
je 0x6cb35e
jmp 0x6cb896
cmp eax, 0xfffffc1a
mov dword [esp + 4], eax
jne case.0x6d0814.6
mov edx, dword [esp + 0x158]
mov eax, dword [edx + 0x90]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xc]
lea ebp, [eax + eax]
add ebp, dword [edx + 0x74]
mov eax, dword [edx + 0x80]
mov dword [esp + 0x30], eax
mov edi, dword [edx + 0x84]
mov dword [esp + 0x10], 1
cmp dword [esp + 8], edi
mov ebx, dword [esp + 0x14]
jne 0x6cb34c
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
mov eax, 1
cmp edx, 0x77
je 0x6cb46f
mov edi, dword [esp + 8]
or eax, dword [esp + 0x50]
jne 0x6cb8e0
jmp 0x6ce5a6
mov edx, dword [esp + 0x28]
mov dword [esp + 0x50], eax
mov ecx, ebp
mov eax, dword [esp + 0x158]
sub ecx, dword [eax + 0x74]
sar ecx, 1
mov dword [esp + 0x10], ecx
mov eax, dword [eax + 0x94]
mov dword [esp + 0x14], eax
xor edi, edi
mov eax, dword [esp + 8]
mov dword [esp + 4], edi
mov ecx, eax
jmp 0x6cb4e5
mov eax, dword [esp + 0x158]
mov edx, dword [esp + 0x14]
mov dword [eax + 0x94], edx
mov edx, ebx
mov ecx, esi
mov ebx, edx
cmp edx, 0x88
jb 0x6cb500
mov eax, dword [esp + 0x158]
mov dword [eax + 0x9c], 2
movzx eax, word [ebp]
movzx eax, byte [eax + 0x7b47d4]
lea edx, [ebp + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov esi, ecx
push eax
push dword [esp + 0x48]
mov edi, ebp
mov ebp, dword [esp + 0x16c]
push ebp
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp eax, 0xfffffc20
je 0x6cb54c
test eax, eax
jne 0x6cb588
mov ax, word [edi + 2]
jmp 0x6cb573
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x6d02eb
movzx edx, word [edi]
cmp edx, 0x77
je 0x6cb573
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x6d02eb
movzx eax, ax
lea ebp, [edi + eax*2]
movzx eax, word [edi + eax*2]
cmp eax, 0x77
je 0x6cb4d0
jmp 0x6cb5ec
cmp eax, 0xfffffc1a
mov dword [esp + 4], eax
mov edx, ebx
jne case.0x6d0814.6
mov eax, dword [esp + 0x158]
mov ecx, dword [eax + 0x90]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x10]
lea ebp, [ecx + ecx]
add ebp, dword [eax + 0x74]
mov ecx, dword [eax + 0x80]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x84]
mov edi, 1
mov ecx, esi
cmp ecx, eax
jne 0x6cb4c3
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
mov eax, 1
cmp edx, 0x77
je 0x6cb5d3
jmp 0x6cb5f0
mov eax, dword [esp + 4]
or eax, dword [esp + 0x50]
je 0x6ce5a6
add ebp, 4
mov dword [esp + 0x14], ebp
mov dword [esp + 8], esi
jmp 0x6c8e30
mov esi, dword [esp + 0x158]
mov eax, dword [esi + 0x28]
inc eax
mov dword [esi + 0x28], eax
cmp eax, dword [esi + 0x2c]
movzx eax, byte [edx + 0x7b47d4]
ja 0x6cf68a
movzx ecx, word [ebp + 2]
add ecx, eax
lea eax, [ebp + ecx*2]
mov dword [esp + 0x14], eax
jmp 0x6c8e30
mov ebx, ecx
movzx edx, word [ebp + 2]
cmp edx, 0xa
ja case.default.0x6cb677
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x19
add ecx, eax
mov esi, ecx
and esi, 0x7fffff80
sar ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
mov edi, eax
sub edi, esi
add edi, ecx
movzx ecx, word [edi + edi + 0x7b8c54]
jmp dword [edx*4 + 0x6d290c]
cmp eax, 0x180d
jle 0x6c6e88
lea edx, [eax - 0x2000]
cmp edx, 0x5f
ja case.default.0x6cb698
jmp dword [edx*4 + 0x6d2938]
mov edi, dword [esp + 8]
cmp edi, eax
je 0x6c7041
lea eax, [edi - 2]
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
ja 0x6cb6bc
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
cmp dword [esi + 0x58], 0
movzx eax, word [eax]
je 0x6cd350
mov cl, 1
cmp eax, 0x5f
je 0x6c7043
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
and eax, 0x7f
or eax, ecx
movzx eax, word [eax + eax + 0x7b8c54]
movzx eax, byte [eax*8 + 0x7b53d5]
mov eax, dword [eax*4 + 0x7b48e8]
or eax, 2
cmp eax, 3
sete cl
jmp 0x6c7043
xor ebx, ebx
mov ebp, eax
jmp 0x6cc231
movzx eax, word [ebp + 2]
movzx ecx, word [ebx]
cmp ax, cx
je 0x6d175d
movzx edx, dx
cmp edx, 0x20
jne 0x6cb74b
cmp eax, 0xff
mov edx, dword [esp + 0x158]
ja 0x6cb743
mov edx, dword [edx + 0x40]
movzx eax, byte [edx + eax]
cmp eax, ecx
je 0x6d175d
add ebx, 2
mov dword [esp + 8], ebx
jmp 0x6cc6f7
cmp dword [esp + 0x34], 0
je 0x6cc9a0
lea ecx, [edi - 6]
movzx ecx, cx
cmp ecx, 0xf
ja case.default.0x6d0814
mov dword [esp + 4], 0xfffffff2
jmp dword [ecx*4 + 0x6d26e0]
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x6c8e16
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
cmp ebp, 0x12
sete cl
mov edx, dword [esp + 0xc]
mov dword [esp + 8], edx
jmp 0x6c6f62
add ebp, 4
mov dword [esp + 0x14], ebp
movzx ecx, word [ebx]
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6cb7e6
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebx + 2]
add ebx, 4
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
jmp 0x6cb7e9
add ebx, 2
movzx edx, si
cmp edx, 0x1f
mov dword [esp + 8], ebx
jne 0x6cb80a
mov dword [esp + 4], 0
cmp eax, ecx
jne 0x6c8e30
jmp case.0x6d0814.6
cmp eax, 0x80
mov edx, dword [esp + 0x158]
jb 0x6cc807
mov edx, eax
sar edx, 0x1f
shr edx, 0x19
add edx, eax
mov esi, edx
and esi, 0x7fffff80
sar edx, 7
movzx edx, byte [edx + 0x7b6a54]
shl edx, 7
mov edi, eax
sub edi, esi
add edi, edx
movzx edx, word [edi + edi + 0x7b8c54]
mov edx, dword [edx*8 + 0x7b53d8]
add edx, eax
cmp eax, ecx
jne 0x6cc816
jmp 0x6d1888
lea ecx, [eax + 0x3e4]
cmp ecx, 4
mov edx, edi
jae 0x6ce597
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
movzx eax, word [edx + eax*2]
cmp eax, 0x77
mov edx, ecx
je 0x6cb870
test esi, esi
jne 0x6cee2b
add ecx, 4
mov dword [esp + 0x14], ecx
jmp 0x6c8e30
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x6cb8d4
mov eax, dword [esp + 0x158]
mov ecx, eax
mov eax, dword [ecx + 0xc]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
mov dword [eax + edx*4], ebp
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0xa8]
mov dword [eax + edx*4], ebp
mov ecx, dword [ecx + 0x10]
sub ecx, ebx
mov edx, dword [esp + 0xac]
mov dword [eax + ecx*4], edx
xor eax, eax
mov ebp, esi
or eax, dword [esp + 0x50]
je 0x6ce5a6
add ebp, 4
mov dword [esp + 0x14], ebp
mov dword [esp + 8], edi
jmp 0x6c8e30
lea eax, [ebx - 6]
movzx eax, ax
cmp eax, 0xf
ja case.default.0x6d0814
mov dword [esp + 4], 0xfffffff2
jmp dword [eax*4 + 0x6d22c8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6d0157
movzx edx, word [edi]
cmp edx, 0xff
ja 0x6cb945
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
jne 0x6d175d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6cb91e
jmp 0x6c9b8f
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x30], eax
mov ecx, edi
mov ax, word [ecx]
movzx eax, ax
cmp eax, 0x78
je 0x6ce5a6
test esi, esi
jne 0x6cee2b
nop dword [eax + eax]
mov eax, ecx
movzx ecx, word [eax + 2]
movzx edx, word [eax + ecx*2]
lea ecx, [eax + ecx*2]
cmp edx, 0x77
je 0x6cb980
add ecx, 4
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x2c], eax
jmp 0x6c8e30
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x4c], 0
jne 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c6a14
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
ja 0x6c6f2b
jmp 0x6c6a14
or eax, 0x10000
mov dword [edi + 0x94], eax
jmp 0x6cc6f7
test ax, ax
jne 0x6ca45e
jmp 0x6ce0fe
add edx, 2
cmp eax, 0xff
mov dword [esp + 8], edx
ja 0x6c6a14
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je 0x6c6a14
jmp 0x6d175d
mov edi, ecx
cmp eax, 0x1fff
mov dword [esp + 8], edi
jle 0x6cbbed
cmp eax, 0x202e
jg 0x6ccaa4
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jae 0x6c6a14
jmp case.0x6d0814.6
mov edi, ecx
cmp eax, 0x1fff
mov dword [esp + 8], edi
jle 0x6cc9dd
cmp eax, 0x202e
jg 0x6c6aa8
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jb 0x6c6a14
jmp case.0x6d0814.6
mov edi, ecx
lea ecx, [eax - 0xa]
cmp ecx, 4
jb 0x6d1888
mov dword [esp + 8], edi
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x6d1888
cmp eax, 0x85
jmp 0x6ccacd
mov esi, ecx
lea ecx, [eax - 0xa]
cmp ecx, 4
jb 0x6cbad6
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x6cbad6
cmp eax, 0x85
jne 0x6d175d
mov dword [esp + 8], esi
jmp 0x6c6a14
mov ebp, edx
cmp ebp, eax
jae 0x6cbbb0
mov edx, ecx
sar edx, 0x1f
shr edx, 0x19
add edx, ecx
mov esi, edx
and esi, 0x7fffff80
sar edx, 7
movzx edx, byte [edx + 0x7b6a54]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx edx, byte [ecx*8 + 0x7b53d6]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x6cbb5b
mov edi, ecx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x6cbb5b
shl ecx, 0xa
and ecx, 0xffc00
movzx esi, word [ebp + 2]
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
mov esi, 2
mov edi, ecx
sar edi, 0x1f
shr edi, 0x19
add edi, ecx
mov ebx, edi
and ebx, 0x7fffff80
sar edi, 7
movzx edi, byte [edi + 0x7b6a54]
shl edi, 7
sub ecx, ebx
add ecx, edi
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx ecx, byte [ecx*8 + 0x7b53d6]
mov edi, 1
shl edi, cl
and edi, dword [edx*4 + 0x7b4960]
je 0x6cbba2
lea ebp, [ebp + esi*2]
cmp ebp, eax
jae 0x6cbbb0
test edi, edi
mov edx, ecx
jne 0x6cbb1c
cmp ebp, eax
jb 0x6cbbd9
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6cbbd9
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6cbbd9
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6ce4c8
mov dword [esp + 8], ebp
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0x14], eax
jmp 0x6c8e30
cmp eax, 0x9f
jle 0x6ccac1
cmp eax, 0xa0
je 0x6d1888
cmp eax, 0x1680
je 0x6d1888
cmp eax, 0x180e
jmp 0x6ccacd
xor eax, eax
jmp 0x6c6dcb
cmp dword [esp + 0x44], 0
jne 0x6d175d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
cmp esi, eax
jae 0x6ce48e
lea edi, [esi + 2]
cmp dword [esp + 0x34], 0
je 0x6cbc5a
movzx edx, word [esi]
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6cbc5a
add esi, 4
mov edi, esi
mov edx, dword [esp + 0x10]
inc ecx
cmp ecx, edx
mov dword [esp + 0xc], edi
mov esi, edi
jl 0x6cbc32
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6ce5b3
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cbcc2
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x6cbcc2
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6cbcc4
mov edi, esi
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov ebx, esi
and ebx, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x7b8c54]
movzx edx, byte [edx*8 + 0x7b53d5]
add dl, 0xfb
xor esi, esi
cmp dl, 4
ja 0x6cbd0b
movsx edx, dl
mov esi, dword [edx*4 + 0x7b47b0]
cmp dword [esp + 0x44], esi
je 0x6d175d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6cbc7a
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6ce5f1
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cbd7d
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x6cbd7d
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6cbd7f
mov edi, esi
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov ebx, esi
and ebx, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x7b8c54]
movzx edx, byte [edx*8 + 0x7b53d5]
xor ebx, ebx
mov esi, dword [esp + 0x54]
cmp dword [edx*4 + 0x7b48e8], esi
sete bl
cmp dword [esp + 0x44], ebx
je 0x6d175d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6cbd35
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6ce62f
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cbe34
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x6cbe34
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6cbe36
mov edi, esi
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov ebx, esi
and ebx, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x7b8c54]
movzx edx, byte [edx*8 + 0x7b53d5]
xor ebx, ebx
cmp dword [esp + 0x54], edx
sete bl
cmp dword [esp + 0x44], ebx
je 0x6d175d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6cbdec
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6ce66d
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cbee4
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x6cbee4
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6cbee6
mov edi, esi
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov ebx, esi
and ebx, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x7b8c54]
movzx edx, byte [edx*8 + 0x7b53d4]
xor ebx, ebx
cmp dword [esp + 0x54], edx
sete bl
cmp dword [esp + 0x44], ebx
je 0x6d175d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6cbe9c
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6ce6ab
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cbf94
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x6cbf94
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6cbf96
mov edi, esi
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov ebx, esi
and ebx, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x7b8c54]
movzx edx, byte [edx*8 + 0x7b53d5]
mov edx, dword [edx*4 + 0x7b48e8]
or edx, 2
xor ebx, ebx
cmp edx, 3
sete bl
cmp dword [esp + 0x44], ebx
je 0x6d175d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6cbf4c
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6ce6e9
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cc04d
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x6cc04d
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6cc04f
mov edi, esi
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov ebx, esi
and ebx, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
mov ebp, edx
sub ebp, ebx
add ebp, esi
movzx esi, word [ebp + ebp + 0x7b8c54]
movzx esi, byte [esi*8 + 0x7b53d5]
mov esi, dword [esi*4 + 0x7b48e8]
or esi, 2
cmp esi, 3
sete bl
cmp edx, 0x5f
sete dl
or dl, bl
movzx edx, dl
cmp dword [esp + 0x44], edx
je 0x6d175d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6cc005
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x54]
lea ecx, [ecx*4 + 0x7b529c]
mov edx, 1
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6ce727
lea ebx, [edi + 2]
movzx esi, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cc123
mov ebp, esi
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x6cc123
shl esi, 0xa
and esi, 0xffc00
movzx ebx, word [edi + 2]
add edi, 4
mov dword [esp + 0xc], edi
and ebx, 0x3ff
lea esi, [esi + ebx + 0x10000]
jmp 0x6cc127
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 0x54]
mov ebx, dword [edi*4 + 0x7b5298]
cmp esi, ebx
jb 0x6cc14e
mov ebp, ecx
nop dword [eax + eax]
cmp esi, ebx
je 0x6cc15a
mov ebx, dword [ebp]
add ebp, 4
cmp esi, ebx
jae 0x6cc140
cmp dword [esp + 0x44], 0
jne 0x6cc165
jmp 0x6d175d
cmp dword [esp + 0x44], 0
jne 0x6d175d
cmp edx, dword [esp + 0x10]
lea edx, [edx + 1]
jl 0x6cc0d7
jmp 0x6c9b8f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x6ce765
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6cc1cb
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x6cc1cb
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6cc1cd
mov edi, esi
mov bl, 1
cmp edx, 0x24
je 0x6cc1f8
cmp edx, 0x40
je 0x6cc1f8
cmp edx, 0x60
je 0x6cc1f8
lea esi, [edx - 0xa0]
cmp esi, 0xd760
setb bh
cmp edx, 0xdfff
seta bl
or bl, bh
movzx edx, bl
cmp dword [esp + 0x44], edx
je 0x6d175d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6cc183
jmp 0x6c9b8f
mov ecx, ebx
or ecx, 1
mov ecx, dword [ebp + ecx*4]
sub ecx, edi
mov dword [esp + 0x10], ecx
mov ebp, eax
mov edi, dword [esp + 0x158]
movzx ecx, word [ebp]
movzx eax, cx
mov edx, ecx
add edx, 0xffffff9e
movzx edx, dx
cmp edx, 6
jae 0x6cc278
add ebp, 2
lea ecx, [eax - 0x62]
mov edx, eax
and edx, 1
mov dword [esp + 4], edx
movsx edi, byte [eax + 0x7b472e]
movsx eax, byte [eax + 0x7b4739]
mov edx, 0x3cf
bt edx, ecx
mov ecx, 0x7fffffff
cmovae ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x6cc2a6
lea ecx, [ecx - 0x68]
movzx ecx, cx
cmp ecx, 2
jae 0x6cc301
cmp eax, 0x69
sete al
mov dword [esp + 4], eax
movzx edi, word [ebp + 2]
movzx eax, word [ebp + 4]
test eax, eax
mov ecx, 0x7fffffff
cmovne ecx, eax
mov dword [esp + 0x28], ecx
add ebp, 6
mov dword [esp + 0x14], ebp
cmp dword [esp + 0x10], 0
je 0x6c8e30
jns 0x6cc2bf
test edi, edi
je 0x6c8e30
test edi, edi
jle 0x6cc703
xor esi, esi
mov ebp, dword [esp + 8]
sub esp, 4
mov ecx, ebx
mov edx, ebp
push dword [esp + 0x10]
push dword [esp + 0x160]
push dword [esp + 0x1c]
call fcn.006d2b00
add esp, 0x10
test eax, eax
js 0x6ce073
lea ebp, [ebp + eax*2]
inc esi
cmp esi, edi
jl 0x6cc2cd
jmp 0x6cc707
sub esp, 4
mov ecx, ebx
mov esi, dword [esp + 0xc]
mov edx, esi
push dword [esp + 0x10]
push edi
push dword [esp + 0x1c]
call fcn.006d2b00
add esp, 0x10
test eax, eax
js 0x6d0332
lea esi, [esi + eax*2]
mov dword [esp + 8], esi
mov dword [esp + 0x14], ebp
jmp 0x6c8e30
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6cc35a
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6cc35a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6ce4c8
mov dword [esp + 8], ebp
cmp dword [esp + 0x4c], 0
jne 0x6c8e30
jmp 0x6cd711
mov edx, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c6ee1
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x6c6ee1
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov eax, edx
jle 0x6c6ee3
jmp 0x6ce4c8
mov eax, esi
jmp 0x6c6ee3
cmp eax, 1
mov dword [esp + 4], eax
jne case.0x6d0814.6
mov ebp, dword [esp + 0x158]
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x30], eax
mov ecx, edi
mov ax, word [ecx]
movzx eax, ax
cmp eax, 0x82
je 0x6cc3e1
cmp eax, 0x77
jne 0x6ce5a6
movzx edx, word [ecx + 2]
movzx eax, word [ecx + edx*2]
lea ecx, [ecx + edx*2]
cmp eax, 0x77
je 0x6cc3e1
mov ebx, dword [ebp + 0x84]
mov esi, dword [ebp + 0x90]
movzx eax, ax
cmp eax, 0x78
mov dword [esp + 0x2c], esi
je 0x6cc413
cmp ebx, dword [esp + 8]
jne 0x6cdb83
add ecx, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 8], ebx
jmp 0x6c8e30
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
mov edx, dword [esp + 8]
cmp edx, eax
ja 0x6cc456
movzx eax, word [edx]
cmp ax, word [esi + 0x34]
jne 0x6cc456
cmp ecx, 1
je 0x6d175d
movzx eax, word [edx + 2]
cmp ax, word [esi + 0x36]
je 0x6d175d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je case.0x6c8e4e.13
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
add ecx, 0xfffffffe
cmp dword [esp + 8], ecx
jne case.0x6c8e4e.13
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne case.0x6c8e4e.13
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne case.0x6c8e4e.13
mov ecx, dword [esp + 8]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne case.0x6c8e4e.13
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6ce4c8
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [esp + 8]
cmp edx, ecx
jae 0x6ceeb4
lea eax, [edx + 2]
cmp dword [esp + 0x34], 0
je 0x6c6db6
cmp eax, ecx
jae 0x6c6db6
movzx ecx, word [edx + 2]
and ecx, 0xfc00
add edx, 4
cmp ecx, 0xdc00
cmove eax, edx
jmp 0x6c6db6
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 8]
sub eax, ecx
cmp eax, 1
jle 0x6d0494
movzx eax, word [ebp + 2]
cmp ax, word [ecx]
jne 0x6d175d
add ecx, 2
mov dword [esp + 8], ecx
jmp 0x6cc6f7
xor eax, eax
mov ebx, dword [esp + 8]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x6cc543
mov edx, ecx
cmp eax, dword [edx + 4]
jne 0x6cc53d
cmp ebx, dword [edx + 0x14]
je 0x6ce4d5
mov edx, dword [edx]
test edx, edx
jne 0x6cc52f
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x94]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x5c], ecx
lea eax, [esp + 0x5c]
mov dword [esi + 0xa8], eax
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x68], ecx
cmp ecx, 0x1e
jg 0x6cc57c
lea eax, [esp + 0xc4]
mov dword [esp + 0x64], eax
jmp 0x6cc59c
shl ecx, 2
sub esp, 0xc
push ecx
call dword [0x7b30ec]
add esp, 0x10
mov dword [esp + 0x64], eax
test eax, eax
je 0x6d0487
mov ecx, dword [esp + 0x68]
add ebp, 4
mov dword [esp + 0xc], ebp
shl ecx, 2
sub esp, 4
push ecx
push dword [esi + 0xc]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0x10
movzx ebp, word [edi]
mov ecx, ebp
movzx eax, bp
cmp eax, 0x88
jb 0x6cc5d6
mov eax, dword [esp + 0x158]
mov dword [eax + 0x9c], 2
movzx eax, cx
movzx eax, byte [eax + 0x7b47d4]
lea edx, [edi + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
mov ebx, dword [esp + 0x16c]
push ebx
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov esi, eax
mov eax, dword [esp + 0x68]
shl eax, 2
sub esp, 4
push eax
push dword [esp + 0x6c]
push dword [ebx + 0xc]
call sub.msvcrt.dll_memcpy
add esp, 0x10
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x94], eax
mov eax, dword [esp + 0x5c]
mov dword [ebx + 0xa8], eax
cmp esi, 1
je 0x6cd2d0
cmp esi, 0xfffffc19
je 0x6cd2d0
lea ecx, [esi + 0x3e4]
cmp ecx, 4
jbe 0x6ce4e2
test esi, esi
jne 0x6ce4fb
mov ecx, dword [esp + 0x158]
lea edx, [esp + 0x5c]
mov dword [ecx + 0xa8], edx
movzx ecx, word [edi + 2]
movzx edx, word [edi + ecx*2]
lea edi, [edi + ecx*2]
mov cx, 0x77
cmp edx, 0x77
je 0x6cc5bb
jmp 0x6ce524
add eax, eax
mov edi, dword [esp + 8]
sub edi, eax
mov eax, dword [esp + 0x158]
cmp edi, dword [eax + 0x78]
jb 0x6ce5a6
mov eax, dword [esp + 0x24]
cmp edi, dword [eax]
jae 0x6cc6f3
mov eax, dword [esp + 0x24]
mov dword [eax], edi
jmp 0x6cc6f3
cmp eax, 0xff
mov edx, dword [esp + 0x158]
ja 0x6cc6d6
mov ecx, dword [edx + 0x3c]
movzx eax, byte [ecx + eax]
movzx ecx, word [edi]
cmp ecx, 0xff
ja 0x6cc6e8
mov edx, dword [edx + 0x3c]
movzx ecx, byte [edx + ecx]
cmp eax, ecx
jne 0x6d175d
add edi, 2
mov dword [esp + 8], edi
add ebp, 4
mov dword [esp + 0x14], ebp
jmp 0x6c8e30
mov ebp, dword [esp + 8]
mov dword [esp + 8], ebp
cmp edi, dword [esp + 0x28]
je 0x6c8e30
jmp 0x6cfe41
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6cc73f
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x6cc73f
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6ce4c8
mov dword [esp + 8], edx
cmp dword [esp + 0x50], 0
jne 0x6c8e30
jmp 0x6cd788
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6cc778
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x6cc778
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6ce4c8
mov dword [esp + 8], edx
cmp dword [esp + 0x50], 0
jne 0x6c8e30
jmp 0x6cd7e1
mov edx, 1
cmp eax, 0x7f
ja 0x6cc7c7
movzx ecx, word [edi]
cmp ecx, 0xff
mov edx, dword [esi + 0x3c]
movzx eax, byte [edx + eax]
ja 0x6cc7ac
movzx ecx, byte [edx + ecx]
cmp ecx, eax
jne 0x6d175d
add ebp, 4
add edi, 2
mov dword [esp + 8], edi
mov dword [esp + 0x14], ebp
jmp 0x6c8e30
add ebp, 2
movzx ecx, word [edi]
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6ccb91
shl ecx, 0xa
and ecx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
mov dword [esp + 8], edi
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
jmp 0x6ccb98
mov edx, dword [edx + 0x40]
movzx edx, byte [edx + eax]
cmp eax, ecx
je 0x6d1888
cmp edx, ecx
mov dword [esp + 4], 0
jne 0x6c8e30
jmp case.0x6d0814.6
mov edi, esi
mov dword [esp + 8], edi
cmp dword [esp + 0x50], 0
jne 0x6c8e30
jmp 0x6cd579
cmp eax, 0xff
ja 0x6c6dc6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov cl, byte [ecx + eax]
and cl, 0x10
shr cl, 4
jmp 0x6c6dc8
movzx eax, word [edi + 4]
test eax, eax
je case.0x6ca279.4
mov ecx, dword [esp + 0x158]
mov esi, ecx
mov ecx, dword [esi + 0x24]
movzx edx, word [edi + 2]
imul edx, ecx
add edx, edx
add edx, dword [esi + 0x30]
inc eax
add ecx, ecx
movzx ebx, word [edx]
add ebx, ebx
xor esi, esi
cmp ebx, dword [esp + 0x2c]
jge 0x6cc8b1
mov esi, dword [esp + 0x158]
mov esi, dword [esi + 0xc]
mov ebx, dword [esi + ebx*4]
mov esi, ebx
shr esi, 0x1f
xor esi, 1
test ebx, ebx
jns 0x6c797a
dec eax
add edx, ecx
cmp eax, 1
jg 0x6cc887
jmp 0x6c797a
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0xa8]
test eax, eax
je case.0x6ca279.4
movzx ecx, word [edi + 2]
cmp ecx, 0xffff
je 0x6c7975
cmp dword [eax + 4], ecx
sete al
movzx esi, al
test esi, esi
je case.0x6ca279.4
jmp 0x6cd5f4
mov eax, dword [esp + 0x158]
mov esi, dword [eax + 0xa8]
test esi, esi
je case.0x6ca279.4
movzx eax, word [edi + 4]
test eax, eax
je case.0x6ca279.4
mov ecx, dword [esp + 0x158]
mov ebx, ecx
mov ecx, dword [ebx + 0x24]
movzx edx, word [edi + 2]
imul edx, ecx
add edx, edx
add edx, dword [ebx + 0x30]
mov esi, dword [esi + 4]
inc eax
add ecx, ecx
movzx ebx, word [edx]
cmp esi, ebx
je 0x6cd5f4
dec eax
add edx, ecx
cmp eax, 1
jg 0x6cc938
jmp case.0x6ca279.4
mov eax, dword [esp + 0x158]
mov esi, eax
mov dword [esi + 0x9c], 1
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, edi
push eax
push 0
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp eax, 0xfffffc20
je case.0x6ca279.4
test eax, eax
je case.0x6ca279.4
jmp 0x6cdc5d
lea ecx, [edi - 6]
movzx ecx, cx
cmp ecx, 0xf
ja case.default.0x6d0814
mov dword [esp + 4], 0xfffffff2
jmp dword [ecx*4 + 0x6d2720]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0xc]
sub ecx, edx
sar ecx, 1
cmp eax, ecx
jbe 0x6c8dc7
jmp 0x6c8dec
cmp eax, 0x9f
jle 0x6c6f43
cmp eax, 0xa0
mov dword [esp + 4], 0
je 0x6c6a14
cmp eax, 0x1680
je 0x6c6a14
cmp eax, 0x180e
je 0x6c6a14
jmp case.0x6d0814.6
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
mov esi, eax
sub esi, edx
cmp ebx, esi
ja 0x6cf02e
movzx edx, word [ebx]
cmp dx, word [edi + 0x34]
jne 0x6cf02e
cmp ecx, 1
jne 0x6c6ef7
mov ecx, 1
jmp 0x6c6f05
mov ebx, dword [esp + 0x158]
cmp edx, 0xc
jle 0x6caa05
lea edi, [edx - 0x2028]
cmp edi, 2
jb 0x6cca95
cmp edx, 0x85
je 0x6cca95
cmp edx, 0xd
mov dword [esp + 4], 0
jne case.0x6d0814.6
cmp eax, ecx
jae 0x6c72a3
movzx ecx, word [eax]
lea edx, [eax + 2]
cmp ecx, 0xa
jmp 0x6cc4e7
cmp dword [ebx + 0x6c], 0
je 0x6c6db6
jmp 0x6d175d
cmp eax, 0x202f
je 0x6d1888
cmp eax, 0x205f
je 0x6d1888
cmp eax, 0x3000
jmp 0x6ccacd
cmp eax, 9
je 0x6d1888
cmp eax, 0x20
mov dword [esp + 4], 0
jne 0x6c6a14
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ccb05
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x6ccb05
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6ce4c8
mov dword [esp + 8], edx
cmp dword [esp + 0x4c], 0
jne 0x6c8e30
jmp 0x6cd8f5
mov edx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6c725b
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x6c725b
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov ecx, edx
jle 0x6c725d
jmp 0x6ce4c8
xor ecx, ecx
cmp eax, 0x69
sete cl
mov ebp, ecx
cmp eax, 0x6d
sete al
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x14]
movzx ebx, word [ecx + 2]
movzx eax, word [ecx + 4]
test eax, eax
mov edx, 0x7fffffff
cmovne edx, eax
mov dword [esp + 0x10], edx
add ecx, 6
mov dword [esp + 0x14], ecx
test ebx, ebx
jg 0x6c710e
jmp 0x6c7185
add edi, 2
mov dword [esp + 8], edi
lea edx, [ebp + edx*2]
mov dword [esp + 0x14], edx
cmp eax, ecx
je 0x6c8e30
mov edx, eax
sar edx, 0x1f
shr edx, 0x19
add edx, eax
mov esi, edx
and esi, 0x7fffff80
sar edx, 7
movzx edx, byte [edx + 0x7b6a54]
shl edx, 7
mov edi, eax
sub edi, esi
add edi, edx
movzx edx, word [edi + edi + 0x7b8c54]
add eax, dword [edx*8 + 0x7b53d8]
mov dword [esp + 4], 0
cmp ecx, eax
je 0x6c8e30
jmp case.0x6d0814.6
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea eax, [eax + ecx*2]
cmp edi, eax
jb 0x6ce5a6
lea eax, [ecx + ecx]
mov edx, edi
sub edx, eax
movzx eax, word [edx]
cmp ax, word [esi + 0x34]
jne 0x6ce5a6
cmp ecx, 1
je 0x6c6a14
neg ecx
movzx eax, word [edi + ecx*2 + 2]
cmp ax, word [esi + 0x36]
je 0x6c6a14
jmp 0x6ce5a6
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x6c8ddc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x6c7271
cmp dword [esp + 0x34], 0
je 0x6ccc74
movzx edx, word [ebp]
and edx, 0xfc00
xor ecx, ecx
cmp edx, 0xd800
sete cl
inc ecx
jmp 0x6ccc79
mov ecx, 1
mov edx, dword [esp + 0x28]
cmp dword [esp + 0x44], 0
jne 0x6c8ddc
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, edx
jl 0x6ccc4d
jmp 0x6c8ddc
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x6c8ddc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x6c7271
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x6cccfd
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6cccfd
shl edx, 0xa
and edx, 0xffc00
movzx ecx, word [ebp + 2]
and ecx, 0x3ff
lea edx, [edx + ecx + 0x10000]
mov ecx, 2
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov edi, esi
and edi, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x7b8c54]
movzx edx, byte [edx*8 + 0x7b53d5]
add dl, 0xfb
xor esi, esi
cmp dl, 4
ja 0x6ccd44
movsx edx, dl
mov esi, dword [edx*4 + 0x7b47b0]
cmp dword [esp + 0x44], esi
je 0x6c8ddc
mov edx, dword [esp + 0x10]
inc edx
lea ebp, [ebp + ecx*2]
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x28]
jl 0x6cccb6
jmp 0x6c8ddc
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x6c8ddc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x6c7271
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x6ccdc9
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6ccdc9
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebp + 2]
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
mov edx, 2
mov esi, ecx
sar esi, 0x1f
shr esi, 0x19
add esi, ecx
mov edi, esi
and edi, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub ecx, edi
add ecx, esi
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx ecx, byte [ecx*8 + 0x7b53d5]
xor ebx, ebx
mov esi, dword [esp + 0x54]
cmp dword [ecx*4 + 0x7b48e8], esi
sete bl
cmp dword [esp + 0x44], ebx
je 0x6c8ddc
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6ccd82
jmp 0x6c8ddc
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x6c8ddc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x6c7271
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x6cce91
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6cce91
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebp + 2]
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
mov edx, 2
mov esi, ecx
sar esi, 0x1f
shr esi, 0x19
add esi, ecx
mov edi, esi
and edi, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub ecx, edi
add ecx, esi
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx ecx, byte [ecx*8 + 0x7b53d5]
xor ebx, ebx
cmp dword [esp + 0x54], ecx
sete bl
cmp dword [esp + 0x44], ebx
je 0x6c8ddc
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6cce4a
jmp 0x6c8ddc
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x6c8ddc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x6c7271
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x6ccf52
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6ccf52
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebp + 2]
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
mov edx, 2
mov esi, ecx
sar esi, 0x1f
shr esi, 0x19
add esi, ecx
mov edi, esi
and edi, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub ecx, edi
add ecx, esi
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx ecx, byte [ecx*8 + 0x7b53d4]
xor ebx, ebx
cmp dword [esp + 0x54], ecx
sete bl
cmp dword [esp + 0x44], ebx
je 0x6c8ddc
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6ccf0b
jmp 0x6c8ddc
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x6c8ddc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x6c7271
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x6cd013
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6cd013
shl edx, 0xa
and edx, 0xffc00
movzx ecx, word [ebp + 2]
and ecx, 0x3ff
lea edx, [edx + ecx + 0x10000]
mov ecx, 2
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov edi, esi
and edi, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x7b8c54]
movzx edx, byte [edx*8 + 0x7b53d5]
mov edx, dword [edx*4 + 0x7b48e8]
or edx, 2
xor ebx, ebx
cmp edx, 3
sete bl
cmp dword [esp + 0x44], ebx
je 0x6c8ddc
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6ccfcc
jmp 0x6c8ddc
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x6c8ddc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x6c7271
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x6cd0dd
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6cd0dd
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebp + 2]
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
mov edx, 2
mov esi, ecx
sar esi, 0x1f
shr esi, 0x19
add esi, ecx
mov edi, esi
and edi, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
mov ebx, ecx
sub ebx, edi
add ebx, esi
movzx esi, word [ebx + ebx + 0x7b8c54]
movzx esi, byte [esi*8 + 0x7b53d5]
mov esi, dword [esi*4 + 0x7b48e8]
or esi, 2
cmp esi, 3
sete bl
cmp ecx, 0x5f
sete cl
or cl, bl
movzx ecx, cl
cmp dword [esp + 0x44], ecx
je 0x6c8ddc
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6cd096
jmp 0x6c8ddc
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x6c8ddc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x54]
lea ecx, [ecx*4 + 0x7b529c]
mov dword [esp + 4], ecx
mov ebp, edx
cmp ebp, eax
jae 0x6c7271
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x6cd1c5
mov edi, edx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x6cd1c5
shl edx, 0xa
and edx, 0xffc00
mov ecx, ebp
movzx esi, word [ebp + 2]
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
mov esi, 2
jmp 0x6cd1c7
mov ecx, ebp
mov edi, dword [esp + 0x54]
mov ebx, dword [edi*4 + 0x7b5298]
cmp edx, ebx
jb 0x6cd1e8
mov ebp, dword [esp + 4]
cmp edx, ebx
je 0x6cd1f4
mov ebx, dword [ebp]
add ebp, 4
cmp edx, ebx
jae 0x6cd1da
cmp dword [esp + 0x44], 0
jne 0x6cd1ff
jmp 0x6c8dda
cmp dword [esp + 0x44], 0
jne 0x6c8dda
mov ebp, ecx
lea ebp, [ebp + esi*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6cd17a
jmp 0x6c8ddc
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x6c8ddc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x6c7271
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x6cd27c
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6cd27c
shl edx, 0xa
and edx, 0xffc00
movzx ecx, word [ebp + 2]
and ecx, 0x3ff
lea edx, [edx + ecx + 0x10000]
mov ecx, 2
mov bl, 1
cmp edx, 0x24
je 0x6cd2a7
cmp edx, 0x40
je 0x6cd2a7
cmp edx, 0x60
je 0x6cd2a7
lea esi, [edx - 0xa0]
cmp esi, 0xd760
setb bh
cmp edx, 0xdfff
seta bl
or bl, bh
movzx edx, bl
cmp dword [esp + 0x44], edx
je 0x6c8ddc
mov edx, dword [esp + 0x10]
inc edx
lea ebp, [ebp + ecx*2]
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x28]
jl 0x6cd235
jmp 0x6c8ddc
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
je 0x6cd2ec
sub esp, 0xc
push eax
call dword [0x7b30f0]
add esp, 0x10
mov eax, dword [esp + 0x158]
mov ecx, dword [eax + 0x80]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], eax
jmp 0x6c8e30
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp edi, eax
ja 0x6cf795
movzx eax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x6cf795
cmp ecx, 1
je 0x6c6a14
movzx eax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x6c6a14
jmp 0x6cf795
cmp eax, 0xff
ja 0x6c7041
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov cl, byte [ecx + eax]
and cl, 0x10
shr cl, 4
jmp 0x6c7043
movzx eax, byte [ecx*8 + 0x7b53d5]
cmp eax, 9
ja 0x6cd38a
mov ecx, 0x320
bt ecx, eax
jb case.0x6cb677.0
movzx eax, word [esp + 0x28]
cmp eax, 0xf
je 0x6c6ed1
jmp 0x6d175d
movzx eax, word [ebp + 4]
movzx ecx, byte [ecx*8 + 0x7b53d5]
cmp dword [ecx*4 + 0x7b48e8], eax
jmp 0x6cd3ce
movzx eax, word [ebp + 4]
movzx ecx, byte [ecx*8 + 0x7b53d5]
jmp 0x6cd3cc
movzx eax, word [ebp + 4]
movzx ecx, byte [ecx*8 + 0x7b53d4]
cmp eax, ecx
setne al
movzx ecx, word [esp + 0x28]
cmp ecx, 0x10
jmp 0x6cd41b
movzx eax, byte [ecx*8 + 0x7b53d5]
mov eax, dword [eax*4 + 0x7b48e8]
or eax, 2
cmp eax, 3
jmp 0x6cd410
movzx ecx, byte [ecx*8 + 0x7b53d5]
mov ecx, dword [ecx*4 + 0x7b48e8]
or ecx, 2
cmp ecx, 3
je case.0x6cb677.0
cmp eax, 0x5f
sete al
movzx ecx, word [esp + 0x28]
cmp ecx, 0xf
sete cl
xor cl, al
jne 0x6c6ed1
jmp 0x6d175d
movzx edx, word [ebp + 4]
mov ecx, dword [edx*4 + 0x7b5298]
cmp eax, ecx
jb 0x6c69ae
lea edx, [edx*4 + 0x7b529c]
cmp eax, ecx
je 0x6c69e1
mov ecx, dword [edx]
add edx, 4
cmp eax, ecx
jae 0x6cd445
jmp 0x6c69ae
movzx edi, word [ebp + 4]
lea ebx, [edi + edi]
mov eax, dword [esp + 0x158]
cmp ebx, dword [eax + 0x14]
jl 0x6d0195
mov ebx, ebp
movzx eax, dx
cmp eax, 0x87
seta cl
cmp eax, 0x81
sete al
or al, cl
mov byte [esp + 4], al
mov ebp, dword [esp + 0x158]
cmp byte [esp + 4], 0
jne 0x6cd4c9
cmp dword [ebp + 0x70], 0
jne 0x6cd4d3
mov ecx, ebx
movzx eax, word [ecx + 2]
movzx eax, word [ecx + eax*2]
cmp eax, 0x77
je 0x6cd4d3
jmp 0x6cd5e0
lea ebx, [ebx + eax*2]
mov dword [ebp + 0x94], esi
mov dx, 0x77
cmp byte [esp + 4], 0
je 0x6cd49b
mov dword [ebp + 0x9c], 2
mov esi, dword [ebp + 0x94]
mov eax, dword [ebp + 0xb0]
mov dword [esp + 0x34], eax
movzx eax, dx
movzx eax, byte [eax + 0x7b47d4]
mov edi, ebx
lea edx, [edi + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push ebp
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp eax, 0xfffffc20
je 0x6cd52c
test eax, eax
jne 0x6ce00c
mov ax, word [ebx + 2]
jmp 0x6cd553
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x6d02eb
movzx edx, word [edi]
cmp edx, 0x77
je 0x6cd553
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x6d02eb
movzx eax, ax
mov ebp, dword [esp + 0x158]
mov edx, dword [esp + 0x34]
mov dword [ebp + 0xb0], edx
movzx ecx, word [ebx + eax*2]
cmp ecx, 0x77
je 0x6cd4b5
jmp 0x6ce5a6
mov edi, dword [esp + 8]
cmp edi, ebx
jbe 0x6cd77d
mov ebp, dword [esp + 0x158]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, edi
push eax
push dword [esp + 0x48]
push ebp
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6d1ae9
movzx eax, word [edi - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x6cd5d0
add edi, 0xfffffffe
jmp 0x6cd5d3
add edi, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp edi, ebx
ja 0x6cd590
jmp 0x6cd7da
movzx eax, dx
movzx eax, byte [eax + 0x7b47d4]
mov edx, ebx
lea edx, [edx + eax*2]
jmp 0x6cd894
movzx eax, bp
mov cl, byte [eax + 0x7b47d4]
movzx eax, cl
lea eax, [edi + eax*2]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x28]
movzx eax, ax
cmp eax, 0x8c
je 0x6d1954
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
jmp 0x6cdb4e
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x6cdb4a
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
push eax
push dword [esp + 0x48]
push ebp
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6cddc2
lea eax, [ebx - 2]
cmp dword [esp + 0x34], 0
je 0x6cd68f
movzx ecx, word [ebx - 2]
and ecx, 0xfc00
cmp ecx, 0xdc00
mov edx, dword [esp + 0x14]
je 0x6cd697
mov ebx, eax
jmp 0x6cd69a
mov ebx, eax
mov edx, dword [esp + 0x14]
jmp 0x6cd69a
add ebx, 0xfffffffc
cmp ebx, dword [esp + 0xc]
ja 0x6cd643
jmp 0x6cdb55
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x6cdb4a
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
push eax
push dword [esp + 0x48]
push ebp
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6d1ae9
movzx eax, word [ebx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x6cd6ff
add ebx, 0xfffffffe
jmp 0x6cd702
add ebx, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp ebx, dword [esp + 0xc]
ja 0x6cd6c2
jmp 0x6cdb55
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x6cdb4a
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
push eax
push dword [esp + 0x48]
push ebp
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6d1ae9
movzx eax, word [ebx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x6cd76b
add ebx, 0xfffffffe
jmp 0x6cd76e
add ebx, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp ebx, dword [esp + 0xc]
ja 0x6cd72e
jmp 0x6cdb55
mov edx, dword [esp + 0x14]
mov ebx, edi
jmp 0x6cdb4e
mov eax, dword [esp + 8]
mov ebx, edi
cmp eax, ebx
je 0x6cdb4a
mov ebx, eax
mov ebp, dword [esp + 0x158]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
push eax
push dword [esp + 0x48]
push ebp
push esi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6d1ae9
add ebx, 0xfffffffe
cmp edi, ebx
mov edx, dword [esp + 0x14]
jne 0x6cd7a7
mov ebx, edi
jmp 0x6cdb55
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
cmp eax, ebx
je 0x6cdb4a
mov ebx, eax
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
push eax
push dword [esp + 0x48]
push ebp
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6d1ae9
add ebx, 0xfffffffe
cmp dword [esp + 0xc], ebx
mov edx, dword [esp + 0x14]
jne 0x6cd802
jmp 0x6cd94b
cmp eax, 0x7a
jne 0x6cd954
mov edx, dword [esp + 0xc]
add edx, 4
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push ebp
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6cddc2
movzx eax, word [ebx]
cmp eax, 0x81
je 0x6d1c8a
movzx eax, ax
cmp eax, 0x88
jae 0x6d1d40
mov edx, ebx
mov ebx, dword [esp + 8]
jmp 0x6cdb55
mov ebx, dword [esp + 0xc]
cmp dword [esp + 8], ebx
je 0x6cdb4a
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
push eax
push dword [esp + 0x48]
push ebp
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6d1ae9
add ebx, 0xfffffffe
cmp dword [esp + 0xc], ebx
mov edx, dword [esp + 0x14]
jne 0x6cd8be
jmp 0x6cd94b
mov ebx, dword [esp + 0xc]
cmp dword [esp + 8], ebx
je 0x6cdb4a
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
push eax
push dword [esp + 0x48]
push ebp
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6d1ae9
add ebx, 0xfffffffe
cmp dword [esp + 0xc], ebx
mov edx, dword [esp + 0x14]
jne 0x6cd916
mov ebx, dword [esp + 0xc]
jmp 0x6cdb55
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, ebx
push eax
push dword [esp + 0x48]
push ebp
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
je 0x6cd995
mov ecx, eax
cmp eax, 0xfffffc1b
jne 0x6d1af2
cmp dword [ebp + 0xb8], ebx
jne 0x6d1ff6
movzx eax, word [ebx]
add dword [esp + 0xc], 4
cmp eax, 0x81
je 0x6d1cdc
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x6cdb55
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x6cdb4a
mov ebp, dword [esp + 0x158]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov edi, dword [esp + 0x14]
mov ecx, edi
push eax
push dword [esp + 0x48]
push ebp
push esi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6cddc2
lea ebx, [edi - 2]
cmp dword [esp + 0x34], 0
movzx ecx, word [edi - 2]
je 0x6cda4b
and ecx, 0xfc00
add edi, 0xfffffffc
cmp ecx, 0xdc00
cmove ebx, edi
movzx ecx, word [ebx]
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6cda4b
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebx + 2]
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
mov edx, dword [esp + 0xc]
cmp ebx, edx
jbe 0x6cdb4a
mov edx, ecx
sar edx, 0x1f
shr edx, 0x19
add edx, ecx
mov esi, edx
and esi, 0x7fffff80
sar edx, 7
movzx edx, byte [edx + 0x7b6a54]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx ecx, byte [ecx*8 + 0x7b53d6]
lea eax, [ebx - 2]
cmp dword [esp + 0x34], 0
movzx edx, word [ebx - 2]
je 0x6cdad6
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x6cdaa9
lea eax, [ebx - 4]
movzx edx, word [eax]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6cdad6
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [eax + 2]
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
mov esi, edx
sar esi, 0x1f
shr esi, 0x19
add esi, edx
mov edi, esi
and edi, 0x7fffff80
sar esi, 7
movzx esi, byte [esi + 0x7b6a54]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x7b8c54]
movzx edx, byte [edx*8 + 0x7b53d6]
mov esi, dword [edx*4 + 0x7b4960]
bt esi, ecx
jae 0x6cdb28
cmp eax, dword [esp + 0xc]
mov ecx, edx
mov ebx, eax
ja 0x6cda8a
jmp 0x6cdc52
mov dword [esp + 8], ebx
cmp ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x158]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
ja 0x6cd9d2
jmp 0x6cd894
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x158]
mov eax, dword [ebp]
mov ecx, dword [ebp + 0x50]
mov dword [esp + 0x34], ecx
lea ecx, [eax + 1]
mov dword [ebp], ecx
mov dword [esp + 4], 0xfffffff8
cmp eax, dword [ebp + 4]
mov dword [esp + 8], ebx
mov dword [esp + 0x14], edx
jb 0x6c695a
jmp case.0x6d0814.6
mov edi, ecx
cmp eax, 0x7a
jne 0x6cdcbc
mov edx, edi
add edx, 4
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
push eax
push dword [esp + 0x48]
push ebp
push esi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov ecx, eax
test eax, eax
mov edx, dword [esp + 0xc]
je 0x6cdb55
jmp 0x6d1af2
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], eax
jbe 0x6cd619
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6cddc2
movzx eax, word [ebx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x6cdc1f
add ebx, 0xfffffffe
jmp 0x6cdc22
add ebx, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp ebp, 0x11
jne 0x6cdc47
mov ecx, ebx
cmp ecx, dword [esp + 0xc]
jbe 0x6cdc47
movzx eax, word [ecx]
cmp eax, 0xa
jne 0x6cdc47
movzx eax, word [ecx - 2]
cmp eax, 0xd
jne 0x6cdc47
add ebx, 0xfffffffe
cmp ebx, dword [esp + 0xc]
ja 0x6cdbdc
jmp 0x6cdb4e
mov edx, dword [esp + 0x14]
mov ebx, eax
jmp 0x6cdb4e
cmp eax, 1
mov dword [esp + 4], eax
jne case.0x6d0814.6
mov eax, dword [esp + 0x158]
mov ecx, dword [eax + 0x90]
movzx edx, word [edi]
lea eax, [edi + 2]
cmp edx, 0x92
cmovne eax, edi
movzx edx, word [eax + 2]
movzx esi, word [eax + edx*2]
lea eax, [eax + edx*2]
cmp esi, 0x77
je 0x6cdc86
mov esi, dword [esp + 0x2c]
cmp ecx, esi
movzx edx, bp
cmovge esi, ecx
mov dword [esp + 0x2c], esi
movzx ecx, byte [edx + 0x7b47d4]
mov edx, 2
sub edx, ecx
lea edi, [eax + edx*2]
jmp 0x6cd5fd
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
mov edx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push ebp
push esi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov ecx, eax
test eax, eax
jne 0x6d1af2
add edi, 4
mov edx, edi
jmp 0x6cdb4e
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], eax
je 0x6cdd6a
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6cddc2
mov esi, ebx
lea ebx, [ebx - 2]
cmp ebp, 0x11
mov edx, dword [esp + 0x14]
jne 0x6cdd62
cmp ebx, dword [esp + 0xc]
jbe 0x6cdd62
movzx ecx, word [ebx]
cmp ecx, 0xa
jne 0x6cdd62
movzx ecx, word [esi - 4]
cmp ecx, 0xd
jne 0x6cdd62
add esi, 0xfffffffc
mov ebx, esi
cmp ebx, dword [esp + 0xc]
jne 0x6cdd0a
jmp 0x6cdd6e
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0xc]
jmp 0x6cdb55
mov eax, dword [esp + 0x160]
test eax, eax
je 0x6cdda4
lea eax, [esp + 0x160]
sub eax, ecx
mov ecx, eax
neg ecx
test eax, eax
cmovle ecx, eax
mov dword [esp + 4], ecx
jmp case.0x6d0814.6
sub esp, 0xc
lea ecx, [esp + 0x16c]
xor edx, edx
push 1
push 0
push 0
push 0
push 0
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
jmp case.0x6d0814.6
cmp ebx, dword [esp + 0x14]
jb 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov dword [esp + 4], 0xffffffeb
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov edi, edx
mov edx, dword [esp + 8]
cmp edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x158]
jne 0x6cdfa2
movzx eax, di
cmp eax, 0x9f
je 0x6cdfa2
cmp dword [ecx + 0xa8], 0
je 0x6ce7a3
mov dword [ecx + 0x84], edx
mov eax, dword [esp + 0x2c]
mov dword [ecx + 0x90], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x80], eax
test di, di
mov eax, 1
mov ecx, 0xfffffc19
jmp 0x6cf0ba
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
cmp eax, 0xfffffc1b
mov dword [esp + 4], eax
jne case.0x6d0814.6
movzx eax, word [ebx]
cmp eax, 0x81
jne 0x6cedfc
mov esi, dword [esp + 0x158]
jmp 0x6cf0ad
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
cmp eax, 0xfffffffe
jne 0x6ce07e
mov eax, dword [esp + 0x18]
mov ebp, dword [eax]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x18]
cmp ebp, dword [ecx]
jb 0x6ce5a6
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 8]
mov dword [ebp + 0x84], eax
mov dword [ebp + 0x90], edi
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x80], eax
mov dword [esp + 4], 1
jmp case.0x6d0814.6
lea edi, [ebp + 4]
mov ebx, dword [esp + 0x158]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
movzx eax, byte [edx + 0x7b47d4]
lea eax, [ebp + eax*2]
movzx ecx, word [ebp + 2]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push ebx
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp eax, 1
je 0x6ce194
cmp eax, 0xfffffc1f
je 0x6ce1b0
cmp eax, 0xfffffc19
mov ebx, dword [esp + 0x158]
jne 0x6cddc2
cmp dword [ebx + 0xb0], 0
mov dword [esp + 4], eax
je 0x6cf0c6
cmp eax, 0xfffffc1f
jne case.0x6d0814.6
sub esp, 8
mov eax, dword [esp + 0x160]
push dword [eax + 0x80]
push edi
call fcn.006d3ad0
add esp, 0x10
mov dword [esp + 4], 0xfffffc1f
test eax, eax
jne case.0x6d0814.6
jmp 0x6ce21d
movzx eax, byte [edx + 0x7b47d4]
lea edx, [ebp + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 8]
mov dword [eax + 0x80], ecx
mov dword [esp + 4], 0xfffffc1e
jmp case.0x6d0814.6
lea edi, [ebp + 4]
mov ebx, dword [esp + 0x158]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
movzx eax, byte [edx + 0x7b47d4]
lea eax, [ebp + eax*2]
movzx ecx, word [ebp + 2]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push ebx
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp eax, 1
je 0x6ce2ab
test eax, eax
je 0x6ce436
cmp eax, 0xfffffc19
mov ebx, dword [esp + 0x158]
jne 0x6cddc2
cmp dword [ebx + 0xb0], 0
jne 0x6ce2ba
mov dword [ebx + 0xb0], edi
test eax, eax
mov dword [esp + 4], eax
jne case.0x6d0814.6
jmp 0x6ce436
movzx eax, byte [edx + 0x7b47d4]
lea edx, [ebp + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
mov ecx, 0xfffffc1c
jmp 0x6ce354
mov dword [esp + 4], 0xfffffffb
jmp case.0x6d0814.6
movzx eax, byte [edx + 0x7b47d4]
lea edx, [ebp + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
mov ecx, 0xfffffc1d
cmovne ecx, eax
mov dword [esp + 4], ecx
jmp case.0x6d0814.6
lea edi, [ebp + 4]
mov ebx, dword [esp + 0x158]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
movzx eax, byte [edx + 0x7b47d4]
lea eax, [ebp + eax*2]
movzx ecx, word [ebp + 2]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push ebx
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp eax, 1
je 0x6ce3cc
test eax, eax
je 0x6ce3e7
cmp eax, 0xfffffc19
mov ebx, dword [esp + 0x158]
jne 0x6cddc2
cmp dword [ebx + 0xb0], 0
jne 0x6ce3db
mov dword [ebx + 0xb0], edi
test eax, eax
mov dword [esp + 4], eax
jne case.0x6d0814.6
mov dword [esp + 4], 0xfffffc1d
jmp case.0x6d0814.6
movzx eax, byte [edx + 0x7b47d4]
lea edx, [ebp + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
mov eax, dword [esp + 0x158]
mov dword [eax + 0x80], ebp
mov dword [esp + 4], 0xfffffc20
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov dword [esp + 4], 0xfffffff4
jmp case.0x6d0814.6
mov dword [esp + 4], 0xffffffe6
jmp case.0x6d0814.6
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
je 0x6ce5a6
sub esp, 0xc
push eax
jmp 0x6ce544
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
mov dword [esp + 4], esi
je case.0x6d0814.6
sub esp, 0xc
push eax
call dword [0x7b30f0]
add esp, 0x10
jmp case.0x6d0814.6
mov ecx, dword [esp + 0x158]
mov dword [ecx + 0xa8], eax
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
je 0x6ce5a6
sub esp, 0xc
push eax
call dword [0x7b30f0]
add esp, 0x10
mov dword [esp + 4], 0
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
cmp eax, 1
mov dword [esp + 4], eax
je 0x6ce5a6
jmp case.0x6d0814.6
cmp eax, 0xfffffc19
mov dword [esp + 4], eax
jne case.0x6d0814.6
mov dword [esp + 4], 0
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov dword [esp + 4], 0
cmp dword [ecx + 0x60], 0
jne case.0x6d0814.6
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x64], 0
mov edx, dword [esp + 8]
je 0x6cdfa2
mov eax, dword [ecx + 0x98]
add eax, eax
add eax, dword [ecx + 0x78]
cmp dword [esp + 0x30], eax
jne 0x6cdfa2
jmp 0x6ce5a6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
mov eax, ecx
neg eax
mov dword [esp + 0x34], eax
lea eax, [ecx + ecx]
mov dword [esp + 8], eax
dec dword [esp + 0x10]
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x40]
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
lea eax, [esi - 4]
cmp ebx, eax
mov edi, dword [esp + 0x158]
ja 0x6ce862
mov eax, dword [ebx]
cmp eax, dword [ebp]
je 0x6ce8dc
test ecx, ecx
jle 0x6cfdb9
mov eax, dword [esp + 0x34]
lea eax, [esi + eax*2]
cmp ebx, eax
ja 0x6cfdb9
sub esp, 4
push dword [esp + 0xc]
lea eax, [esp + 0xc0]
push eax
push ebx
call sub.msvcrt.dll_memcmp
add esp, 0x10
test eax, eax
mov eax, dword [esp + 0x28]
jne 0x6cfdb9
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebx
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push edi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x6ce834
jmp case.0x6d0814.6
mov eax, 2
jmp 0x6ce89d
mov eax, dword [esp + 0x50]
test eax, eax
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
js 0x6cf0d1
cmp eax, 0xa
mov edx, dword [esp + 0x14]
ja case.default.0x6cb677
jmp dword [eax*4 + 0x6d2534]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x6d0814.6
dec dword [esp + 0x10]
mov ebp, 0x80001f
mov edx, dword [esp + 0x10]
inc edx
cmp edx, eax
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x6d1b77
mov dword [esp + 0x10], edx
lea edi, [ecx + 2]
movzx eax, word [ecx]
cmp dword [esp + 0x34], 0
je 0x6ce9b0
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6ce9b0
shl eax, 0xa
and eax, 0xffc00
movzx edx, word [ecx + 2]
add ecx, 4
and edx, 0x3ff
lea eax, [eax + edx + 0x10000]
jmp 0x6ce9b2
mov ecx, edi
mov edx, dword [esp + 0x14]
cmp eax, 0x180d
jle 0x6ce9cf
lea edi, [eax - 0x2000]
cmp edi, 0x5f
ja case.default.0x6ce9c8
jmp dword [edi*4 + 0x6d2560]
cmp eax, 0x84
jg 0x6cea28
lea edi, [eax - 9]
cmp edi, 0x17
ja case.0x6ce9c8.8203
bt ebp, edi
jae case.0x6ce9c8.8203
cmp dword [esp + 0x44], 0
jne 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov dword [esp + 0x18], ecx
push eax
push dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x6ce94d
jmp case.0x6d0814.6
cmp eax, 0x85
je case.0x6ce9c8.8192
cmp eax, 0xa0
je case.0x6ce9c8.8192
cmp eax, 0x1680
je case.0x6ce9c8.8192
jmp case.0x6ce9c8.8203
cmp eax, 0x3000
je case.0x6ce9c8.8192
cmp eax, 0x180e
je case.0x6ce9c8.8192
mov edi, eax
sar edi, 0x1f
shr edi, 0x19
add edi, eax
mov edx, edi
and edx, 0x7fffff80
sar edi, 7
movzx edi, byte [edi + 0x7b6a54]
shl edi, 7
sub eax, edx
mov edx, dword [esp + 0x14]
add eax, edi
movzx eax, word [eax + eax + 0x7b8c54]
movzx eax, byte [eax*8 + 0x7b53d5]
xor ebx, ebx
cmp dword [eax*4 + 0x7b48e8], 6
sete bl
cmp dword [esp + 0x44], ebx
jne 0x6ce9ee
jmp 0x6d175d
mov dword [esp + 4], 0xfffffff2
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp dword [esp + 0x34], 0
mov dword [esp + 4], eax
je 0x6cebc5
test eax, eax
jne case.0x6d0814.6
dec edi
inc edi
cmp edi, dword [esp + 0x40]
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp edx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x6d0ce5
movzx eax, word [edx]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
mov ebx, dword [esp + 0x28]
jne 0x6ceb4f
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edx + 2]
add edx, 4
mov dword [esp + 0xc], edx
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6ceb56
add edx, 2
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x14]
cmp ebx, eax
je 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x6ceaf4
jmp case.0x6d0814.6
add ecx, 2
inc edi
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov dword [esp + 0x18], ecx
push eax
push dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
cmp edi, dword [esp + 0x40]
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x28]
jae 0x6d1995
movzx eax, word [ecx]
cmp edx, eax
mov edx, dword [esp + 0x14]
jne 0x6ceb98
jmp 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp dword [esp + 0x34], 0
mov dword [esp + 4], eax
je 0x6ced40
test eax, eax
jne case.0x6d0814.6
dec edi
inc edi
cmp edi, dword [esp + 0x40]
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp edx, dword [eax]
jae 0x6d0d23
movzx eax, word [edx]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
mov ebx, dword [esp + 0x28]
jne 0x6ceca4
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edx + 2]
add edx, 4
mov dword [esp + 0xc], edx
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
cmp ebx, eax
jne 0x6cecb3
jmp 0x6d1888
add edx, 2
mov dword [esp + 0xc], edx
cmp ebx, eax
je 0x6d1888
cmp dword [esp + 0x10], eax
mov dword [esp + 4], 0
je case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x6cec49
jmp case.0x6d0814.6
mov ecx, dword [esp + 0xc]
add ecx, 2
inc edi
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
cmp edi, dword [esp + 0x40]
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov edx, dword [esp + 0x28]
jae 0x6d19d3
movzx eax, word [ecx]
cmp edx, eax
je 0x6d1888
cmp dword [esp + 0x10], eax
mov dword [esp + 4], 0
jne 0x6ced05
jmp case.0x6d0814.6
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x80], eax
mov eax, dword [esp + 8]
mov dword [ebp + 0x84], eax
mov dword [ebp + 0x90], edi
mov dword [esp + 4], 0xfffffc1a
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
mov eax, dword [esp + 0x158]
mov dword [eax + 0xb8], ebx
mov dword [esp + 4], 0xfffffc1b
jmp case.0x6d0814.6
movzx eax, ax
cmp eax, 0x77
movzx eax, word [ebx + 2]
mov esi, dword [esp + 0x158]
jne 0x6cf0a5
lea ecx, [ebx + eax*2]
movzx edx, word [ebx + eax*2]
cmp edx, 0x77
movzx eax, word [ebx + eax*2 + 2]
mov ebx, ecx
je 0x6cee13
jmp 0x6cf0a7
mov dword [esp + 4], 1
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 8]
mov dword [ebp + 0x84], eax
jmp 0x6ce10e
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, edi
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
jmp 0x6cef4a
add ecx, 2
inc dword [esp + 0x10]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov edi, ecx
push eax
push dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov ecx, edi
cmp ecx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x6d18dc
cmp bx, word [ecx]
mov edx, dword [esp + 0x14]
je 0x6cef28
jmp 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
jmp 0x6cefe0
mov ecx, dword [esp + 0xc]
add ecx, 2
inc dword [esp + 0x10]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov dword [esp + 0x18], ecx
push eax
push dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x6d1916
movzx eax, word [ecx]
cmp bx, ax
mov edx, dword [esp + 0x14]
je 0x6cefb8
cmp edi, eax
je 0x6cefb8
jmp 0x6d175d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 8]
lea ecx, [ecx + 2]
mov edx, dword [esp + 0x18]
cmp ecx, dword [edx]
jb 0x6ce5a6
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne 0x6ce5a6
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x6ce5a6
mov ecx, dword [esp + 8]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov ecx, ebx
add eax, eax
sub ecx, eax
mov ebx, ecx
xor eax, eax
cmp dword [esi + 0xb8], ebx
mov ecx, 0xfffffc1b
cmove ecx, eax
mov dword [esp + 4], ecx
jmp case.0x6d0814.6
mov dword [ebx + 0xb0], edi
jmp case.0x6d0814.6
movzx ebp, bx
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 8], ebp
cmp ebp, 0x16
mov dword [esp + 4], eax
jne 0x6cf846
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x6d0814.6
cmp dword [esp + 0x10], ecx
jge 0x6d1888
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
cmp ecx, eax
mov ebp, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
jae 0x6d1a11
lea edx, [ecx + 2]
movzx ecx, word [ecx]
cmp dword [esp + 0x34], 0
je 0x6cf17e
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6cf17e
shl ecx, 0xa
and ecx, 0xffc00
mov esi, dword [esp + 0xc]
movzx edx, word [esi + 2]
add esi, 4
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
jmp 0x6cf180
mov esi, edx
mov dword [esp + 0xc], esi
cmp esi, eax
jae 0x6cf271
mov edx, ecx
sar edx, 0x1f
shr edx, 0x19
add edx, ecx
mov esi, edx
and esi, 0x7fffff80
sar edx, 7
movzx edx, byte [edx + 0x7b6a54]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx edx, byte [ecx*8 + 0x7b53d6]
mov ecx, dword [esp + 0xc]
movzx ecx, word [ecx]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x6cf205
mov edi, ecx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x6cf205
shl ecx, 0xa
and ecx, 0xffc00
mov esi, dword [esp + 0xc]
movzx esi, word [esi + 2]
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
mov esi, 2
mov edi, ecx
sar edi, 0x1f
shr edi, 0x19
add edi, ecx
mov ebx, edi
and ebx, 0x7fffff80
sar edi, 7
movzx edi, byte [edi + 0x7b6a54]
shl edi, 7
sub ecx, ebx
add ecx, edi
movzx ecx, word [ecx + ecx + 0x7b8c54]
movzx ecx, byte [ecx*8 + 0x7b53d6]
mov ebx, 1
shl ebx, cl
and ebx, dword [edx*4 + 0x7b4960]
je 0x6cf251
mov edx, dword [esp + 0xc]
lea edx, [edx + esi*2]
jmp 0x6cf255
mov edx, dword [esp + 0xc]
mov dword [esp + 0xc], edx
cmp edx, eax
jae 0x6cf26d
test ebx, ebx
mov edx, ecx
mov edi, dword [esp + 0x2c]
jne 0x6cf1bf
jmp 0x6cf271
mov edi, dword [esp + 0x2c]
cmp dword [esp + 0xc], eax
jb 0x6cf2a0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6cf2a0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6cf2a0
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6d0c2a
inc dword [esp + 0x10]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push ebp
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov ecx, dword [esp + 0x28]
je 0x6cf117
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov dword [esp + 4], 0xfffffff4
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
lea eax, [ebp + eax*2]
movzx ecx, word [ebp + 2]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
push eax
push dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
add ebp, 4
mov eax, dword [esp + 0x158]
mov dword [eax + 0x80], ebp
mov dword [esp + 4], 0xfffffc1f
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 8]
lea ecx, [ecx + 2]
mov edx, dword [esp + 0x18]
cmp ecx, dword [edx]
jb 0x6ce5a6
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne 0x6ce5a6
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x6ce5a6
mov ecx, dword [esp + 8]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
cmp dword [esp + 0x34], 0
mov ecx, dword [esp + 0x28]
je 0x6d0792
test eax, eax
jne case.0x6d0814.6
dec dword [esp + 0x10]
lea eax, [ebx - 6]
movzx ebx, ax
mov edx, dword [esp + 0x10]
inc edx
cmp edx, ecx
jge 0x6d1888
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edi, dword [esp + 0xc]
cmp edi, eax
mov esi, dword [esp + 0x158]
jae 0x6d1c4c
cmp dword [esp + 8], 0xc
mov dword [esp + 0x10], edx
jne 0x6cf8f8
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6cf8be
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edi
call fcn.006d3900
add esp, 0x20
test eax, eax
je 0x6cf8f8
jmp 0x6d1888
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp edi, eax
ja 0x6cf8f8
movzx eax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x6cf8f8
cmp ecx, 1
je 0x6d1888
mov edi, dword [esp + 0xc]
movzx eax, word [edi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x6d1888
movzx eax, word [edi]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x6cf929
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6cf92c
add edi, 2
mov dword [esp + 0xc], edi
cmp ebx, 0xf
ja case.default.0x6d0814
mov dword [esp + 4], 0xfffffff2
jmp dword [ebx*4 + 0x6d24b4]
cmp eax, 0xff
ja case.0x6cf941.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
je case.0x6cf941.7
jmp 0x6d1888
cmp eax, 0xff
ja 0x6d1888
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
jne case.0x6cf941.7
jmp 0x6d1888
cmp eax, 0xff
ja case.0x6cf941.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
je case.0x6cf941.7
jmp 0x6d1888
cmp eax, 0xff
ja 0x6d1888
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
jne case.0x6cf941.7
jmp 0x6d1888
cmp eax, 0xff
ja case.0x6cf941.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je case.0x6cf941.7
jmp 0x6d1888
cmp eax, 0xff
ja 0x6d1888
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
jne case.0x6cf941.7
jmp 0x6d1888
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je case.0x6cf941.7
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [edx]
jb case.0x6cf941.7
mov edx, dword [esp + 0x158]
cmp dword [edx + 0x18], 0
jne case.0x6cf941.7
mov edx, dword [esp + 0x48]
cmp dword [edx], 2
jne case.0x6cf941.7
mov edx, dword [esp + 0x158]
movzx edx, word [edx + 0x34]
cmp eax, edx
jne case.0x6cf941.7
mov eax, dword [esp + 0x20]
mov dword [eax], 1
cmp ecx, 1
jle case.0x6cf941.7
jmp 0x6d0c2a
cmp eax, 0xc
jle 0x6cfbc6
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x6cfbd2
cmp eax, 0x85
je 0x6cfbd2
cmp eax, 0xd
mov dword [esp + 4], 0
jne case.0x6d0814.6
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
jae case.0x6cf941.7
mov eax, dword [esp + 0xc]
movzx eax, word [eax]
cmp eax, 0xa
jne case.0x6cf941.7
add dword [esp + 0xc], 2
jmp case.0x6cf941.7
cmp eax, 0x1fff
jle 0x6cfb8d
cmp eax, 0x202e
jg 0x6cfc08
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jae case.0x6cf941.7
jmp case.0x6d0814.6
cmp eax, 0x1fff
jle 0x6cfbe8
cmp eax, 0x202e
jg 0x6cfc4d
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jb case.0x6cf941.7
jmp case.0x6d0814.6
lea ecx, [eax - 0xa]
cmp ecx, 4
jb 0x6d1888
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x6d1888
cmp eax, 0x85
mov dword [esp + 4], 0
jne case.0x6cf941.7
jmp case.0x6d0814.6
lea ecx, [eax - 0xa]
cmp ecx, 4
jb case.0x6cf941.7
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb case.0x6cf941.7
cmp eax, 0x85
je case.0x6cf941.7
jmp 0x6d1888
cmp eax, 0x9f
jle 0x6cfc32
cmp eax, 0xa0
je 0x6d1888
cmp eax, 0x1680
je 0x6d1888
cmp eax, 0x180e
mov dword [esp + 4], 0
jne case.0x6cf941.7
jmp case.0x6d0814.6
lea ecx, [eax - 0xb]
cmp ecx, 2
jae 0x6cfc62
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x6c], 0
je case.0x6cf941.7
jmp 0x6d1888
cmp eax, 0x9f
jle 0x6cfc67
cmp eax, 0xa0
je case.0x6cf941.7
cmp eax, 0x1680
je case.0x6cf941.7
cmp eax, 0x180e
jmp 0x6cfc6f
cmp eax, 0x202f
je 0x6d1888
cmp eax, 0x205f
je 0x6d1888
cmp eax, 0x3000
mov dword [esp + 4], 0
jne case.0x6cf941.7
jmp case.0x6d0814.6
cmp eax, 9
je 0x6d1888
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x6cf941.7
jmp case.0x6d0814.6
cmp eax, 0x202f
je case.0x6cf941.7
cmp eax, 0x205f
je case.0x6cf941.7
cmp eax, 0x3000
jmp 0x6cfc6f
cmp eax, 0xa
jmp 0x6cfc6f
cmp eax, 9
je case.0x6cf941.7
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x6cf867
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
cmp ebx, esi
jb 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
cmp edi, edx
jb 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
cmp byte [esp + 4], 0
je 0x6d0652
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
dec edi
inc edi
cmp edi, dword [esp + 0x28]
jge 0x6d175d
sub esp, 4
mov ecx, ebx
mov ebp, dword [esp + 0xc]
mov edx, ebp
push dword [esp + 0x10]
mov esi, dword [esp + 0x160]
push esi
push dword [esp + 0x1c]
call fcn.006d2b00
add esp, 0x10
test eax, eax
js 0x6d1bb5
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov dword [esp + 0x14], ebp
mov ecx, ebp
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x6cfe88
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, edi
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp dword [esp + 0x34], 0
mov dword [esp + 4], eax
je 0x6d0d61
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x6d0814.6
dec ebx
movzx esi, cx
inc ebx
cmp ebx, dword [esp + 0x10]
jge 0x6d175d
mov eax, dword [esp + 0x18]
cmp edi, dword [eax]
jae 0x6d1c12
movzx eax, word [edi]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x6cffb3
add edi, 4
jmp 0x6cffbd
add edi, 2
cmp eax, 0x100
jb 0x6cffcb
mov edx, dword [esp + 0x14]
cmp esi, 0x6e
jne 0x6cffe7
jmp 0x6d175d
mov ecx, eax
shr ecx, 3
movzx ecx, byte [ebp + ecx + 2]
and al, 7
movzx eax, al
bt ecx, eax
mov edx, dword [esp + 0x14]
jae 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, edi
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x6cff84
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x158]
mov ecx, eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov ebp, dword [eax + ebx*4]
mov dword [esp + 0x10], ebp
mov ebp, ebx
or ebp, 1
mov dword [esp + 0x18], ebp
mov ebp, dword [eax + ebp*4]
mov dword [esp + 0x1c], ebp
sub ecx, edi
mov ebp, dword [eax + ecx*4]
mov dword [esp + 0x44], ebp
mov esi, dword [esp + 8]
mov dword [esp + 0x28], edx
mov edx, esi
mov ebp, dword [esp + 0x158]
sub edx, dword [ebp + 0x78]
sar edx, 1
mov ebp, dword [esp + 0x158]
mov ebp, dword [ebp + 0x94]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x158]
mov ebp, dword [ebp + 0xb0]
mov dword [esp + 4], ebp
mov dword [eax + ecx*4], edx
mov edx, dword [esp + 0x28]
movzx eax, dx
mov dword [esp + 0x34], eax
mov ecx, esi
cmp dword [esp + 0x34], 0x88
jb 0x6d022b
mov eax, dword [esp + 0x158]
mov dword [eax + 0x9c], 2
movzx eax, byte [edx + 0x7b47d4]
mov edx, dword [esp + 0xc]
mov esi, edx
lea edx, [edx + eax*2]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
push eax
push dword [esp + 0x48]
mov ebp, dword [esp + 0x16c]
push ebp
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
cmp eax, 0xfffffc20
je 0x6d0280
test eax, eax
jne 0x6d1895
mov edx, dword [esp + 0xc]
mov ax, word [edx + 2]
mov esi, dword [esp + 8]
jmp 0x6d02ad
movzx eax, word [esi + 2]
lea ecx, [esi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x6d02eb
movzx edx, word [esi]
cmp edx, 0x77
mov esi, dword [esp + 8]
jne 0x6d02a1
mov edx, dword [esp + 0xc]
jmp 0x6d02ad
movzx ecx, word [ecx]
cmp ecx, 0x77
mov edx, dword [esp + 0xc]
jne 0x6d02eb
mov ecx, dword [esp + 0x158]
mov ebp, dword [esp + 0x14]
mov dword [ecx + 0x94], ebp
movzx eax, ax
mov ebp, dword [esp + 4]
mov dword [ecx + 0xb0], ebp
movzx ecx, word [edx + eax*2]
lea eax, [edx + eax*2]
mov edx, 0x77
cmp ecx, 0x77
mov dword [esp + 0xc], eax
je 0x6d020e
xor esi, esi
jmp 0x6d18a9
mov dword [esp + 4], 0xfffffc20
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
cmp eax, 0xfffffffe
jne 0x6d0341
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jb 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov dword [esp + 4], 0xfffffffa
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
jmp 0x6d0553
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov dword [esp + 0x14], ecx
push eax
push dword [esp + 0x48]
push esi
push ebx
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
mov ecx, dword [esp + 8]
cmp ecx, edi
jbe 0x6d175d
movzx eax, word [ecx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x2c]
je 0x6d0593
add ecx, 0xfffffffe
jmp 0x6d0535
add ecx, 0xfffffffc
jmp 0x6d0535
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
cmp edi, dword [esp + 0x28]
mov esi, dword [esp + 8]
jge 0x6d1a99
mov esi, dword [esp + 8]
sub esp, 4
mov ecx, ebx
mov edx, esi
push dword [esp + 0x10]
push dword [esp + 0x160]
push dword [esp + 0x1c]
call fcn.006d2b00
add esp, 0x10
test eax, eax
js 0x6d1a4f
lea esi, [esi + eax*2]
inc edi
cmp edi, dword [esp + 0x28]
jl 0x6d0664
jmp 0x6d1a87
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
dec ebx
inc ebx
cmp ebx, dword [esp + 0x10]
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov eax, ecx
jae 0x6d1d02
lea ecx, [eax + 2]
movzx eax, word [eax]
cmp dword [esp + 0x34], 0
je 0x6d0735
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6d0735
shl eax, 0xa
and eax, 0xffc00
mov edx, dword [esp + 0xc]
movzx ecx, word [edx + 2]
add edx, 4
mov dword [esp + 0xc], edx
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6d0739
mov dword [esp + 0xc], ecx
sub esp, 4
push dword [esp + 0x38]
push edi
push eax
call fcn.006d3ce0
add esp, 0x10
test eax, eax
je 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x6d06d5
jmp case.0x6d0814.6
test eax, eax
jne case.0x6d0814.6
dec dword [esp + 0x10]
lea eax, [ebx - 6]
movzx ebx, ax
mov edx, dword [esp + 0x10]
inc edx
cmp edx, ecx
jge 0x6d1888
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edi, dword [esp + 0xc]
cmp edi, ecx
jae 0x6d1d64
cmp dword [esp + 8], 0xc
mov dword [esp + 0x10], edx
jne 0x6d07fd
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x6d083b
sub esp, 0xc
push 0
push dword [esp + 0x58]
push ecx
push eax
push edi
call fcn.006d3900
add esp, 0x20
test eax, eax
je 0x6d087c
jmp 0x6d1888
cmp ebx, 0xf
ja case.default.0x6d0814
lea ebp, [edi + 2]
movzx eax, word [edi]
mov dword [esp + 4], 0xfffffff2
jmp dword [ebx*4 + 0x6d24f4]
cmp eax, 0xff
ja case.0x6d0814.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
je case.0x6d0814.7
jmp 0x6d1888
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
lea edx, [eax + eax]
sub ecx, edx
cmp edi, ecx
ja 0x6d087c
movzx ecx, word [edi]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x6d087c
cmp eax, 1
je 0x6d1888
mov edi, dword [esp + 0xc]
movzx eax, word [edi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x6d1888
lea ebp, [edi + 2]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je case.0x6d0814.7
mov ecx, dword [esp + 0x18]
cmp ebp, dword [ecx]
jb case.0x6d0814.7
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne case.0x6d0814.7
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne case.0x6d0814.7
mov ecx, dword [esp + 0xc]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne case.0x6d0814.7
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle case.0x6d0814.7
jmp 0x6d0c2a
cmp eax, 0xff
ja 0x6d1888
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
jne case.0x6d0814.7
jmp 0x6d1888
cmp eax, 0xff
ja case.0x6d0814.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
je case.0x6d0814.7
jmp 0x6d1888
cmp eax, 0xff
ja 0x6d1888
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
jne case.0x6d0814.7
jmp 0x6d1888
cmp eax, 0xff
ja case.0x6d0814.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je case.0x6d0814.7
jmp 0x6d1888
cmp eax, 0xff
ja 0x6d1888
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
jne case.0x6d0814.7
jmp 0x6d1888
movsx edx, ax
cmp edx, 0xc
jle 0x6d0b08
lea edx, [eax - 0x2028]
movzx edx, dx
cmp edx, 2
jb 0x6d0b17
movzx eax, ax
cmp eax, 0x85
je 0x6d0b17
cmp eax, 0xd
mov dword [esp + 4], 0
jne case.0x6d0814.6
cmp ebp, ecx
jae case.0x6d0814.7
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 2]
cmp eax, 0xa
jne case.0x6d0814.7
mov ebp, dword [esp + 0xc]
add ebp, 4
jmp case.0x6d0814.7
movsx ecx, ax
cmp ecx, 0x1fff
jle 0x6d0acb
cmp ecx, 0x202e
jg 0x6d0b59
add eax, 0xffffe000
movzx eax, ax
cmp eax, 0xb
mov dword [esp + 4], 0
jae case.0x6d0814.7
jmp case.0x6d0814.6
movsx ecx, ax
cmp ecx, 0x1fff
jle 0x6d0b2d
cmp ecx, 0x202e
jg 0x6d0ba1
add eax, 0xffffe000
movzx eax, ax
cmp eax, 0xb
mov dword [esp + 4], 0
jb case.0x6d0814.7
jmp case.0x6d0814.6
lea ecx, [eax - 0xa]
movzx ecx, cx
cmp ecx, 4
jb 0x6d1888
lea ecx, [eax - 0x2028]
movzx ecx, cx
cmp ecx, 2
jb 0x6d1888
movzx eax, ax
cmp eax, 0x85
mov dword [esp + 4], 0
jne case.0x6d0814.7
jmp case.0x6d0814.6
lea ecx, [eax - 0xa]
movzx ecx, cx
cmp ecx, 4
jb case.0x6d0814.7
lea ecx, [eax - 0x2028]
movzx ecx, cx
cmp ecx, 2
jb case.0x6d0814.7
movzx eax, ax
cmp eax, 0x85
je case.0x6d0814.7
jmp 0x6d1888
movzx eax, ax
cmp ecx, 0x9f
jle 0x6d0b86
cmp eax, 0xa0
je 0x6d1888
cmp eax, 0x1680
je 0x6d1888
cmp eax, 0x180e
mov dword [esp + 4], 0
jne case.0x6d0814.7
jmp case.0x6d0814.6
lea ecx, [eax - 0xb]
movzx ecx, cx
cmp ecx, 2
jae 0x6d0bb9
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x6c], 0
je case.0x6d0814.7
jmp 0x6d1888
movzx eax, ax
cmp ecx, 0x9f
jle 0x6d0bc1
cmp eax, 0xa0
je case.0x6d0814.7
cmp eax, 0x1680
je case.0x6d0814.7
cmp eax, 0x180e
jmp 0x6d0bc9
movzx eax, ax
cmp eax, 0x202f
je 0x6d1888
cmp eax, 0x205f
je 0x6d1888
cmp eax, 0x3000
mov dword [esp + 4], 0
jne case.0x6d0814.7
jmp case.0x6d0814.6
cmp eax, 9
je 0x6d1888
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x6d0814.7
jmp case.0x6d0814.6
movzx eax, ax
cmp eax, 0x202f
je case.0x6d0814.7
cmp eax, 0x205f
je case.0x6d0814.7
cmp eax, 0x3000
jmp 0x6d0bc9
movzx eax, ax
cmp eax, 0xa
jmp 0x6d0bc9
cmp eax, 9
je case.0x6d0814.7
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, ebp
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov dword [esp + 0xc], ebp
je 0x6d07a4
jmp case.0x6d0814.6
mov dword [esp + 4], 0xfffffff2
jmp case.0x6d0814.6
mov dword [esp + 4], 0xfffffff4
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
mov ecx, dword [esp + 8]
cmp ecx, dword [esp + 0xc]
jbe 0x6d175d
lea edi, [ecx - 2]
cmp dword [esp + 0x34], 0
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x2c]
je 0x6d0cb0
movzx eax, word [ecx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
mov edx, dword [esp + 0x14]
jne 0x6d0cb4
add ecx, 0xfffffffc
mov edi, ecx
jmp 0x6d0cb4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, edi
push eax
push dword [esp + 0x48]
push esi
push ebx
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov dword [esp + 8], edi
je 0x6d0c72
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x6d0814.6
movzx esi, cx
cmp ebx, dword [esp + 0x10]
jge 0x6d175d
mov eax, dword [esp + 0x18]
cmp edi, dword [eax]
jae 0x6d1da2
movzx eax, word [edi]
cmp eax, 0x100
mov edx, dword [esp + 0x14]
jb 0x6d0d9e
cmp esi, 0x6e
jne 0x6d0dbc
jmp 0x6d175d
mov ecx, eax
and ecx, 0xfff8
shr ecx, 3
movzx ecx, byte [ebp + ecx + 2]
and al, 7
movzx eax, al
bt ecx, eax
jae 0x6d175d
add edi, 2
inc ebx
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, edi
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x6d0d70
jmp case.0x6d0814.6
mov dword [esp + 4], 0
cmp dword [esp + 8], edi
jb case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ebx, dword [esp + 0x14]
mov ecx, ebx
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6d1ae9
add ebx, 0xfffffffe
mov dword [esp + 4], 0
mov dword [esp + 8], ebx
cmp ebx, edi
jae 0x6d0e0c
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x6d0814.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, eax
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp edx, dword [eax]
jae 0x6d1ddc
lea eax, [edx + 2]
cmp dword [esp + 0x34], 0
je 0x6d0ecf
movzx ecx, word [edx]
and ecx, 0xfc00
cmp ecx, 0xd800
je 0x6d0ed5
mov dword [esp + 0xc], eax
jmp 0x6d0edc
add edx, 4
mov dword [esp + 0xc], edx
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x44], 0
jne 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x6d0e93
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x6d0814.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x6d1e1a
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x6d0fc3
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6d0fc3
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
mov dword [esp + 0xc], esi
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6d0fc7
mov dword [esp + 0xc], ecx
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x19
add ecx, eax
mov edx, ecx
and edx, 0x7fffff80
sar ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x7b8c54]
movzx eax, byte [eax*8 + 0x7b53d5]
add al, 0xfb
xor ecx, ecx
cmp al, 4
ja 0x6d1017
movsx eax, al
mov ecx, dword [eax*4 + 0x7b47b0]
cmp dword [esp + 0x44], ecx
mov edx, dword [esp + 0x14]
je 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x6d0f63
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x6d0814.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x6d1e58
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x6d10f2
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6d10f2
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
mov dword [esp + 0xc], esi
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6d10f6
mov dword [esp + 0xc], ecx
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x19
add ecx, eax
mov edx, ecx
and edx, 0x7fffff80
sar ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x7b8c54]
movzx eax, byte [eax*8 + 0x7b53d5]
xor ecx, ecx
mov edx, dword [esp + 0x54]
cmp dword [eax*4 + 0x7b48e8], edx
sete cl
cmp dword [esp + 0x44], ecx
je 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x6d1092
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x6d0814.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x6d1e96
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x6d121f
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6d121f
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
mov dword [esp + 0xc], esi
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6d1223
mov dword [esp + 0xc], ecx
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x19
add ecx, eax
mov edx, ecx
and edx, 0x7fffff80
sar ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x7b8c54]
movzx eax, byte [eax*8 + 0x7b53d5]
xor ecx, ecx
cmp dword [esp + 0x54], eax
sete cl
cmp dword [esp + 0x44], ecx
je 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x6d11bf
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x6d0814.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x6d1ed4
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x6d1345
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6d1345
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
mov dword [esp + 0xc], esi
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6d1349
mov dword [esp + 0xc], ecx
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x19
add ecx, eax
mov edx, ecx
and edx, 0x7fffff80
sar ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x7b8c54]
movzx eax, byte [eax*8 + 0x7b53d4]
xor ecx, ecx
cmp dword [esp + 0x54], eax
sete cl
cmp dword [esp + 0x44], ecx
je 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x6d12e5
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x6d0814.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x6d1f12
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x6d146b
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6d146b
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
mov dword [esp + 0xc], esi
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6d146f
mov dword [esp + 0xc], ecx
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x19
add ecx, eax
mov edx, ecx
and edx, 0x7fffff80
sar ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x7b8c54]
movzx eax, byte [eax*8 + 0x7b53d5]
mov eax, dword [eax*4 + 0x7b48e8]
or eax, 2
xor ecx, ecx
cmp eax, 3
sete cl
cmp dword [esp + 0x44], ecx
je 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x6d140b
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x6d0814.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x6d1f50
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x6d159a
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6d159a
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
mov dword [esp + 0xc], esi
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6d159e
mov dword [esp + 0xc], ecx
mov edi, dword [esp + 0x158]
mov ebx, dword [esp + 0x2c]
mov ecx, eax
sar ecx, 0x1f
shr ecx, 0x19
add ecx, eax
mov edx, ecx
and edx, 0x7fffff80
sar ecx, 7
movzx ecx, byte [ecx + 0x7b6a54]
shl ecx, 7
mov esi, eax
sub esi, edx
add esi, ecx
movzx ecx, word [esi + esi + 0x7b8c54]
movzx ecx, byte [ecx*8 + 0x7b53d5]
mov ecx, dword [ecx*4 + 0x7b48e8]
or ecx, 2
cmp ecx, 3
sete cl
cmp eax, 0x5f
sete al
or al, cl
movzx eax, al
cmp dword [esp + 0x44], eax
je 0x6d175d
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push edi
push ebx
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x6d153a
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x6d0814.6
mov eax, dword [esp + 0x54]
lea ebx, [eax*4 + 0x7b529c]
cmp dword [esp + 0x10], ecx
jge 0x6d175d
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0xc]
cmp edi, dword [eax]
jae 0x6d1f83
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x6d16d0
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6d16d0
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6d16d2
mov edi, ecx
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx*4 + 0x7b5298]
cmp eax, ecx
jb 0x6d16f0
mov edx, ebx
cmp eax, ecx
je 0x6d1707
mov ecx, dword [edx]
add edx, 4
cmp eax, ecx
jae 0x6d16e3
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x14]
jne 0x6d171d
jmp 0x6d1888
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x14]
jne 0x6d1888
inc dword [esp + 0x10]
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov dword [esp + 0x18], edi
mov ecx, edi
push eax
push dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov ecx, dword [esp + 0x28]
je 0x6d167b
jmp case.0x6d0814.6
mov dword [esp + 4], 0
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x6d0814.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x6d1888
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x6d1fb2
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x6d17fc
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6d17fc
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6d17fe
mov esi, ecx
mov dword [esp + 0xc], esi
mov cl, 1
cmp eax, 0x24
je 0x6d1839
cmp eax, 0x40
je 0x6d1839
cmp eax, 0x60
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
je 0x6d1844
lea ecx, [eax - 0xa0]
cmp ecx, 0xd760
setb dl
cmp eax, 0xdfff
seta cl
or cl, dl
jmp 0x6d1844
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
movzx eax, cl
cmp dword [esp + 0x44], eax
mov edx, dword [esp + 0x14]
je 0x6d1888
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push esi
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x6d17a0
jmp case.0x6d0814.6
mov dword [esp + 4], 0
jmp case.0x6d0814.6
mov esi, 0xfffffc1b
cmp eax, 0xfffffc1b
mov dword [esp + 4], eax
jne case.0x6d0814.6
mov ecx, dword [esp + 0x158]
mov edx, ecx
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0x10]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov dword [ecx + eax*4], ebx
mov edx, dword [edx + 0x10]
sub edx, edi
mov eax, dword [esp + 0x44]
mov dword [ecx + edx*4], eax
mov dword [esp + 4], esi
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x158]
mov esi, eax
mov dword [esi + 0x9c], 2
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
jmp 0x6cddc2
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
cmp eax, 0xfffffffe
jne 0x6d1a87
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1a87
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x24]
cmp ecx, dword [edx]
jbe 0x6d1a87
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
mov dword [esp + 4], 0
cmp esi, dword [esp + 8]
jb case.0x6d0814.6
mov eax, dword [esp + 0x10]
add eax, eax
neg eax
mov edi, eax
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, esi
mov edx, dword [esp + 0x20]
push eax
push dword [esp + 0x48]
push dword [esp + 0x16c]
push dword [esp + 0x44]
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
test eax, eax
jne 0x6d1ae9
add esi, edi
mov dword [esp + 4], 0
cmp esi, dword [esp + 8]
jae 0x6d1aa3
jmp case.0x6d0814.6
mov dword [esp + 4], eax
jmp case.0x6d0814.6
mov dword [esp + 4], ecx
jmp case.0x6d0814.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
cmp eax, 0xfffffffe
jne 0x6d1bc4
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jb 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], ebx
mov edx, ebx
push eax
push dword [esp + 0x48]
push ebp
push edi
push dword [esp + 0x4c]
call fcn.006c68b0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x6d0814.6
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xb8], ecx
mov dword [esp + 4], 0xfffffc1b
jmp case.0x6d0814.6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push eax
push dword [esp + 0x48]
push ebp
push dword [esp + 0x44]
push dword [esp + 0x4c]
jmp 0x6cedce
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x160]
inc eax
sub esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, ebx
push eax
push dword [esp + 0x48]
push ebp
push dword [esp + 0x44]
push dword [esp + 0x4c]
jmp 0x6d1988
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6ce5a6
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6ce5a6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6ce5a6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
jmp 0x6d1fdf
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6d1fdf
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6d1fdf
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x6d0814.6
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
add esp, 0x13c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 4], 0xfffffc1b
jmp case.0x6d0814.6