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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x13c
test edx, edx
je 0x688d8e
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.0x68b824.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 0x688f07
cmp dword [ecx + 0x9c], 2
jne 0x683e40
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 0x683e40
movzx eax, word [esp + 0x28]
cmp eax, 0x10
jne 0x681ee1
jmp 0x68c76d
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 0x682cc9
jmp 0x68c76d
movzx eax, word [esp + 0x28]
cmp eax, 0x10
je 0x681ee1
jmp 0x68c76d
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 0x682cc9
jmp 0x68cb0b
add ebp, 2
mov dword [esp + 0x14], ebp
jmp 0x683e40
cmp eax, 0x24
je case.0x686687.0
cmp eax, 0x60
je case.0x686687.0
cmp eax, 0x40
je case.0x686687.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 0x681ee1
jmp 0x68c76d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x681aa4
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x681aa4
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x68bc3a
mov dword [esp + 8], ebp
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x6889c5
cmp eax, 0x202f
mov dword [esp + 4], 0
je 0x681a24
cmp eax, 0x3000
je 0x681a24
cmp eax, 0x205f
je 0x681a24
jmp case.0x68b824.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 0x681bc2
test ebx, ebx
jle 0x681c1b
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
xor esi, esi
mov edi, dword [esp + 8]
cmp edi, edx
jae 0x6890d4
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x681b47
add edi, 4
jmp 0x681b52
add edi, 2
cmp ecx, 0x100
jb 0x681b61
movzx eax, word [esp + 0x28]
cmp eax, 0x6e
jne 0x681b7a
jmp 0x68c76d
mov eax, ecx
shr eax, 3
movzx eax, byte [ebp + eax + 2]
and cl, 7
movzx ecx, cl
bt eax, ecx
jae 0x68c76d
inc esi
cmp esi, ebx
jl 0x681b29
jmp 0x681c1f
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 0x681b15
test ebx, ebx
jle 0x681c1b
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
xor esi, esi
mov edi, dword [esp + 8]
cmp edi, edx
jae 0x68956a
movzx eax, word [edi]
cmp eax, 0x100
jb 0x681bf3
movzx eax, word [esp + 0x28]
cmp eax, 0x6e
jne 0x681c11
jmp 0x68c76d
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 0x68c76d
add edi, 2
inc esi
cmp esi, ebx
jl 0x681bd2
jmp 0x681c1f
mov edi, dword [esp + 8]
cmp ebx, dword [esp + 0x10]
mov dword [esp + 8], edi
mov edx, dword [esp + 0x28]
je 0x683e40
cmp dword [esp + 4], 0
jne 0x68af48
cmp dword [esp + 0x34], 0
je 0x681ccc
cmp ebx, dword [esp + 0x10]
mov eax, edi
jge 0x681d5d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, edi
cmp eax, dword [esp + 4]
jae 0x681d2d
mov ecx, eax
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
mov esi, 2
cmp eax, 0xd800
je 0x681c8e
mov esi, 1
cmp edx, 0x100
jb 0x681c9d
movzx eax, word [esp + 0x28]
cmp eax, 0x6e
jne 0x681cbb
jmp 0x681d57
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 0x681d57
mov eax, ecx
lea eax, [eax + esi*2]
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x681c5f
jmp 0x681d5d
cmp ebx, dword [esp + 0x10]
mov eax, edi
jge 0x681da1
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, edi
cmp eax, ecx
jae 0x681d71
mov esi, eax
movzx eax, word [eax]
cmp eax, 0x100
jb 0x681d01
movzx eax, dx
cmp eax, 0x6e
jne 0x681d1f
jmp 0x681d9b
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 0x681d9b
mov eax, esi
add eax, 2
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x681ce0
jmp 0x681da1
mov edx, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x681d5b
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x681d5b
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov eax, edx
jle 0x681d5d
jmp 0x6894d8
mov eax, ecx
jmp 0x681d5d
mov eax, edx
mov dword [esp + 8], eax
cmp byte [esp + 0xc], 0
jne 0x683e40
jmp 0x68b51c
mov edx, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x681d9f
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x681d9f
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov eax, edx
jle 0x681da1
jmp 0x6894d8
mov eax, esi
jmp 0x681da1
mov eax, edx
mov dword [esp + 8], eax
cmp byte [esp + 0xc], 0
jne 0x683e40
jmp 0x68be0a
cmp edx, 0xa
mov dword [esp + 4], 0
jne case.0x68b824.6
add ebp, 2
mov dword [esp + 0x14], ebp
mov dword [esp + 8], eax
jmp 0x683e40
xor ecx, ecx
movzx eax, cl
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
jae 0x681e4f
mov ebx, edx
movzx edx, word [edi]
mov ecx, edx
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x681e12
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 0x6820aa
mov cl, 1
cmp edx, 0x5f
je 0x6820c5
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 + 0x8882d4]
shl ecx, 7
sub edx, esi
add edx, ecx
jmp 0x682088
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x681e7f
mov esi, edx
mov edx, dword [esp + 0x24]
cmp edi, dword [edx]
jbe 0x681e76
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
jg 0x6894d8
xor ecx, ecx
mov edx, esi
jmp 0x6820c7
xor ecx, ecx
jmp 0x6820c7
xor eax, eax
movzx esi, al
test esi, esi
je case.0x685289.4
jmp 0x688604
cmp eax, 0x84
jg 0x681eba
add eax, 0xfffffff7
cmp eax, 0x17
ja case.0x6866a8.8203
mov edx, 0x80001f
bt edx, eax
jb case.0x686687.0
jmp case.0x6866a8.8203
cmp eax, 0x85
je case.0x686687.0
cmp eax, 0xa0
je case.0x686687.0
cmp eax, 0x1680
jne case.0x6866a8.8203
movzx eax, word [esp + 0x28]
cmp eax, 0xf
je 0x68c76d
mov dword [esp + 8], ebx
add ebp, 6
mov dword [esp + 0x14], ebp
jmp 0x683e40
mov eax, edx
mov dword [esp + 8], eax
cmp dword [esp + 0x4c], 0
jne 0x683e40
jmp 0x6886b5
movzx edx, word [ebx + 2]
cmp dx, word [edi + 0x36]
jne 0x68a03e
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne 0x68a03e
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x681a24
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x681a24
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x681a24
jmp 0x68a329
cmp eax, 9
mov dword [esp + 4], 0
je 0x681a24
cmp eax, 0x20
je 0x681a24
jmp case.0x68b824.6
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x683526
movzx ebx, word [edi]
mov esi, ebx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x681fb5
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 0x682000
cmp ebx, 0x202e
jg 0x682022
add ebx, 0xffffe000
cmp ebx, 0xb
jae 0x682046
cmp esi, ecx
je 0x683e26
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 0x681f72
jmp 0x683e26
cmp ebx, 0x9f
jle 0x68203c
cmp ebx, 0xa0
je 0x681fd5
cmp ebx, 0x1680
je 0x681fd5
cmp ebx, 0x180e
je 0x681fd5
jmp 0x682046
cmp ebx, 0x202f
je 0x681fd5
cmp ebx, 0x205f
je 0x681fd5
cmp ebx, 0x3000
je 0x681fd5
jmp 0x682046
cmp ebx, 9
je 0x681fd5
cmp ebx, 0x20
je 0x681fd5
xor esi, esi
cmp esi, ecx
jne 0x681fdd
jmp 0x683e26
xor ecx, ecx
movzx eax, cl
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
jae 0x681e4f
mov ebx, edx
cmp dword [esi + 0x58], 0
movzx edx, word [edi]
je 0x6820aa
mov cl, 1
cmp edx, 0x5f
je 0x6820c5
mov ecx, edx
shr ecx, 7
movzx ecx, byte [ecx + 0x8882d4]
shl ecx, 7
and edx, 0x7f
or edx, ecx
movzx ecx, word [edx + edx + 0x88a4d4]
movzx ecx, byte [ecx*8 + 0x886c55]
mov ecx, dword [ecx*4 + 0x886168]
or ecx, 2
cmp ecx, 3
sete cl
jmp 0x6820c5
cmp edx, 0xff
ja 0x6820c3
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov cl, byte [ecx + edx]
and cl, 0x10
shr cl, 4
jmp 0x6820c5
xor ecx, ecx
mov edx, ebx
movzx ecx, cl
add ebp, 2
movzx edx, dx
cmp edx, 5
jne 0x6820ee
mov dword [esp + 4], 0
cmp eax, ecx
mov dword [esp + 0x14], ebp
jne 0x683e40
jmp case.0x68b824.6
mov dword [esp + 4], 0
cmp eax, ecx
mov dword [esp + 0x14], ebp
je 0x683e40
jmp case.0x68b824.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 0x689460
lea ecx, [edx + 2]
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x682173
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x682173
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 0x682177
mov dword [esp + 8], ecx
sub esp, 4
push dword [esp + 0x38]
push edi
push eax
call fcn.0068ecf0
add esp, 0x10
test eax, eax
je 0x68c76d
inc esi
cmp esi, ebx
jl 0x682120
mov eax, dword [esp + 8]
mov dword [esp + 0xc], eax
cmp ebx, dword [esp + 0x10]
je 0x683e40
test ebp, ebp
jne 0x68b6a9
cmp ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jge 0x682257
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
cmp ecx, dword [eax]
jae 0x68222b
mov ebp, ecx
movzx eax, word [ecx]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x682208
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x682208
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.0068ecf0
add esp, 0x10
mov ecx, ebp
test eax, eax
je 0x682257
lea ecx, [ecx + esi*2]
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x6821c1
jmp 0x682257
mov edx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x682255
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x682255
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov ecx, edx
jle 0x682257
jmp 0x6894d8
mov ecx, edx
mov dword [esp + 8], ecx
cmp byte [esp + 4], 0
jne 0x683e40
jmp 0x68bc47
mov ecx, edx
mov dword [esp + 8], ecx
cmp dword [esp + 0x4c], 0
jne 0x683e40
jmp 0x6888ad
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x683dec
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x683dec
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x683dec
jmp 0x68bc3a
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x681dc6
mov edx, dword [esp + 0x24]
cmp eax, dword [edx]
jbe 0x681dc6
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
jle 0x681dc6
jmp 0x6894d8
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 0x68b031
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x68c76d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
je 0x68c76d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6822f5
jmp 0x684b9f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x68a731
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x68235c
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
jne 0x68c76d
lea edx, [edi + 2]
mov esi, edx
cmp edx, eax
jae 0x682377
movzx edx, word [edi + 2]
and edx, 0xfc00
cmp edx, 0xdc00
je 0x68237b
mov edx, esi
jmp 0x682380
add edi, 4
mov edx, edi
inc ecx
cmp ecx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
mov edi, edx
jl 0x68233c
jmp 0x684b9f
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 0x68b06f
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x68c76d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
je 0x68c76d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6823a2
jmp 0x684b9f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x68a76b
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x682409
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
jne 0x68c76d
lea edx, [edi + 2]
mov esi, edx
cmp edx, eax
jae 0x682424
movzx edx, word [edi + 2]
and edx, 0xfc00
cmp edx, 0xdc00
je 0x682428
mov edx, esi
jmp 0x68242d
add edi, 4
mov edx, edi
inc ecx
cmp ecx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
mov edi, edx
jl 0x6823e9
jmp 0x684b9f
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 0x68b0ad
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x68c76d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
je 0x68c76d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x68244f
jmp 0x684b9f
xor esi, esi
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp ebx, eax
jae 0x68a81c
mov edi, dword [esp + 0x158]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x6824cf
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push ebx
call fcn.0068e910
add esp, 0x20
test eax, eax
mov edx, dword [esp + 0x10]
je 0x682502
jmp 0x68c76d
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 0x682502
movzx eax, word [ebx]
cmp ax, word [edi + 0x34]
jne 0x682502
cmp ecx, 1
je 0x68c76d
movzx eax, word [ebx + 2]
cmp ax, word [edi + 0x36]
je 0x68c76d
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x682527
lea edx, [ebx + 2]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp edx, eax
jae 0x682536
mov ecx, ebp
mov edx, dword [esp + 0x10]
cmp ecx, eax
jb 0x682546
jmp 0x68255b
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea ecx, [ebx + 2]
cmp ecx, eax
jb 0x682546
jmp 0x68255b
cmp dword [edi + 0x18], 0
mov edx, dword [esp + 0x10]
je 0x68256f
mov ecx, ebp
cmp ecx, eax
jae 0x68255b
movzx eax, word [ebx + 2]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x68255b
add ebx, 4
mov ecx, ebx
inc esi
cmp esi, edx
mov dword [esp + 0xc], ecx
mov ebx, ecx
jl 0x682490
jmp 0x684b9f
mov edx, dword [esp + 0x48]
cmp dword [edx], 2
jne 0x68251b
movzx edx, word [ebx]
cmp dx, word [edi + 0x34]
jne 0x68251b
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
mov ecx, ebp
mov edx, dword [esp + 0x10]
jle 0x682542
jmp 0x6894d8
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov esi, dword [esp + 8]
cmp esi, eax
jae 0x68a2ef
lea edi, [esi + 2]
cmp edi, eax
jae 0x6825cd
movzx edx, word [esi + 2]
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x6825cd
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 0x6825a7
jmp 0x684b9f
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 0x68af0a
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x68262f
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x682632
add edi, 2
mov ebx, dword [esp + 0x158]
mov dword [esp + 0xc], edi
cmp edx, 0xc
jle 0x68267f
lea edi, [edx - 0x2028]
cmp edi, 2
jb 0x682687
cmp edx, 0x85
je 0x682687
cmp edx, 0xd
mov dword [esp + 4], 0
jne case.0x68b824.6
mov esi, dword [esp + 0xc]
cmp esi, eax
jae 0x682691
movzx edx, word [esi]
cmp edx, 0xa
jne 0x682691
add esi, 2
mov dword [esp + 0xc], esi
jmp 0x682691
lea edi, [edx - 0xb]
cmp edi, 2
jae 0x6826a1
cmp dword [ebx + 0x6c], 0
jne 0x68c76d
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6825f1
jmp 0x684b9f
cmp edx, 0xa
mov dword [esp + 4], 0
je 0x682691
jmp case.0x68b824.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 0x68acd1
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x682734
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 0x68273f
cmp edx, 0x9f
jle 0x68277c
cmp edx, 0xa0
je 0x68cfef
cmp edx, 0x1680
je 0x68cfef
cmp edx, 0x180e
jne 0x68278e
jmp 0x68cfef
add edi, 2
cmp edx, 0x1fff
jle 0x682707
cmp edx, 0x202e
jg 0x682757
add edx, 0xffffe000
cmp edx, 0xb
jae 0x68278e
jmp 0x68cfef
cmp edx, 0x202f
je 0x68cfef
cmp edx, 0x205f
je 0x68cfef
cmp edx, 0x3000
jne 0x68278e
jmp 0x68cfef
cmp edx, 9
je 0x68cfef
cmp edx, 0x20
je 0x68cfef
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6826c3
jmp 0x684b9f
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 0x68ad0f
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x68281b
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 0x682826
cmp edx, 0x9f
jle 0x68286e
cmp edx, 0xa0
je 0x68283d
cmp edx, 0x1680
je 0x68283d
cmp edx, 0x180e
je 0x68283d
jmp 0x68cfef
add edi, 2
cmp edx, 0x1fff
jle 0x6827f6
cmp edx, 0x202e
jg 0x682851
add edx, 0xffffe000
cmp edx, 0xb
jae 0x68cfef
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6827b2
jmp 0x684b9f
cmp edx, 0x202f
je 0x68283d
cmp edx, 0x3000
je 0x68283d
cmp edx, 0x205f
je 0x68283d
jmp 0x68cfef
cmp edx, 9
je 0x68283d
cmp edx, 0x20
je 0x68283d
jmp 0x68cfef
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 0x68ad4d
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6828cb
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6828ce
add edi, 2
lea esi, [edx - 0xa]
cmp esi, 4
jb 0x68cfef
lea esi, [edx - 0x2028]
cmp esi, 2
jb 0x68cfef
cmp edx, 0x85
je 0x68cfef
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x68288d
jmp 0x684b9f
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 0x68ad8b
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x682953
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x682956
add edi, 2
lea esi, [edx - 0xa]
cmp esi, 4
jb 0x682975
lea esi, [edx - 0x2028]
cmp esi, 2
jb 0x682975
cmp edx, 0x85
jne 0x68cfef
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x682915
jmp 0x684b9f
mov al, 1
movzx esi, al
test esi, esi
jne 0x688604
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 0x683e40
jmp 0x68861b
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
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 0x683526
movzx esi, word [ebx]
mov edi, esi
and edi, 0xfc00
mov edx, 1
cmp edi, 0xd800
jne 0x682a1f
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 0x682a41
lea edi, [esi - 0x2028]
cmp edi, 2
jb 0x682a41
cmp esi, 0x85
je 0x682a41
xor ebx, ebx
cmp ebx, ecx
je 0x683e26
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 0x6829dc
jmp 0x683e26
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 0x68b5a8
movzx edx, word [edi]
cmp edx, 0xff
ja 0x68c76d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
je 0x68c76d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x682a7c
jmp 0x684b9f
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 0x68b0eb
movzx edx, word [edi]
cmp edx, 0xff
ja 0x682af1
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
jne 0x68c76d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x682aca
jmp 0x684b9f
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 0x68b5e6
movzx edx, word [edi]
cmp edx, 0xff
ja 0x68c76d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
je 0x68c76d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x682b14
jmp 0x684b9f
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 0x68b129
movzx edx, word [edi]
cmp edx, 0xff
ja 0x682b89
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
jne 0x68c76d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x682b62
jmp 0x684b9f
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 0x68b624
movzx edx, word [edi]
cmp edx, 0xff
ja 0x68c76d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
je 0x68c76d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x682bac
jmp 0x684b9f
xor esi, esi
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp ebx, eax
jae 0x68b308
mov edi, dword [esp + 0x158]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x682c29
sub esp, 0xc
push 0
push dword [esp + 0x58]
push eax
push ecx
push ebx
call fcn.0068e910
add esp, 0x20
test eax, eax
je 0x682c58
jmp 0x68c76d
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp ebx, eax
ja 0x682c58
movzx eax, word [ebx]
cmp ax, word [edi + 0x34]
jne 0x682c58
cmp ecx, 1
je 0x68c76d
movzx eax, word [ebx + 2]
cmp ax, word [edi + 0x36]
je 0x68c76d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
lea edx, [ebx + 2]
test eax, eax
je 0x682c98
mov ecx, dword [esp + 0x18]
cmp edx, dword [ecx]
jb 0x682c98
cmp dword [edi + 0x18], 0
jne 0x682c98
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x682c98
movzx ecx, word [ebx]
cmp cx, word [edi + 0x34]
jne 0x682c98
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6894d8
inc esi
cmp esi, dword [esp + 0x10]
mov dword [esp + 0xc], edx
mov ebx, edx
jl 0x682bf0
jmp 0x684b9f
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 0x68cb49
lea eax, [ecx + edx*2]
mov dword [esp + 0xc], eax
jmp 0x684b9f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov ebp, dword [esp + 8]
cmp ebp, eax
jae 0x68b4e2
lea edx, [ebp + 2]
mov dword [esp + 0xc], edx
movsx edx, word [ebp]
cmp edx, 0xc
mov ebx, dword [esp + 0x158]
jle 0x682d42
lea edi, [edx - 0x2028]
movzx edi, di
cmp edi, 2
jb 0x682d4d
movzx edx, dx
cmp edx, 0x85
je 0x682d4d
cmp edx, 0xd
mov dword [esp + 4], 0
jne case.0x68b824.6
cmp dword [esp + 0xc], eax
jae 0x682d57
movzx edx, word [ebp + 2]
cmp edx, 0xa
jne 0x682d57
add ebp, 4
mov dword [esp + 0xc], ebp
jmp 0x682d57
lea edi, [edx - 0xb]
movzx edi, di
cmp edi, 2
jae 0x682d6b
cmp dword [ebx + 0x6c], 0
jne 0x68c76d
inc ecx
cmp ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
jl 0x682ce1
jmp 0x684b9f
movzx edx, dx
cmp edx, 0xa
mov dword [esp + 4], 0
je 0x682d57
jmp case.0x68b824.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 0x68b39f
movsx edx, word [edi]
movsx esi, dx
cmp edx, 0x1fff
jle 0x682dc5
cmp esi, 0x202e
jg 0x682df5
lea edx, [edx - 0x2000]
movzx edx, dx
cmp edx, 0xb
jae 0x682e2f
jmp 0x68cfef
movzx edx, dx
cmp esi, 0x9f
jle 0x682e1d
cmp edx, 0xa0
je 0x68cfef
cmp edx, 0x1680
je 0x68cfef
cmp edx, 0x180e
jne 0x682e2f
jmp 0x68cfef
movzx edx, dx
cmp edx, 0x202f
je 0x68cfef
cmp edx, 0x205f
je 0x68cfef
cmp edx, 0x3000
jne 0x682e2f
jmp 0x68cfef
cmp edx, 9
je 0x68cfef
cmp edx, 0x20
je 0x68cfef
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x682d90
jmp 0x684b9f
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 0x68b3dd
movsx edx, word [edi]
movsx esi, dx
cmp edx, 0x1fff
jle 0x682e9d
cmp esi, 0x202e
jg 0x682ec5
lea edx, [edx - 0x2000]
movzx edx, dx
cmp edx, 0xb
jae 0x68cfef
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x682e56
jmp 0x684b9f
movzx edx, dx
cmp esi, 0x9f
jle 0x682ee5
cmp edx, 0xa0
je 0x682e8a
cmp edx, 0x1680
je 0x682e8a
cmp edx, 0x180e
je 0x682e8a
jmp 0x68cfef
movzx edx, dx
cmp edx, 0x202f
je 0x682e8a
cmp edx, 0x3000
je 0x682e8a
cmp edx, 0x205f
je 0x682e8a
jmp 0x68cfef
cmp edx, 9
je 0x682e8a
cmp edx, 0x20
je 0x682e8a
jmp 0x68cfef
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 0x68b41b
movzx edx, word [edi]
lea esi, [edx - 0xa]
movzx esi, si
cmp esi, 4
jb 0x68cfef
lea esi, [edx - 0x2028]
movzx esi, si
cmp esi, 2
jb 0x68cfef
movzx edx, dx
cmp edx, 0x85
je 0x68cfef
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x682f04
jmp 0x684b9f
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 0x68b459
movzx edx, word [edi]
lea esi, [edx - 0xa]
movzx esi, si
cmp esi, 4
jb 0x682f9d
lea esi, [edx - 0x2028]
movzx esi, si
cmp esi, 2
jb 0x682f9d
movzx edx, dx
cmp edx, 0x85
jne 0x68cfef
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x682f66
jmp 0x684b9f
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
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 0x683526
movzx ecx, word [ecx]
mov esi, ecx
and esi, 0xfc00
mov edx, 2
cmp esi, 0xd800
je 0x683016
mov edx, 1
cmp ecx, 0xff
ja 0x683016
mov edx, dword [esp + 0x3c]
mov esi, dword [edx]
mov edx, 1
test byte [esi + ecx], 4
jne 0x683e26
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 0x682fd0
jmp 0x683e26
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
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 0x683526
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x683e26
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
je 0x683e26
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 4
je 0x683e26
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x683055
jmp 0x683e26
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
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 0x683526
movzx ecx, word [ecx]
mov esi, ecx
and esi, 0xfc00
mov edx, 2
cmp esi, 0xd800
je 0x683113
mov edx, 1
cmp ecx, 0xff
ja 0x683113
mov edx, dword [esp + 0x3c]
mov esi, dword [edx]
mov edx, 1
test byte [esi + ecx], 1
jne 0x683e26
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 0x6830cd
jmp 0x683e26
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
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 0x683526
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x683e26
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
je 0x683e26
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 1
je 0x683e26
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x683152
jmp 0x683e26
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
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 0x683526
movzx ecx, word [ecx]
mov esi, ecx
and esi, 0xfc00
mov edx, 2
cmp esi, 0xd800
je 0x683210
mov edx, 1
cmp ecx, 0xff
ja 0x683210
mov edx, dword [esp + 0x3c]
mov esi, dword [edx]
mov edx, 1
test byte [esi + ecx], 0x10
jne 0x683e26
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 0x6831ca
jmp 0x683e26
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
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 0x683526
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x683e26
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
je 0x683e26
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 0x10
je 0x683e26
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x68324f
jmp 0x683e26
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp esi, eax
jae 0x6833d4
mov ecx, dword [esp + 0x158]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x6832f8
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push esi
call fcn.0068e910
add esp, 0x20
test eax, eax
je 0x683335
jmp 0x683402
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp esi, eax
ja 0x683335
movzx eax, word [esi]
mov edx, dword [esp + 0x158]
cmp ax, word [edx + 0x34]
jne 0x683335
cmp ecx, 1
je 0x68343e
movzx eax, word [esi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x683452
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x68338e
lea edx, [esi + 2]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebx, edx
cmp edx, eax
jb 0x68338a
mov edx, dword [esp + 0x158]
cmp dword [edx + 0x18], 0
jne 0x68338a
mov edx, dword [esp + 0x48]
cmp dword [edx], 2
jne 0x68338a
movzx edx, word [esi]
mov edi, dword [esp + 0x158]
cmp dx, word [edi + 0x34]
jne 0x68338a
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
mov ecx, ebx
jle 0x683397
jmp 0x68bc3a
mov ecx, ebx
jmp 0x683397
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 0x6833be
movzx eax, word [esi + 2]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x6833be
add esi, 4
mov dword [esp + 8], esi
inc edx
mov dword [esp + 0x10], edx
cmp edx, ecx
mov esi, dword [esp + 8]
jl 0x6832bd
jmp 0x683e26
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x683416
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x68342a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov dword [esp + 8], esi
jle 0x683e26
jmp 0x68bc3a
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688bd2
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688bd2
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688bd2
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688bd2
mov dword [esp + 8], esi
jmp 0x683e26
cmp edx, 0x7fffffff
jne 0x683472
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 8], eax
jmp 0x683526
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jae 0x6834d0
lea edx, [ecx + 2]
mov dword [esp + 8], edx
cmp edx, eax
jae 0x6834b6
movzx edx, word [ecx + 2]
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x6834b6
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 0x68348e
jmp 0x683e26
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6834fe
mov edx, dword [esp + 0x24]
cmp ecx, dword [edx]
jbe 0x683512
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp eax, 1
mov dword [esp + 8], ecx
jle 0x683e26
jmp 0x68bc3a
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688bd2
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688bd2
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x683e26
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x683e26
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x683e26
jmp 0x68bc3a
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 0x683526
lea eax, [edx + eax*2]
mov dword [esp + 8], eax
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688bd2
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
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 0x683526
movzx ecx, word [edi]
mov esi, ecx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x6835ec
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 0x683643
cmp ecx, 0xd
jne 0x683613
mov esi, dword [esp + 8]
lea ecx, [esi + 2]
cmp ecx, eax
jae 0x683668
movzx edx, word [esi + 2]
cmp edx, 0xa
jne 0x68364a
add esi, 4
mov dword [esp + 8], esi
jmp 0x68364e
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x6c], 0
jne 0x683e26
lea esi, [ecx - 0xb]
cmp esi, 2
jb 0x683643
lea esi, [ecx - 0x2028]
cmp esi, 2
jb 0x683643
cmp ecx, 0x85
jne 0x683e26
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 0x6835a9
jmp 0x683e26
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688bd2
cmp eax, 0x3000
je case.0x686687.0
cmp eax, 0x180e
je case.0x686687.0
movzx eax, byte [ecx*8 + 0x886c55]
cmp dword [eax*4 + 0x886168], 6
jmp 0x688420
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
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 0x683dfc
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6836ee
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 4
jne 0x683dde
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6836c7
jmp 0x683dde
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
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 0x683dfc
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x683dde
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 4
je 0x683dde
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x683727
jmp 0x683dde
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
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 0x683dfc
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x6837b2
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 1
jne 0x683dde
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x68378b
jmp 0x683dde
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
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 0x683dfc
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x683dde
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 1
je 0x683dde
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6837eb
jmp 0x683dde
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
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 0x683dfc
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x683876
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 0x10
jne 0x683dde
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x68384f
jmp 0x683dde
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
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 0x683dfc
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x683dde
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 0x10
je 0x683dde
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6838af
jmp 0x683dde
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp esi, eax
jae 0x6839eb
mov ecx, dword [esp + 0x158]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x683942
sub esp, 0xc
push 0
push dword [esp + 0x58]
push eax
push ecx
push esi
call fcn.0068e910
add esp, 0x20
test eax, eax
je 0x68397f
jmp 0x683a19
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp esi, eax
ja 0x68397f
movzx eax, word [esi]
mov edx, dword [esp + 0x158]
cmp ax, word [edx + 0x34]
jne 0x68397f
cmp ecx, 1
je 0x683a55
movzx eax, word [esi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x683a69
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
lea edi, [esi + 2]
test eax, eax
je 0x6839cd
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
jb 0x6839cd
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne 0x6839cd
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x6839cd
movzx ecx, word [esi]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x6839cd
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x68bc3a
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 0x683909
jmp 0x683dde
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x683a2d
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x683a41
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov dword [esp + 8], esi
jle 0x683dde
jmp 0x68bc3a
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688d04
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688d04
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688d04
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688d04
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688d04
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
jmp 0x683aa8
add esi, 4
mov dword [esp + 8], esi
jmp 0x683b19
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x683dfc
movzx ecx, word [ecx]
cmp ecx, 0xa
je 0x683b14
movzx edx, cx
cmp edx, 0xd
jne 0x683ade
mov esi, dword [esp + 8]
lea ecx, [esi + 2]
cmp ecx, eax
jae 0x683b33
movzx edx, word [esi + 2]
cmp edx, 0xa
je 0x683a9f
mov dword [esp + 8], ecx
jmp 0x683b19
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x6c], 0
jne 0x683dde
lea esi, [ecx - 0xb]
movzx esi, si
cmp esi, 2
jb 0x683b14
add ecx, 0xffffdfd8
movzx ecx, cx
cmp ecx, 2
jb 0x683b14
cmp edx, 0x85
jne 0x683dde
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 0x683aa8
jmp 0x683dde
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688d04
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
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 0x683dfc
movsx ecx, word [ecx]
movsx edx, cx
cmp ecx, 0x1fff
jle 0x683ba0
cmp edx, 0x202e
jg 0x683bd4
lea ecx, [ecx - 0x2000]
movzx ecx, cx
cmp ecx, 0xb
mov edx, dword [esp + 0x28]
jae 0x683c16
jmp 0x683dde
movzx ecx, cx
cmp edx, 0x9f
jle 0x683c00
cmp ecx, 0xa0
mov edx, dword [esp + 0x28]
je 0x683dde
cmp ecx, 0x1680
je 0x683dde
cmp ecx, 0x180e
jne 0x683c16
jmp 0x683dde
movzx ecx, cx
cmp ecx, 0x202f
je 0x683dde
cmp ecx, 0x205f
mov edx, dword [esp + 0x28]
je 0x683dde
cmp ecx, 0x3000
jne 0x683c16
jmp 0x683dde
cmp ecx, 9
mov edx, dword [esp + 0x28]
je 0x683dde
cmp ecx, 0x20
je 0x683dde
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, edx
jl 0x683b67
jmp 0x683dde
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
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 0x683dfc
movsx ecx, word [ecx]
movsx edx, cx
cmp ecx, 0x1fff
jle 0x683ca0
cmp edx, 0x202e
jg 0x683ccc
lea ecx, [ecx - 0x2000]
movzx ecx, cx
cmp ecx, 0xb
mov edx, dword [esp + 0x28]
jae 0x683dde
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, edx
jl 0x683c51
jmp 0x683dde
movzx ecx, cx
cmp edx, 0x9f
jle 0x683cf0
cmp ecx, 0xa0
mov edx, dword [esp + 0x28]
je 0x683c89
cmp ecx, 0x1680
je 0x683c89
cmp ecx, 0x180e
je 0x683c89
jmp 0x683dde
movzx ecx, cx
cmp ecx, 0x202f
mov edx, dword [esp + 0x28]
je 0x683c89
cmp ecx, 0x3000
je 0x683c89
cmp ecx, 0x205f
je 0x683c89
jmp 0x683dde
cmp ecx, 9
mov edx, dword [esp + 0x28]
je 0x683c89
cmp ecx, 0x20
je 0x683c89
jmp 0x683dde
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
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 0x683dfc
movzx ecx, word [ecx]
lea edx, [ecx - 0xa]
movzx edx, dx
cmp edx, 4
jb 0x683dde
lea edx, [ecx - 0x2028]
movzx edx, dx
cmp edx, 2
jb 0x683dde
movzx ecx, cx
cmp ecx, 0x85
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
je 0x683dde
add dword [esp + 8], 2
inc edx
mov dword [esp + 0x10], edx
cmp edx, ecx
jl 0x683d23
jmp 0x683dde
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683dde
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 0x683dfc
movzx ecx, word [ecx]
lea edx, [ecx - 0xa]
movzx edx, dx
cmp edx, 4
jb 0x683dc1
lea edx, [ecx - 0x2028]
movzx edx, dx
cmp edx, 2
jb 0x683dc1
movzx ecx, cx
cmp ecx, 0x85
jne 0x683dde
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x683d92
jmp 0x683dde
lea eax, [edx + eax*2]
mov dword [esp + 8], eax
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688d04
mov ebp, ecx
mov dword [esp + 8], ebp
cmp dword [esp + 0x58], 0
jne 0x683e40
jmp 0x688636
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x683dde
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x683dde
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x683dde
jmp 0x68bc3a
cmp dword [esp + 0x58], 0
je 0x688bd2
nop word cs:[eax + eax]
mov ebp, dword [esp + 0x14]
movzx edx, word [ebp]
cmp edx, 0xa1
ja case.0x683e5e.98
xor eax, eax
mov dword [esp + 4], 0
jmp dword [edx*4 + 0x68d010]
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 + 0x886010]
mov dword [esp + 0x10], ecx
movsx ecx, byte [eax + 0x88601b]
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 0x6841fd
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
cmp edx, 0x77
je case.0x683e5e.119
mov dword [esp + 0x14], ebp
jmp 0x683e40
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 + 0x886010]
movsx ecx, byte [eax + 0x88601b]
mov esi, edx
mov edx, 0x3cf
bt edx, eax
mov edx, esi
mov eax, 0x7fffffff
cmovae eax, ecx
mov dword [esp + 0x40], eax
jmp 0x683f83
add ebp, 2
lea eax, [edx - 0x55]
mov ecx, edx
not ecx
and ecx, 1
mov dword [esp + 0x4c], ecx
movsx ecx, byte [edx + 0x885fbb]
mov dword [esp + 0x10], ecx
movsx ecx, byte [edx + 0x885fc6]
mov edx, 0x3cf
bt edx, eax
mov edx, 0x7fffffff
cmovae edx, ecx
jmp 0x6849fe
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 0x684632
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 0x6852b6
movzx ecx, si
cmp ecx, 0x81
je 0x6852b6
mov dword [esp + 4], 0
jmp 0x6852c7
cmp dword [esp + 0x34], 0
mov esi, dword [esp + 0x158]
mov eax, dword [esi + 0x78]
je 0x6866af
mov edi, dword [esp + 8]
cmp edi, eax
je 0x686c28
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 0x684015
mov eax, dword [esp + 0x24]
mov dword [eax], ecx
movzx eax, word [ecx]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x684041
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 0x687851
mov cl, 1
cmp eax, 0x5f
je 0x681dd8
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 + 0x8882d4]
shl ecx, 7
sub eax, edx
mov edx, ebx
add eax, ecx
movzx eax, word [eax + eax + 0x88a4d4]
movzx eax, byte [eax*8 + 0x886c55]
mov eax, dword [eax*4 + 0x886168]
or eax, 2
cmp eax, 3
sete cl
jmp 0x681dd8
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
cmp ebx, dword [eax]
jae 0x689e48
mov dword [esp + 0x28], edx
lea ecx, [ebx + 2]
movzx eax, word [ebx]
cmp dword [esp + 0x34], 0
je 0x68664b
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x68664b
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebx + 2]
add ebx, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x68664d
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
cmp ebx, dword [eax]
jae 0x689e86
cmp dword [esp + 0x34], 0
je 0x686726
movzx eax, word [ebp + 2]
mov ecx, eax
and ecx, 0xfc00
mov esi, edx
cmp ecx, 0xd800
jne 0x6867bd
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebp + 4]
add ebp, 6
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x6867c0
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 0x6841fd
add ebp, 2
mov dword [esp + 0x50], 1
mov dword [esp + 0x40], 0x7fffffff
mov dword [esp + 0x10], 0
xor edi, edi
jmp 0x6841fd
add ebp, 2
xor edi, edi
mov dword [esp + 0x40], 0x7fffffff
mov dword [esp + 0x10], 1
mov dword [esp + 0x50], 1
jmp 0x6841fd
add ebp, 2
mov dword [esp + 0x40], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x50], 1
xor edi, edi
jmp 0x6841fd
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 0x68429e
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x68429e
movzx eax, dx
xor edx, edx
cmp eax, 0x2e
jb 0x684464
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 + 0x8882d4]
shl ecx, 7
mov edx, eax
and edx, 0x7f
or edx, ecx
movzx ecx, word [edx + edx + 0x88a4d4]
mov ecx, dword [ecx*8 + 0x886c58]
test ecx, ecx
je 0x684462
add ecx, eax
sub esp, 8
lea eax, [esp + 0xc0]
push eax
push ecx
call fcn.0068ea90
add esp, 0x10
mov edx, eax
jmp 0x684464
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0x14], eax
movzx eax, dx
cmp eax, 0x2e
jb 0x684307
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x34], 0
je 0x68439c
movzx eax, bx
cmp eax, 0x80
jb 0x68439c
mov eax, ebx
shr eax, 7
movzx eax, byte [eax + 0x8882d4]
shl eax, 7
mov ecx, ebx
and ecx, 0x7f
or ecx, eax
movzx eax, word [ecx + ecx + 0x88a4d4]
mov edi, dword [eax*8 + 0x886c58]
add edi, ebx
cmp dword [esp + 0x10], 0
jg 0x6843b8
mov edx, ebp
jmp 0x6843f6
cmp dword [esp + 0x10], 0
jle 0x68433c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
nop word cs:[eax + eax]
cmp ebp, eax
jae 0x688e93
cmp bx, word [ebp]
jne 0x68c76d
add ebp, 2
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x684320
mov ecx, edi
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov edi, ebp
mov dword [esp + 8], ebp
je 0x683e40
test ecx, ecx
jne 0x689f11
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov ecx, edi
mov edx, ecx
jge 0x68774f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, ecx
cmp edx, eax
jae 0x68772a
cmp bx, word [edx]
jne 0x68774f
add edx, 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x40]
jl 0x684374
jmp 0x68774f
cmp ebx, 0xff
mov edi, ebx
ja 0x6843ad
mov eax, dword [ecx + 0x40]
movzx edi, byte [eax + ebx]
cmp dword [esp + 0x10], 0
jle 0x684300
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, ebp
nop word cs:[eax + eax]
cmp edx, eax
jae 0x688ecd
mov esi, edx
movzx edx, word [edx]
cmp bx, dx
je 0x6843ea
cmp edi, edx
jne 0x68c76d
mov edx, esi
add edx, 2
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x6843d0
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
je 0x683e40
cmp dword [esp + 0x4c], 0
jne 0x689f9f
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov edx, dword [esp + 0xc]
jge 0x687788
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, dword [esp + 0xc]
cmp edx, eax
jae 0x687763
movzx ecx, word [edx]
cmp bx, cx
je 0x68444b
cmp edi, ecx
jne 0x687788
add edx, 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x40]
jl 0x684433
jmp 0x687788
xor edx, edx
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x28], edx
jle 0x6844f0
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 0x6844a0
mov eax, 2
jmp 0x6844e4
cmp ebx, esi
ja 0x6844ae
mov eax, dword [ebx]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx]
je 0x68448f
test edx, edx
jle 0x688ddb
cmp ebx, edi
ja 0x688ddb
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 0x688ddb
lea ebx, [ebx + eax*2]
inc ebp
cmp ebp, dword [esp + 0x10]
jl 0x6844a0
jmp 0x6844f2
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 0x683e40
cmp dword [esp + 0x4c], 0
jne 0x6897f4
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov edi, ebx
jge 0x68783d
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 0x684551
mov eax, 2
mov edi, esi
jmp 0x68459b
mov esi, edi
cmp edi, ebp
ja 0x684561
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx]
je 0x684548
test edx, edx
mov edi, esi
jle 0x6856da
cmp edi, dword [esp + 4]
ja 0x6856da
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 0x6856da
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x40]
jl 0x684551
jmp 0x68783d
movzx edi, word [ebp + 2]
add ebp, 4
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], edi
jmp 0x68462a
add ebp, 2
mov dword [esp + 0x4c], 1
mov dword [esp + 0x40], 0x7fffffff
jmp 0x684628
add ebp, 2
mov dword [esp + 0x50], 0
mov dword [esp + 0x40], 0x7fffffff
mov edi, 1
mov dword [esp + 0x4c], 1
jmp 0x684632
add ebp, 2
mov dword [esp + 0x40], 1
xor edi, edi
mov dword [esp + 0x4c], 1
jmp 0x68462a
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 0x684670
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x684670
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 0x6846d2
cmp dword [esp + 0x34], 0
je 0x684747
cmp ebx, 0x80
jb 0x684747
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 + 0x8882d4]
shl eax, 7
mov edx, ebx
sub edx, ecx
add edx, eax
movzx eax, word [edx + edx + 0x88a4d4]
mov eax, dword [eax*8 + 0x886c58]
add eax, ebx
jmp 0x684761
cmp dword [esp + 0x34], 0
je 0x6847f6
test edi, edi
jle 0x684889
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor edx, edx
mov ebp, esi
nop
cmp ebp, eax
jae 0x688e1f
movzx ecx, word [ebp]
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x684732
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 0x68473d
jmp 0x68c76d
add ebp, 2
cmp ebx, ecx
je 0x68c76d
inc edx
cmp edx, edi
jl 0x6846f0
jmp 0x68488b
cmp ebx, 0xff
mov dword [esp + 0x10], ebx
ja 0x684765
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 0x68482e
test edi, edi
jle 0x684927
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 0x688e59
movzx ecx, word [ebp]
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6847cb
shl ecx, 0xa
and ecx, 0xffc00
movzx esi, word [ebp + 2]
add ebp, 4
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
jmp 0x6847ce
add ebp, 2
mov ebx, dword [esp + 0x28]
cmp ebx, ecx
je 0x68c898
cmp dword [esp + 0x10], ecx
mov dword [esp + 4], 0
je case.0x68b824.6
inc eax
cmp eax, edi
jl 0x684790
jmp 0x68492b
test edi, edi
jle 0x684889
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov ebp, esi
nop dword [eax + eax]
cmp ebp, eax
jae 0x688f14
movzx edx, word [ebp]
cmp ebx, edx
je 0x68c76d
add ebp, 2
inc ecx
cmp ecx, edi
jl 0x684810
jmp 0x68488b
test edi, edi
jle 0x684927
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 0x688f4e
mov ebx, ebp
movzx edx, word [ebp]
cmp dword [esp + 0x28], edx
je 0x68c898
cmp dword [esp + 0x10], edx
mov dword [esp + 4], 0
je case.0x68b824.6
mov ebp, ebx
add ebp, 2
inc ecx
cmp ecx, edi
jl 0x684850
jmp 0x68492b
mov ebp, esi
cmp edi, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebp
je 0x683e40
cmp dword [esp + 0x50], 0
jne 0x689abd
cmp dword [esp + 0x34], 0
je 0x685650
cmp edi, dword [esp + 0x40]
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 0x28]
jge 0x68736a
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esp + 0xc]
cmp ebp, eax
jae 0x687345
movzx ecx, word [ebp]
mov esi, ecx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x68490f
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 0x68736a
lea ebp, [ebp + edx*2]
inc edi
cmp edi, dword [esp + 0x40]
jl 0x6848cf
jmp 0x68736a
mov ebp, dword [esp + 8]
cmp edi, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebp
je 0x683e40
cmp dword [esp + 0x50], 0
jne 0x689c12
cmp dword [esp + 0x34], 0
je 0x68568e
cmp edi, dword [esp + 0x40]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x28]
jge 0x681ef3
mov eax, dword [esp + 0x18]
mov ebp, dword [eax]
mov eax, dword [esp + 0xc]
cmp eax, ebp
jae 0x68737e
movzx ecx, word [eax]
mov esi, ecx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x6849b9
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 0x6849c3
jmp 0x6873b4
mov esi, eax
cmp ebx, ecx
je 0x6873b4
cmp dword [esp + 0x10], ecx
je 0x6873b4
mov eax, esi
lea eax, [eax + edx*2]
inc edi
cmp edi, dword [esp + 0x40]
jl 0x68496f
jmp 0x681ef3
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 0x684a35
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 0x684a3d
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 0x684b9b
test ecx, ecx
js 0x684d19
cmp ecx, 0xa
ja case.default.0x686687
jmp dword [ecx*4 + 0x68d318]
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 0x689045
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x684aea
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x684aea
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 0x684af4
cmp edx, 0x84
jg 0x684b22
lea esi, [edx - 9]
cmp esi, 0x17
ja case.0x684aff.8203
mov ebx, 0x80001f
bt ebx, esi
jb case.0x684aff.8192
jmp case.0x684aff.8203
mov edi, esi
cmp edx, 0x180d
jle 0x684ace
lea esi, [edx - 0x2000]
cmp esi, 0x5f
ja case.default.0x684aff
jmp dword [esi*4 + 0x68d344]
cmp dword [esp + 0x44], 0
jne 0x68c76d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x684a80
jmp 0x684b9f
cmp edx, 0x85
je case.0x684aff.8192
cmp edx, 0xa0
je case.0x684aff.8192
cmp edx, 0x1680
je case.0x684aff.8192
jmp case.0x684aff.8203
cmp edx, 0x3000
je case.0x684aff.8192
cmp edx, 0x180e
je case.0x684aff.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 + 0x8882d4]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x88a4d4]
movzx edx, byte [edx*8 + 0x886c55]
xor ebx, ebx
cmp dword [edx*4 + 0x886168], 6
sete bl
cmp dword [esp + 0x44], ebx
jne 0x684b11
jmp 0x68c76d
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 0x683e40
cmp dword [esp + 0x4c], 0
jne 0x6898f3
mov ecx, dword [esp + 0x50]
test ecx, ecx
mov edi, dword [esp + 0x40]
js 0x6854af
cmp ecx, 0xa
mov edx, dword [esp + 0xc]
ja case.default.0x68b824
jmp dword [ecx*4 + 0x68d770]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x683dec
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x682281
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x684c45
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x684c45
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 0x684c5f
lea esi, [edx - 0x2000]
cmp esi, 0x5f
ja case.default.0x684c58
jmp dword [esi*4 + 0x68d79c]
cmp edx, 0x84
jg 0x684ca0
lea esi, [edx - 9]
cmp esi, 0x17
ja case.0x684c58.8203
mov edi, 0x80001f
bt edi, esi
jae case.0x684c58.8203
cmp dword [esp + 0x44], 0
jne 0x683dec
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x684bfe
jmp 0x683dec
cmp edx, 0x85
je case.0x684c58.8192
cmp edx, 0xa0
je case.0x684c58.8192
cmp edx, 0x1680
je case.0x684c58.8192
jmp case.0x684c58.8203
cmp edx, 0x3000
je case.0x684c58.8192
cmp edx, 0x180e
je case.0x684c58.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 + 0x8882d4]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x88a4d4]
movzx edx, byte [edx*8 + 0x886c55]
xor ebx, ebx
cmp dword [edx*4 + 0x886168], 6
sete bl
cmp dword [esp + 0x44], ebx
jne 0x684c84
jmp 0x683dec
movzx eax, bx
cmp eax, 0x16
jne 0x6853d0
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 0x688fde
lea esi, [edi + 2]
movzx ecx, word [edi]
cmp dword [esp + 0x34], 0
je 0x684d7c
mov ebx, ecx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x684d7c
shl ecx, 0xa
and ecx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
jmp 0x684d7e
mov edi, esi
mov dword [esp + 4], eax
cmp edi, edx
jae 0x684e70
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 + 0x8882d4]
shl esi, 7
sub ecx, ebx
add ecx, esi
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx esi, byte [ecx*8 + 0x886c56]
nop dword [eax]
movzx ecx, word [edi]
cmp dword [esp + 0x34], 0
mov ebx, 1
je 0x684e10
mov ebp, ecx
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x684e10
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 0x684e12
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 + 0x8882d4]
shl ebp, 7
sub ecx, edi
add ecx, ebp
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx ecx, byte [ecx*8 + 0x886c56]
mov ebp, 1
shl ebp, cl
and ebp, dword [esi*4 + 0x8861e0]
je 0x684e60
mov edi, eax
lea edi, [edi + ebx*2]
cmp edi, edx
jb 0x684e66
jmp 0x684e70
mov edi, eax
cmp edi, edx
jae 0x684e70
test ebp, ebp
mov esi, ecx
jne 0x684dc0
cmp edi, edx
jb 0x684e99
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x684e99
mov edx, dword [esp + 0x24]
cmp edi, dword [edx]
jbe 0x684e99
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
jg 0x6894d8
mov dword [esp + 0xc], edi
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x10]
lea eax, [eax + 1]
jl 0x684d2e
jmp 0x684b9f
mov dword [esp + 0x28], edx
movzx edx, word [ebp + 0x22]
lea esi, [edx - 0x62]
movzx eax, si
cmp eax, 0xb
ja 0x681ae6
mov eax, 0x73f
bt eax, esi
jae 0x681b84
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 + 0x885fb9]
mov ecx, 0x7fffffff
cmovae ecx, eax
mov dword [esp + 0x10], ecx
lea eax, [ebp + 0x24]
mov dword [esp + 0x14], eax
movsx ebx, byte [edx + 0x885fae]
cmp dword [esp + 0x34], 0
jne 0x681b15
jmp 0x681bc2
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 0x685641
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + ebx*4]
test eax, eax
js 0x685641
mov edx, ebx
or edx, 1
mov ecx, dword [ecx + edx*4]
sub ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x687241
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 0x68671d
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 0x684fd8
mov edi, dword [esp + 0x158]
mov ebp, dword [edi + 0xc]
mov edi, dword [ebp + ebx*4]
test edi, edi
jns 0x687229
dec ecx
add esi, edx
cmp ecx, 1
jg 0x684fb7
jmp 0x687238
mov eax, ebp
mov ebp, dword [esp + 0x158]
mov ebx, dword [ebp + 0xb0]
xor esi, esi
cmp dword [ebp + 0x9c], 1
jne 0x68500e
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.006818c0
add esp, 0x20
cmp eax, 1
je 0x686968
cmp eax, 0xfffffc19
je 0x686968
mov dword [ebp + 0xb0], ebx
cmp eax, 0xfffffc20
je 0x685069
test eax, eax
jne 0x688dd2
mov ax, word [edi + 2]
jmp 0x685092
mov edx, edi
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x68b2fb
movzx edx, word [edx]
cmp edx, 0x77
je 0x685092
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x68b2fb
movzx eax, ax
lea ecx, [edi + eax*2]
movzx eax, word [edi + eax*2]
cmp eax, 0x77
je 0x685010
jmp 0x686977
mov eax, ebp
mov ebp, dword [esp + 0x158]
mov ebx, dword [ebp + 0xb0]
xor esi, esi
cmp dword [ebp + 0x9c], 1
jne 0x6850d3
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.006818c0
add esp, 0x20
mov dword [ebp + 0xb0], ebx
test eax, eax
jns 0x685131
cmp eax, 0xfffffc20
jne 0x68686f
mov edx, edi
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x686880
movzx edx, word [edx]
cmp edx, 0x77
jne 0x68513f
mov edx, edi
jmp 0x68514d
jne 0x689599
mov edx, edi
mov ax, word [edx + 2]
jmp 0x68514d
movzx ecx, word [ecx]
cmp ecx, 0x77
mov edx, edi
jne 0x686880
movzx eax, ax
lea ecx, [edx + eax*2]
movzx eax, word [edx + eax*2]
cmp eax, 0x77
mov eax, ecx
je 0x6850d3
jmp 0x686892
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 0x685273
mov eax, dword [0x88488c]
test eax, eax
je 0x685263
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 0x6895b6
mov ebx, dword [esp + 4]
jne 0x688dd2
movzx eax, byte [0x8860ca]
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.0x685289.5
jmp dword [eax*4 + 0x68dac8]
movzx eax, word [edi + 2]
add eax, eax
cmp eax, dword [esp + 0x2c]
jge 0x681e86
mov ecx, dword [esp + 0x158]
mov ecx, dword [ecx + 0xc]
cmp dword [ecx + eax*4], 0
setns al
jmp 0x681e88
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 0x68910e
mov ebx, dword [esp + 0xc]
sub ebx, eax
lea eax, [esi - 0x82]
movzx ecx, ax
cmp ecx, 9
ja 0x68546e
mov ecx, 0x318
bt ecx, eax
jae 0x6869f8
mov dword [esp + 0x14], ebx
movzx ebx, word [ebx + 4]
mov eax, dword [ebp + 0xa8]
test eax, eax
je 0x685322
cmp dword [eax + 4], ebx
je 0x689f02
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 0x685459
mov dword [esp + 0x28], edx
mov edi, dword [esp + 0x2c]
cmp ebp, edi
jle 0x685393
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 0x68546a
cmp dword [esp + 0x34], 0
je 0x686900
lea eax, [ebx - 6]
movzx eax, ax
cmp eax, 0xf
ja case.default.0x68b824
mov dword [esp + 4], 0xfffffff2
jmp dword [eax*4 + 0x68d298]
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 0x68a6f3
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x685431
add edi, 4
mov dword [esp + 0xc], edi
jmp 0x68544d
add edi, 2
cmp edx, 0x7f
mov dword [esp + 0xc], edi
ja 0x68544d
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
jne 0x68c76d
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x685409
jmp 0x684b9f
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 0x685491
cmp eax, 0x7b
je 0x689d94
mov ecx, dword [esp + 4]
cmp dword [esp + 8], ecx
jne 0x68884c
movzx eax, si
mov edx, dword [esp + 0xc]
add edx, 4
cmp eax, 0x81
mov dword [esp + 0x14], edx
jne 0x683e40
jmp 0x689dbb
movzx ebp, di
cmp ebp, 0x16
mov ecx, dword [esp + 0xc]
jne 0x686767
mov eax, dword [esp + 0x10]
cmp edx, eax
mov edx, eax
mov ebp, ecx
jle 0x681aa4
mov ebp, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp ebp, eax
jae 0x681a7f
mov dword [esp + 0x10], edx
lea edx, [ebp + 2]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
je 0x685527
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x685527
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 0x685531
jmp 0x685604
mov ebp, edx
cmp ebp, eax
jae 0x685604
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 + 0x8882d4]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx edx, byte [ecx*8 + 0x886c56]
nop word cs:[eax + eax]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x6855af
mov edi, ecx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x6855af
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 + 0x8882d4]
shl edi, 7
sub ecx, ebx
add ecx, edi
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx ecx, byte [ecx*8 + 0x886c56]
mov ebx, 1
shl ebx, cl
and ebx, dword [edx*4 + 0x8861e0]
je 0x6855f6
lea ebp, [ebp + esi*2]
cmp ebp, eax
jae 0x685604
test ebx, ebx
mov edx, ecx
jne 0x685570
cmp ebp, eax
jb 0x68562d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68562d
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x68562d
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x68bc3a
mov edx, dword [esp + 0x10]
inc edx
cmp edx, dword [esp + 0x28]
jl 0x6854d1
jmp 0x681aa4
cmp dword [edi + 0x54], 1
sbb eax, eax
mov dword [esp + 0x10], eax
jmp 0x687241
cmp edi, dword [esp + 0x40]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x28]
jge 0x687b15
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, dword [esp + 0xc]
cmp edx, eax
jae 0x687af0
movzx ecx, word [edx]
cmp esi, ecx
je 0x687b15
add edx, 2
inc edi
cmp edi, dword [esp + 0x40]
jl 0x68566c
jmp 0x687b15
cmp edi, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x28]
jge 0x68226d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jae 0x687b29
mov edx, ecx
movzx ecx, word [ecx]
cmp esi, ecx
je 0x68226b
cmp dword [esp + 0x10], ecx
je 0x68226b
mov ecx, edx
add ecx, 2
inc edi
cmp edi, dword [esp + 0x40]
jl 0x6856aa
jmp 0x68226d
cmp edi, dword [esp + 0x4c]
jb 0x68783d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68783d
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x68783b
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov edi, esi
jle 0x68783d
jmp 0x6894d8
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 0x681a24
jmp 0x6895b6
add ebp, 2
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ebp
jmp 0x683e40
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x68a336
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x68577d
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
je 0x6858e3
add edx, 2
cmp eax, 0xff
mov dword [esp + 8], edx
ja 0x681a24
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
je 0x681a24
jmp 0x68c76d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x68a374
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 0x68c898
and cl, dl
mov dword [esp + 4], 0
jne case.0x68b824.6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
jne 0x685946
jmp 0x68c76d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x68a3b2
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x68582e
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
je 0x6858e3
add edx, 2
cmp eax, 0xff
mov dword [esp + 8], edx
ja 0x681a24
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
je 0x681a24
jmp 0x68c76d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x68a3f0
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 0x68c898
and cl, dl
mov dword [esp + 4], 0
jne case.0x68b824.6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
jne 0x685946
jmp 0x68c76d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x68a42e
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x686a06
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x686a06
add edx, 4
mov dword [esp + 8], edx
jmp 0x681a24
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x68a46c
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 0x68c898
and cl, dl
mov dword [esp + 4], 0
jne case.0x68b824.6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je 0x68c76d
add dword [esp + 8], 2
jmp 0x681a24
mov esi, dword [esp + 0x158]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x7c]
test ecx, ecx
je 0x687433
mov edx, dword [esp + 8]
cmp edx, eax
jae 0x687466
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edx
call fcn.0068e910
add esp, 0x20
test eax, eax
je 0x687466
jmp 0x68c76d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 8]
cmp ecx, dword [eax]
jae 0x68a4aa
add ecx, 2
mov dword [esp + 8], ecx
jmp 0x681a24
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edi, dword [esp + 8]
cmp edi, ecx
jae 0x68a4e8
lea eax, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x687a5b
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
mov ebx, dword [esp + 0x158]
jne 0x687a62
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 0x687a6b
lea ecx, [edx - 0xb]
cmp ecx, 2
jb 0x687aa5
jmp 0x681db5
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x68a526
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x686a2d
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x686a2d
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x686a2f
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x68a564
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x686a64
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x686a64
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x686a66
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x68a5a2
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x686a9b
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x686a9b
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x686a9d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 8]
cmp esi, dword [eax]
jae 0x68a5e0
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x686ac6
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x686ac6
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x686ac8
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esp + 8]
cmp ebp, eax
jae 0x68a61e
lea edx, [ebp + 2]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
je 0x686aef
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x686aef
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 0x686af9
jmp 0x686bc0
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x4c], 0
jne 0x6895b6
cmp dword [eax + 0x5c], 0
je case.0x683e5e.23
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jb 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x681a24
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
ja 0x681f3b
jmp 0x681a24
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebx, dword [esp + 8]
cmp ebx, eax
mov edi, dword [esp + 0x158]
jae 0x681f21
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x687a26
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push ebx
call fcn.0068e910
add esp, 0x20
test eax, eax
je 0x68a03e
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
jmp 0x681f15
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x6869b8
mov esi, dword [esp + 0x158]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x688324
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edi
call fcn.0068e910
add esp, 0x20
test eax, eax
jne 0x681a24
jmp 0x68a7a5
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x48], 0
je case.0x683e5e.1
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 8]
cmp ecx, dword [eax + 0x78]
je 0x6895b6
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 8]
cmp ecx, dword [eax + 0x78]
je 0x681a24
jmp 0x6895b6
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x48], 0
mov eax, dword [esi + 0x78]
mov edi, dword [esp + 8]
je 0x685d1a
cmp edi, eax
je 0x6895b6
cmp edi, eax
je 0x681a24
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
je 0x6895b6
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x687c01
cmp edi, eax
jbe 0x6895b6
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edi
call fcn.0068e9c0
add esp, 0x20
test eax, eax
jne 0x681a24
jmp 0x6895b6
cmp dword [esp + 0x34], 0
je 0x6874ff
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 0x68ae0b
cmp cx, word [edi]
jne 0x68c76d
add ebp, 4
add edi, 2
mov dword [esp + 8], edi
mov dword [esp + 0x14], ebp
cmp eax, 2
jl 0x683e40
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 0x685db6
jmp case.0x68b824.6
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x68a65c
cmp dword [esp + 0x34], 0
movzx eax, word [ebp + 2]
je 0x6876d1
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
mov esi, dword [esp + 0x158]
jne 0x68779c
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebp + 4]
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
mov edx, 2
jmp 0x6877d7
movzx edx, word [ebp + 2]
add ebp, 4
mov dword [esp + 0x4c], 1
xor edi, edi
mov dword [esp + 0x10], edx
jmp 0x684a00
add ebp, 2
mov edi, 1
mov edx, 0x7fffffff
jmp 0x685e9f
add ebp, 2
mov edx, 1
mov dword [esp + 0x10], 0
mov edi, 1
mov dword [esp + 0x4c], 0
jmp 0x684a00
movzx edx, word [ebp + 2]
add ebp, 4
mov edi, 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x4c], 0
jmp 0x684a00
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 0x682107
mov edx, 0x73f
bt edx, ecx
jae 0x687b5f
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 + 0x885fae]
movsx eax, byte [eax + 0x885fb9]
mov edx, 0x3cf
bt edx, ecx
mov ecx, 0x7fffffff
cmovae ecx, eax
mov dword [esp + 0x10], ecx
test ebx, ebx
jg 0x68211e
jmp 0x682195
movzx eax, word [ebp + 2]
lea edi, [eax + eax]
mov esi, dword [esp + 0x158]
add edi, dword [esi + 0x74]
test eax, eax
je 0x68752d
movzx eax, word [edi + 4]
jmp 0x68752f
cmp dword [esp + 0x34], 0
movzx eax, word [ebp + 2]
je 0x6876a9
test ax, ax
mov ecx, dword [esp + 0x158]
mov edi, dword [esp + 8]
je 0x6876c1
mov ecx, dword [ecx + 0x78]
inc eax
mov edx, edi
lea edi, [edx - 2]
cmp edi, ecx
jb 0x6895b6
movzx esi, word [edx - 2]
and esi, 0xfc00
cmp esi, 0xdc00
je 0x685f9c
mov edx, edi
jmp 0x685fa1
add edx, 0xfffffffc
mov edi, edx
dec eax
cmp eax, 1
jg 0x685f7b
jmp 0x6876c1
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.006818c0
add esp, 0x20
cmp eax, 0xfffffc20
je 0x686001
test eax, eax
jne 0x6873bb
mov ax, word [edi + 2]
jmp 0x68604a
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x68b2fb
mov ebp, ebx
mov ebx, esi
mov esi, edi
movzx edx, word [edi]
cmp edx, 0x77
jne 0x686031
mov edi, esi
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x158]
jmp 0x68604a
movzx ecx, word [ecx]
cmp ecx, 0x77
mov edi, esi
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x158]
jne 0x68b2fb
movzx eax, ax
lea ecx, [edi + eax*2]
mov dword [ebp + 0xb0], esi
movzx eax, word [edi + eax*2]
cmp eax, 0x77
je 0x685fc5
jmp 0x6873de
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.006818c0
add esp, 0x20
test eax, eax
jne 0x688dd2
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
cmp edx, 0x77
je 0x6860a0
jmp 0x687707
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 0x6860c0
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x683e40
jmp case.0x68b824.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 0x6869e8
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 0x687707
cmp ebx, esi
jge 0x686197
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 0x687707
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 0x6861b0
jmp 0x687707
add ebp, 2
mov dword [esp + 0x4c], 0
mov edx, 0x7fffffff
mov dword [esp + 0x10], 1
mov edi, 1
jmp 0x684a00
mov eax, dword [0x88488c]
test eax, eax
je 0x6862c1
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 0x6895b6
jne 0x688dd2
add ebp, 8
mov dword [esp + 0x14], ebp
jmp 0x683e40
movzx edx, word [ebp + 2]
add ebp, 2
mov eax, 1
cmp edx, 0x86
je case.0x683e5e.134
movzx eax, dx
cmp eax, 0x8b
mov eax, 1
jne case.0x683e5e.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 0x6864a9
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 0x686394
mov dword [ebp + 0x9c], 2
movzx eax, word [ebx]
movzx eax, byte [eax + 0x886054]
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.006818c0
add esp, 0x20
cmp eax, 0xfffffc20
je 0x6863d7
test eax, eax
jne 0x68642f
mov ax, word [ebx + 2]
jmp 0x6863fe
movzx eax, word [ebx + 2]
lea ecx, [ebx + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x68b2fb
movzx edx, word [ebx]
cmp edx, 0x77
je 0x6863fe
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x68b2fb
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 0x68636e
jmp 0x6868a6
cmp eax, 0xfffffc1a
mov dword [esp + 4], eax
jne case.0x68b824.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 0x68635c
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
mov eax, 1
cmp edx, 0x77
je 0x68647f
mov edi, dword [esp + 8]
or eax, dword [esp + 0x50]
jne 0x6868f0
jmp 0x6895b6
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 0x6864f5
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 0x686510
mov eax, dword [esp + 0x158]
mov dword [eax + 0x9c], 2
movzx eax, word [ebp]
movzx eax, byte [eax + 0x886054]
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.006818c0
add esp, 0x20
cmp eax, 0xfffffc20
je 0x68655c
test eax, eax
jne 0x686598
mov ax, word [edi + 2]
jmp 0x686583
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x68b2fb
movzx edx, word [edi]
cmp edx, 0x77
je 0x686583
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x68b2fb
movzx eax, ax
lea ebp, [edi + eax*2]
movzx eax, word [edi + eax*2]
cmp eax, 0x77
je 0x6864e0
jmp 0x6865fc
cmp eax, 0xfffffc1a
mov dword [esp + 4], eax
mov edx, ebx
jne case.0x68b824.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 0x6864d3
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
mov eax, 1
cmp edx, 0x77
je 0x6865e3
jmp 0x686600
mov eax, dword [esp + 4]
or eax, dword [esp + 0x50]
je 0x6895b6
add ebp, 4
mov dword [esp + 0x14], ebp
mov dword [esp + 8], esi
jmp 0x683e40
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 + 0x886054]
ja 0x68a69a
movzx ecx, word [ebp + 2]
add ecx, eax
lea eax, [ebp + ecx*2]
mov dword [esp + 0x14], eax
jmp 0x683e40
mov ebx, ecx
movzx edx, word [ebp + 2]
cmp edx, 0xa
ja case.default.0x686687
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 + 0x8882d4]
shl ecx, 7
mov edi, eax
sub edi, esi
add edi, ecx
movzx ecx, word [edi + edi + 0x88a4d4]
jmp dword [edx*4 + 0x68d91c]
cmp eax, 0x180d
jle 0x681e98
lea edx, [eax - 0x2000]
cmp edx, 0x5f
ja case.default.0x6866a8
jmp dword [edx*4 + 0x68d948]
mov edi, dword [esp + 8]
cmp edi, eax
je 0x682051
lea eax, [edi - 2]
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
ja 0x6866cc
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
cmp dword [esi + 0x58], 0
movzx eax, word [eax]
je 0x688360
mov cl, 1
cmp eax, 0x5f
je 0x682053
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x8882d4]
shl ecx, 7
and eax, 0x7f
or eax, ecx
movzx eax, word [eax + eax + 0x88a4d4]
movzx eax, byte [eax*8 + 0x886c55]
mov eax, dword [eax*4 + 0x886168]
or eax, 2
cmp eax, 3
sete cl
jmp 0x682053
xor ebx, ebx
mov ebp, eax
jmp 0x687241
movzx eax, word [ebp + 2]
movzx ecx, word [ebx]
cmp ax, cx
je 0x68c76d
movzx edx, dx
cmp edx, 0x20
jne 0x68675b
cmp eax, 0xff
mov edx, dword [esp + 0x158]
ja 0x686753
mov edx, dword [edx + 0x40]
movzx eax, byte [edx + eax]
cmp eax, ecx
je 0x68c76d
add ebx, 2
mov dword [esp + 8], ebx
jmp 0x687707
cmp dword [esp + 0x34], 0
je 0x6879b0
lea ecx, [edi - 6]
movzx ecx, cx
cmp ecx, 0xf
ja case.default.0x68b824
mov dword [esp + 4], 0xfffffff2
jmp dword [ecx*4 + 0x68d6f0]
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x683e26
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 0x681f72
add ebp, 4
mov dword [esp + 0x14], ebp
movzx ecx, word [ebx]
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6867f6
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebx + 2]
add ebx, 4
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
jmp 0x6867f9
add ebx, 2
movzx edx, si
cmp edx, 0x1f
mov dword [esp + 8], ebx
jne 0x68681a
mov dword [esp + 4], 0
cmp eax, ecx
jne 0x683e40
jmp case.0x68b824.6
cmp eax, 0x80
mov edx, dword [esp + 0x158]
jb 0x687817
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 + 0x8882d4]
shl edx, 7
mov edi, eax
sub edi, esi
add edi, edx
movzx edx, word [edi + edi + 0x88a4d4]
mov edx, dword [edx*8 + 0x886c58]
add edx, eax
cmp eax, ecx
jne 0x687826
jmp 0x68c898
lea ecx, [eax + 0x3e4]
cmp ecx, 4
mov edx, edi
jae 0x6895a7
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
movzx eax, word [edx + eax*2]
cmp eax, 0x77
mov edx, ecx
je 0x686880
test esi, esi
jne 0x689e3b
add ecx, 4
mov dword [esp + 0x14], ecx
jmp 0x683e40
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x6868e4
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 0x6895b6
add ebp, 4
mov dword [esp + 0x14], ebp
mov dword [esp + 8], edi
jmp 0x683e40
lea eax, [ebx - 6]
movzx eax, ax
cmp eax, 0xf
ja case.default.0x68b824
mov dword [esp + 4], 0xfffffff2
jmp dword [eax*4 + 0x68d2d8]
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 0x68b167
movzx edx, word [edi]
cmp edx, 0xff
ja 0x686955
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
jne 0x68c76d
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x68692e
jmp 0x684b9f
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x30], eax
mov ecx, edi
mov ax, word [ecx]
movzx eax, ax
cmp eax, 0x78
je 0x6895b6
test esi, esi
jne 0x689e3b
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 0x686990
add ecx, 4
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x2c], eax
jmp 0x683e40
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x4c], 0
jne 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x681a24
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
ja 0x681f3b
jmp 0x681a24
or eax, 0x10000
mov dword [edi + 0x94], eax
jmp 0x687707
test ax, ax
jne 0x68546e
jmp 0x68910e
add edx, 2
cmp eax, 0xff
mov dword [esp + 8], edx
ja 0x681a24
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je 0x681a24
jmp 0x68c76d
mov edi, ecx
cmp eax, 0x1fff
mov dword [esp + 8], edi
jle 0x686bfd
cmp eax, 0x202e
jg 0x687ab4
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jae 0x681a24
jmp case.0x68b824.6
mov edi, ecx
cmp eax, 0x1fff
mov dword [esp + 8], edi
jle 0x6879ed
cmp eax, 0x202e
jg 0x681ab8
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jb 0x681a24
jmp case.0x68b824.6
mov edi, ecx
lea ecx, [eax - 0xa]
cmp ecx, 4
jb 0x68c898
mov dword [esp + 8], edi
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x68c898
cmp eax, 0x85
jmp 0x687add
mov esi, ecx
lea ecx, [eax - 0xa]
cmp ecx, 4
jb 0x686ae6
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x686ae6
cmp eax, 0x85
jne 0x68c76d
mov dword [esp + 8], esi
jmp 0x681a24
mov ebp, edx
cmp ebp, eax
jae 0x686bc0
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 + 0x8882d4]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx edx, byte [ecx*8 + 0x886c56]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x686b6b
mov edi, ecx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x686b6b
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 + 0x8882d4]
shl edi, 7
sub ecx, ebx
add ecx, edi
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx ecx, byte [ecx*8 + 0x886c56]
mov edi, 1
shl edi, cl
and edi, dword [edx*4 + 0x8861e0]
je 0x686bb2
lea ebp, [ebp + esi*2]
cmp ebp, eax
jae 0x686bc0
test edi, edi
mov edx, ecx
jne 0x686b2c
cmp ebp, eax
jb 0x686be9
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x686be9
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x686be9
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6894d8
mov dword [esp + 8], ebp
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0x14], eax
jmp 0x683e40
cmp eax, 0x9f
jle 0x687ad1
cmp eax, 0xa0
je 0x68c898
cmp eax, 0x1680
je 0x68c898
cmp eax, 0x180e
jmp 0x687add
xor eax, eax
jmp 0x681ddb
cmp dword [esp + 0x44], 0
jne 0x68c76d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
cmp esi, eax
jae 0x68949e
lea edi, [esi + 2]
cmp dword [esp + 0x34], 0
je 0x686c6a
movzx edx, word [esi]
and edx, 0xfc00
cmp edx, 0xd800
jne 0x686c6a
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 0x686c42
jmp 0x684b9f
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 0x6895c3
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x686cd2
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x686cd2
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x686cd4
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 + 0x8882d4]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x88a4d4]
movzx edx, byte [edx*8 + 0x886c55]
add dl, 0xfb
xor esi, esi
cmp dl, 4
ja 0x686d1b
movsx edx, dl
mov esi, dword [edx*4 + 0x886030]
cmp dword [esp + 0x44], esi
je 0x68c76d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x686c8a
jmp 0x684b9f
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 0x689601
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x686d8d
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x686d8d
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x686d8f
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 + 0x8882d4]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x88a4d4]
movzx edx, byte [edx*8 + 0x886c55]
xor ebx, ebx
mov esi, dword [esp + 0x54]
cmp dword [edx*4 + 0x886168], esi
sete bl
cmp dword [esp + 0x44], ebx
je 0x68c76d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x686d45
jmp 0x684b9f
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 0x68963f
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x686e44
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x686e44
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x686e46
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 + 0x8882d4]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x88a4d4]
movzx edx, byte [edx*8 + 0x886c55]
xor ebx, ebx
cmp dword [esp + 0x54], edx
sete bl
cmp dword [esp + 0x44], ebx
je 0x68c76d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x686dfc
jmp 0x684b9f
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 0x68967d
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x686ef4
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x686ef4
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x686ef6
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 + 0x8882d4]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x88a4d4]
movzx edx, byte [edx*8 + 0x886c54]
xor ebx, ebx
cmp dword [esp + 0x54], edx
sete bl
cmp dword [esp + 0x44], ebx
je 0x68c76d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x686eac
jmp 0x684b9f
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 0x6896bb
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x686fa4
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x686fa4
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x686fa6
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 + 0x8882d4]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x88a4d4]
movzx edx, byte [edx*8 + 0x886c55]
mov edx, dword [edx*4 + 0x886168]
or edx, 2
xor ebx, ebx
cmp edx, 3
sete bl
cmp dword [esp + 0x44], ebx
je 0x68c76d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x686f5c
jmp 0x684b9f
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 0x6896f9
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x68705d
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x68705d
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x68705f
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 + 0x8882d4]
shl esi, 7
mov ebp, edx
sub ebp, ebx
add ebp, esi
movzx esi, word [ebp + ebp + 0x88a4d4]
movzx esi, byte [esi*8 + 0x886c55]
mov esi, dword [esi*4 + 0x886168]
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 0x68c76d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x687015
jmp 0x684b9f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x54]
lea ecx, [ecx*4 + 0x886b1c]
mov edx, 1
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x689737
lea ebx, [edi + 2]
movzx esi, word [edi]
cmp dword [esp + 0x34], 0
je 0x687133
mov ebp, esi
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x687133
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 0x687137
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 0x54]
mov ebx, dword [edi*4 + 0x886b18]
cmp esi, ebx
jb 0x68715e
mov ebp, ecx
nop dword [eax + eax]
cmp esi, ebx
je 0x68716a
mov ebx, dword [ebp]
add ebp, 4
cmp esi, ebx
jae 0x687150
cmp dword [esp + 0x44], 0
jne 0x687175
jmp 0x68c76d
cmp dword [esp + 0x44], 0
jne 0x68c76d
cmp edx, dword [esp + 0x10]
lea edx, [edx + 1]
jl 0x6870e7
jmp 0x684b9f
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 0x689775
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x6871db
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x6871db
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x6871dd
mov edi, esi
mov bl, 1
cmp edx, 0x24
je 0x687208
cmp edx, 0x40
je 0x687208
cmp edx, 0x60
je 0x687208
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 0x68c76d
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x687193
jmp 0x684b9f
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 0x687288
add ebp, 2
lea ecx, [eax - 0x62]
mov edx, eax
and edx, 1
mov dword [esp + 4], edx
movsx edi, byte [eax + 0x885fae]
movsx eax, byte [eax + 0x885fb9]
mov edx, 0x3cf
bt edx, ecx
mov ecx, 0x7fffffff
cmovae ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x6872b6
lea ecx, [ecx - 0x68]
movzx ecx, cx
cmp ecx, 2
jae 0x687311
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 0x683e40
jns 0x6872cf
test edi, edi
je 0x683e40
test edi, edi
jle 0x687713
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.0068db10
add esp, 0x10
test eax, eax
js 0x689083
lea ebp, [ebp + eax*2]
inc esi
cmp esi, edi
jl 0x6872dd
jmp 0x687717
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.0068db10
add esp, 0x10
test eax, eax
js 0x68b342
lea esi, [esi + eax*2]
mov dword [esp + 8], esi
mov dword [esp + 0x14], ebp
jmp 0x683e40
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68736a
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x68736a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6894d8
mov dword [esp + 8], ebp
cmp dword [esp + 0x4c], 0
jne 0x683e40
jmp 0x688721
mov edx, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x681ef1
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x681ef1
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov eax, edx
jle 0x681ef3
jmp 0x6894d8
mov eax, esi
jmp 0x681ef3
cmp eax, 1
mov dword [esp + 4], eax
jne case.0x68b824.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 0x6873f1
cmp eax, 0x77
jne 0x6895b6
movzx edx, word [ecx + 2]
movzx eax, word [ecx + edx*2]
lea ecx, [ecx + edx*2]
cmp eax, 0x77
je 0x6873f1
mov ebx, dword [ebp + 0x84]
mov esi, dword [ebp + 0x90]
movzx eax, ax
cmp eax, 0x78
mov dword [esp + 0x2c], esi
je 0x687423
cmp ebx, dword [esp + 8]
jne 0x688b93
add ecx, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 8], ebx
jmp 0x683e40
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 0x687466
movzx eax, word [edx]
cmp ax, word [esi + 0x34]
jne 0x687466
cmp ecx, 1
je 0x68c76d
movzx eax, word [edx + 2]
cmp ax, word [esi + 0x36]
je 0x68c76d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je case.0x683e5e.13
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
add ecx, 0xfffffffe
cmp dword [esp + 8], ecx
jne case.0x683e5e.13
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne case.0x683e5e.13
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne case.0x683e5e.13
mov ecx, dword [esp + 8]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne case.0x683e5e.13
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6894d8
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [esp + 8]
cmp edx, ecx
jae 0x689ec4
lea eax, [edx + 2]
cmp dword [esp + 0x34], 0
je 0x681dc6
cmp eax, ecx
jae 0x681dc6
movzx ecx, word [edx + 2]
and ecx, 0xfc00
add edx, 4
cmp ecx, 0xdc00
cmove eax, edx
jmp 0x681dc6
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 8]
sub eax, ecx
cmp eax, 1
jle 0x68b4a4
movzx eax, word [ebp + 2]
cmp ax, word [ecx]
jne 0x68c76d
add ecx, 2
mov dword [esp + 8], ecx
jmp 0x687707
xor eax, eax
mov ebx, dword [esp + 8]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x687553
mov edx, ecx
cmp eax, dword [edx + 4]
jne 0x68754d
cmp ebx, dword [edx + 0x14]
je 0x6894e5
mov edx, dword [edx]
test edx, edx
jne 0x68753f
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 0x68758c
lea eax, [esp + 0xc4]
mov dword [esp + 0x64], eax
jmp 0x6875ac
shl ecx, 2
sub esp, 0xc
push ecx
call dword [0x884884]
add esp, 0x10
mov dword [esp + 0x64], eax
test eax, eax
je 0x68b497
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 0x6875e6
mov eax, dword [esp + 0x158]
mov dword [eax + 0x9c], 2
movzx eax, cx
movzx eax, byte [eax + 0x886054]
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.006818c0
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 0x6882e0
cmp esi, 0xfffffc19
je 0x6882e0
lea ecx, [esi + 0x3e4]
cmp ecx, 4
jbe 0x6894f2
test esi, esi
jne 0x68950b
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 0x6875cb
jmp 0x689534
add eax, eax
mov edi, dword [esp + 8]
sub edi, eax
mov eax, dword [esp + 0x158]
cmp edi, dword [eax + 0x78]
jb 0x6895b6
mov eax, dword [esp + 0x24]
cmp edi, dword [eax]
jae 0x687703
mov eax, dword [esp + 0x24]
mov dword [eax], edi
jmp 0x687703
cmp eax, 0xff
mov edx, dword [esp + 0x158]
ja 0x6876e6
mov ecx, dword [edx + 0x3c]
movzx eax, byte [ecx + eax]
movzx ecx, word [edi]
cmp ecx, 0xff
ja 0x6876f8
mov edx, dword [edx + 0x3c]
movzx ecx, byte [edx + ecx]
cmp eax, ecx
jne 0x68c76d
add edi, 2
mov dword [esp + 8], edi
add ebp, 4
mov dword [esp + 0x14], ebp
jmp 0x683e40
mov ebp, dword [esp + 8]
mov dword [esp + 8], ebp
cmp edi, dword [esp + 0x28]
je 0x683e40
jmp 0x68ae51
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68774f
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x68774f
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6894d8
mov dword [esp + 8], edx
cmp dword [esp + 0x50], 0
jne 0x683e40
jmp 0x688798
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x687788
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x687788
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6894d8
mov dword [esp + 8], edx
cmp dword [esp + 0x50], 0
jne 0x683e40
jmp 0x6887f1
mov edx, 1
cmp eax, 0x7f
ja 0x6877d7
movzx ecx, word [edi]
cmp ecx, 0xff
mov edx, dword [esi + 0x3c]
movzx eax, byte [edx + eax]
ja 0x6877bc
movzx ecx, byte [edx + ecx]
cmp ecx, eax
jne 0x68c76d
add ebp, 4
add edi, 2
mov dword [esp + 8], edi
mov dword [esp + 0x14], ebp
jmp 0x683e40
add ebp, 2
movzx ecx, word [edi]
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x687ba1
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 0x687ba8
mov edx, dword [edx + 0x40]
movzx edx, byte [edx + eax]
cmp eax, ecx
je 0x68c898
cmp edx, ecx
mov dword [esp + 4], 0
jne 0x683e40
jmp case.0x68b824.6
mov edi, esi
mov dword [esp + 8], edi
cmp dword [esp + 0x50], 0
jne 0x683e40
jmp 0x688589
cmp eax, 0xff
ja 0x681dd6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov cl, byte [ecx + eax]
and cl, 0x10
shr cl, 4
jmp 0x681dd8
movzx eax, word [edi + 4]
test eax, eax
je case.0x685289.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 0x6878c1
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 0x68298a
dec eax
add edx, ecx
cmp eax, 1
jg 0x687897
jmp 0x68298a
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0xa8]
test eax, eax
je case.0x685289.4
movzx ecx, word [edi + 2]
cmp ecx, 0xffff
je 0x682985
cmp dword [eax + 4], ecx
sete al
movzx esi, al
test esi, esi
je case.0x685289.4
jmp 0x688604
mov eax, dword [esp + 0x158]
mov esi, dword [eax + 0xa8]
test esi, esi
je case.0x685289.4
movzx eax, word [edi + 4]
test eax, eax
je case.0x685289.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 0x688604
dec eax
add edx, ecx
cmp eax, 1
jg 0x687948
jmp case.0x685289.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.006818c0
add esp, 0x20
cmp eax, 0xfffffc20
je case.0x685289.4
test eax, eax
je case.0x685289.4
jmp 0x688c6d
lea ecx, [edi - 6]
movzx ecx, cx
cmp ecx, 0xf
ja case.default.0x68b824
mov dword [esp + 4], 0xfffffff2
jmp dword [ecx*4 + 0x68d730]
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 0x683dd7
jmp 0x683dfc
cmp eax, 0x9f
jle 0x681f53
cmp eax, 0xa0
mov dword [esp + 4], 0
je 0x681a24
cmp eax, 0x1680
je 0x681a24
cmp eax, 0x180e
je 0x681a24
jmp case.0x68b824.6
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
mov esi, eax
sub esi, edx
cmp ebx, esi
ja 0x68a03e
movzx edx, word [ebx]
cmp dx, word [edi + 0x34]
jne 0x68a03e
cmp ecx, 1
jne 0x681f07
mov ecx, 1
jmp 0x681f15
mov ebx, dword [esp + 0x158]
cmp edx, 0xc
jle 0x685a15
lea edi, [edx - 0x2028]
cmp edi, 2
jb 0x687aa5
cmp edx, 0x85
je 0x687aa5
cmp edx, 0xd
mov dword [esp + 4], 0
jne case.0x68b824.6
cmp eax, ecx
jae 0x6822b3
movzx ecx, word [eax]
lea edx, [eax + 2]
cmp ecx, 0xa
jmp 0x6874f7
cmp dword [ebx + 0x6c], 0
je 0x681dc6
jmp 0x68c76d
cmp eax, 0x202f
je 0x68c898
cmp eax, 0x205f
je 0x68c898
cmp eax, 0x3000
jmp 0x687add
cmp eax, 9
je 0x68c898
cmp eax, 0x20
mov dword [esp + 4], 0
jne 0x681a24
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x687b15
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x687b15
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x6894d8
mov dword [esp + 8], edx
cmp dword [esp + 0x4c], 0
jne 0x683e40
jmp 0x688905
mov edx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68226b
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x68226b
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov ecx, edx
jle 0x68226d
jmp 0x6894d8
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 0x68211e
jmp 0x682195
add edi, 2
mov dword [esp + 8], edi
lea edx, [ebp + edx*2]
mov dword [esp + 0x14], edx
cmp eax, ecx
je 0x683e40
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 + 0x8882d4]
shl edx, 7
mov edi, eax
sub edi, esi
add edi, edx
movzx edx, word [edi + edi + 0x88a4d4]
add eax, dword [edx*8 + 0x886c58]
mov dword [esp + 4], 0
cmp ecx, eax
je 0x683e40
jmp case.0x68b824.6
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea eax, [eax + ecx*2]
cmp edi, eax
jb 0x6895b6
lea eax, [ecx + ecx]
mov edx, edi
sub edx, eax
movzx eax, word [edx]
cmp ax, word [esi + 0x34]
jne 0x6895b6
cmp ecx, 1
je 0x681a24
neg ecx
movzx eax, word [edi + ecx*2 + 2]
cmp ax, word [esi + 0x36]
je 0x681a24
jmp 0x6895b6
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x683dec
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x682281
cmp dword [esp + 0x34], 0
je 0x687c84
movzx edx, word [ebp]
and edx, 0xfc00
xor ecx, ecx
cmp edx, 0xd800
sete cl
inc ecx
jmp 0x687c89
mov ecx, 1
mov edx, dword [esp + 0x28]
cmp dword [esp + 0x44], 0
jne 0x683dec
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, edx
jl 0x687c5d
jmp 0x683dec
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x683dec
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x682281
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x687d0d
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x687d0d
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 + 0x8882d4]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x88a4d4]
movzx edx, byte [edx*8 + 0x886c55]
add dl, 0xfb
xor esi, esi
cmp dl, 4
ja 0x687d54
movsx edx, dl
mov esi, dword [edx*4 + 0x886030]
cmp dword [esp + 0x44], esi
je 0x683dec
mov edx, dword [esp + 0x10]
inc edx
lea ebp, [ebp + ecx*2]
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x28]
jl 0x687cc6
jmp 0x683dec
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x683dec
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x682281
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x687dd9
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x687dd9
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 + 0x8882d4]
shl esi, 7
sub ecx, edi
add ecx, esi
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx ecx, byte [ecx*8 + 0x886c55]
xor ebx, ebx
mov esi, dword [esp + 0x54]
cmp dword [ecx*4 + 0x886168], esi
sete bl
cmp dword [esp + 0x44], ebx
je 0x683dec
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x687d92
jmp 0x683dec
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x683dec
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x682281
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x687ea1
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x687ea1
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 + 0x8882d4]
shl esi, 7
sub ecx, edi
add ecx, esi
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx ecx, byte [ecx*8 + 0x886c55]
xor ebx, ebx
cmp dword [esp + 0x54], ecx
sete bl
cmp dword [esp + 0x44], ebx
je 0x683dec
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x687e5a
jmp 0x683dec
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x683dec
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x682281
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x687f62
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x687f62
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 + 0x8882d4]
shl esi, 7
sub ecx, edi
add ecx, esi
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx ecx, byte [ecx*8 + 0x886c54]
xor ebx, ebx
cmp dword [esp + 0x54], ecx
sete bl
cmp dword [esp + 0x44], ebx
je 0x683dec
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x687f1b
jmp 0x683dec
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x683dec
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x682281
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x688023
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x688023
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 + 0x8882d4]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x88a4d4]
movzx edx, byte [edx*8 + 0x886c55]
mov edx, dword [edx*4 + 0x886168]
or edx, 2
xor ebx, ebx
cmp edx, 3
sete bl
cmp dword [esp + 0x44], ebx
je 0x683dec
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x687fdc
jmp 0x683dec
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x683dec
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x682281
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x6880ed
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x6880ed
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 + 0x8882d4]
shl esi, 7
mov ebx, ecx
sub ebx, edi
add ebx, esi
movzx esi, word [ebx + ebx + 0x88a4d4]
movzx esi, byte [esi*8 + 0x886c55]
mov esi, dword [esi*4 + 0x886168]
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 0x683dec
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6880a6
jmp 0x683dec
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x683dec
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x54]
lea ecx, [ecx*4 + 0x886b1c]
mov dword [esp + 4], ecx
mov ebp, edx
cmp ebp, eax
jae 0x682281
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x6881d5
mov edi, edx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x6881d5
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 0x6881d7
mov ecx, ebp
mov edi, dword [esp + 0x54]
mov ebx, dword [edi*4 + 0x886b18]
cmp edx, ebx
jb 0x6881f8
mov ebp, dword [esp + 4]
cmp edx, ebx
je 0x688204
mov ebx, dword [ebp]
add ebp, 4
cmp edx, ebx
jae 0x6881ea
cmp dword [esp + 0x44], 0
jne 0x68820f
jmp 0x683dea
cmp dword [esp + 0x44], 0
jne 0x683dea
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 0x68818a
jmp 0x683dec
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x683dec
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x682281
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x68828c
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x68828c
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 0x6882b7
cmp edx, 0x40
je 0x6882b7
cmp edx, 0x60
je 0x6882b7
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 0x683dec
mov edx, dword [esp + 0x10]
inc edx
lea ebp, [ebp + ecx*2]
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x28]
jl 0x688245
jmp 0x683dec
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
je 0x6882fc
sub esp, 0xc
push eax
call dword [0x884888]
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 0x683e40
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp edi, eax
ja 0x68a7a5
movzx eax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x68a7a5
cmp ecx, 1
je 0x681a24
movzx eax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x681a24
jmp 0x68a7a5
cmp eax, 0xff
ja 0x682051
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov cl, byte [ecx + eax]
and cl, 0x10
shr cl, 4
jmp 0x682053
movzx eax, byte [ecx*8 + 0x886c55]
cmp eax, 9
ja 0x68839a
mov ecx, 0x320
bt ecx, eax
jb case.0x686687.0
movzx eax, word [esp + 0x28]
cmp eax, 0xf
je 0x681ee1
jmp 0x68c76d
movzx eax, word [ebp + 4]
movzx ecx, byte [ecx*8 + 0x886c55]
cmp dword [ecx*4 + 0x886168], eax
jmp 0x6883de
movzx eax, word [ebp + 4]
movzx ecx, byte [ecx*8 + 0x886c55]
jmp 0x6883dc
movzx eax, word [ebp + 4]
movzx ecx, byte [ecx*8 + 0x886c54]
cmp eax, ecx
setne al
movzx ecx, word [esp + 0x28]
cmp ecx, 0x10
jmp 0x68842b
movzx eax, byte [ecx*8 + 0x886c55]
mov eax, dword [eax*4 + 0x886168]
or eax, 2
cmp eax, 3
jmp 0x688420
movzx ecx, byte [ecx*8 + 0x886c55]
mov ecx, dword [ecx*4 + 0x886168]
or ecx, 2
cmp ecx, 3
je case.0x686687.0
cmp eax, 0x5f
sete al
movzx ecx, word [esp + 0x28]
cmp ecx, 0xf
sete cl
xor cl, al
jne 0x681ee1
jmp 0x68c76d
movzx edx, word [ebp + 4]
mov ecx, dword [edx*4 + 0x886b18]
cmp eax, ecx
jb 0x6819be
lea edx, [edx*4 + 0x886b1c]
cmp eax, ecx
je 0x6819f1
mov ecx, dword [edx]
add edx, 4
cmp eax, ecx
jae 0x688455
jmp 0x6819be
movzx edi, word [ebp + 4]
lea ebx, [edi + edi]
mov eax, dword [esp + 0x158]
cmp ebx, dword [eax + 0x14]
jl 0x68b1a5
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 0x6884d9
cmp dword [ebp + 0x70], 0
jne 0x6884e3
mov ecx, ebx
movzx eax, word [ecx + 2]
movzx eax, word [ecx + eax*2]
cmp eax, 0x77
je 0x6884e3
jmp 0x6885f0
lea ebx, [ebx + eax*2]
mov dword [ebp + 0x94], esi
mov dx, 0x77
cmp byte [esp + 4], 0
je 0x6884ab
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 + 0x886054]
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.006818c0
add esp, 0x20
cmp eax, 0xfffffc20
je 0x68853c
test eax, eax
jne 0x68901c
mov ax, word [ebx + 2]
jmp 0x688563
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x68b2fb
movzx edx, word [edi]
cmp edx, 0x77
je 0x688563
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x68b2fb
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 0x6884c5
jmp 0x6895b6
mov edi, dword [esp + 8]
cmp edi, ebx
jbe 0x68878d
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.006818c0
add esp, 0x20
test eax, eax
jne 0x68caf9
movzx eax, word [edi - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x6885e0
add edi, 0xfffffffe
jmp 0x6885e3
add edi, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp edi, ebx
ja 0x6885a0
jmp 0x6887ea
movzx eax, dx
movzx eax, byte [eax + 0x886054]
mov edx, ebx
lea edx, [edx + eax*2]
jmp 0x6888a4
movzx eax, bp
mov cl, byte [eax + 0x886054]
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 0x68c964
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
jmp 0x688b5e
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x688b5a
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.006818c0
add esp, 0x20
test eax, eax
jne 0x688dd2
lea eax, [ebx - 2]
cmp dword [esp + 0x34], 0
je 0x68869f
movzx ecx, word [ebx - 2]
and ecx, 0xfc00
cmp ecx, 0xdc00
mov edx, dword [esp + 0x14]
je 0x6886a7
mov ebx, eax
jmp 0x6886aa
mov ebx, eax
mov edx, dword [esp + 0x14]
jmp 0x6886aa
add ebx, 0xfffffffc
cmp ebx, dword [esp + 0xc]
ja 0x688653
jmp 0x688b65
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x688b5a
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.006818c0
add esp, 0x20
test eax, eax
jne 0x68caf9
movzx eax, word [ebx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x68870f
add ebx, 0xfffffffe
jmp 0x688712
add ebx, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp ebx, dword [esp + 0xc]
ja 0x6886d2
jmp 0x688b65
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x688b5a
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.006818c0
add esp, 0x20
test eax, eax
jne 0x68caf9
movzx eax, word [ebx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x68877b
add ebx, 0xfffffffe
jmp 0x68877e
add ebx, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp ebx, dword [esp + 0xc]
ja 0x68873e
jmp 0x688b65
mov edx, dword [esp + 0x14]
mov ebx, edi
jmp 0x688b5e
mov eax, dword [esp + 8]
mov ebx, edi
cmp eax, ebx
je 0x688b5a
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.006818c0
add esp, 0x20
test eax, eax
jne 0x68caf9
add ebx, 0xfffffffe
cmp edi, ebx
mov edx, dword [esp + 0x14]
jne 0x6887b7
mov ebx, edi
jmp 0x688b65
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
cmp eax, ebx
je 0x688b5a
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.006818c0
add esp, 0x20
test eax, eax
jne 0x68caf9
add ebx, 0xfffffffe
cmp dword [esp + 0xc], ebx
mov edx, dword [esp + 0x14]
jne 0x688812
jmp 0x68895b
cmp eax, 0x7a
jne 0x688964
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.006818c0
add esp, 0x20
test eax, eax
jne 0x688dd2
movzx eax, word [ebx]
cmp eax, 0x81
je 0x68cc9a
movzx eax, ax
cmp eax, 0x88
jae 0x68cd50
mov edx, ebx
mov ebx, dword [esp + 8]
jmp 0x688b65
mov ebx, dword [esp + 0xc]
cmp dword [esp + 8], ebx
je 0x688b5a
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.006818c0
add esp, 0x20
test eax, eax
jne 0x68caf9
add ebx, 0xfffffffe
cmp dword [esp + 0xc], ebx
mov edx, dword [esp + 0x14]
jne 0x6888ce
jmp 0x68895b
mov ebx, dword [esp + 0xc]
cmp dword [esp + 8], ebx
je 0x688b5a
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.006818c0
add esp, 0x20
test eax, eax
jne 0x68caf9
add ebx, 0xfffffffe
cmp dword [esp + 0xc], ebx
mov edx, dword [esp + 0x14]
jne 0x688926
mov ebx, dword [esp + 0xc]
jmp 0x688b65
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.006818c0
add esp, 0x20
test eax, eax
je 0x6889a5
mov ecx, eax
cmp eax, 0xfffffc1b
jne 0x68cb02
cmp dword [ebp + 0xb8], ebx
jne 0x68d006
movzx eax, word [ebx]
add dword [esp + 0xc], 4
cmp eax, 0x81
je 0x68ccec
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x688b65
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x688b5a
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.006818c0
add esp, 0x20
test eax, eax
jne 0x688dd2
lea ebx, [edi - 2]
cmp dword [esp + 0x34], 0
movzx ecx, word [edi - 2]
je 0x688a5b
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 0x688a5b
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 0x688b5a
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 + 0x8882d4]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx ecx, byte [ecx*8 + 0x886c56]
lea eax, [ebx - 2]
cmp dword [esp + 0x34], 0
movzx edx, word [ebx - 2]
je 0x688ae6
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x688ab9
lea eax, [ebx - 4]
movzx edx, word [eax]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x688ae6
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 + 0x8882d4]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x88a4d4]
movzx edx, byte [edx*8 + 0x886c56]
mov esi, dword [edx*4 + 0x8861e0]
bt esi, ecx
jae 0x688b38
cmp eax, dword [esp + 0xc]
mov ecx, edx
mov ebx, eax
ja 0x688a9a
jmp 0x688c62
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 0x6889e2
jmp 0x6888a4
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 0x68196a
jmp case.0x68b824.6
mov edi, ecx
cmp eax, 0x7a
jne 0x688ccc
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.006818c0
add esp, 0x20
mov ecx, eax
test eax, eax
mov edx, dword [esp + 0xc]
je 0x688b65
jmp 0x68cb02
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], eax
jbe 0x688629
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.006818c0
add esp, 0x20
test eax, eax
jne 0x688dd2
movzx eax, word [ebx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x688c2f
add ebx, 0xfffffffe
jmp 0x688c32
add ebx, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp ebp, 0x11
jne 0x688c57
mov ecx, ebx
cmp ecx, dword [esp + 0xc]
jbe 0x688c57
movzx eax, word [ecx]
cmp eax, 0xa
jne 0x688c57
movzx eax, word [ecx - 2]
cmp eax, 0xd
jne 0x688c57
add ebx, 0xfffffffe
cmp ebx, dword [esp + 0xc]
ja 0x688bec
jmp 0x688b5e
mov edx, dword [esp + 0x14]
mov ebx, eax
jmp 0x688b5e
cmp eax, 1
mov dword [esp + 4], eax
jne case.0x68b824.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 0x688c96
mov esi, dword [esp + 0x2c]
cmp ecx, esi
movzx edx, bp
cmovge esi, ecx
mov dword [esp + 0x2c], esi
movzx ecx, byte [edx + 0x886054]
mov edx, 2
sub edx, ecx
lea edi, [eax + edx*2]
jmp 0x68860d
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.006818c0
add esp, 0x20
mov ecx, eax
test eax, eax
jne 0x68cb02
add edi, 4
mov edx, edi
jmp 0x688b5e
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], eax
je 0x688d7a
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.006818c0
add esp, 0x20
test eax, eax
jne 0x688dd2
mov esi, ebx
lea ebx, [ebx - 2]
cmp ebp, 0x11
mov edx, dword [esp + 0x14]
jne 0x688d72
cmp ebx, dword [esp + 0xc]
jbe 0x688d72
movzx ecx, word [ebx]
cmp ecx, 0xa
jne 0x688d72
movzx ecx, word [esi - 4]
cmp ecx, 0xd
jne 0x688d72
add esi, 0xfffffffc
mov ebx, esi
cmp ebx, dword [esp + 0xc]
jne 0x688d1a
jmp 0x688d7e
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0xc]
jmp 0x688b65
mov eax, dword [esp + 0x160]
test eax, eax
je 0x688db4
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.0x68b824.6
sub esp, 0xc
lea ecx, [esp + 0x16c]
xor edx, edx
push 1
push 0
push 0
push 0
push 0
call fcn.006818c0
add esp, 0x20
mov dword [esp + 4], eax
jmp case.0x68b824.6
cmp ebx, dword [esp + 0x14]
jb 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov dword [esp + 4], 0xffffffeb
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov edi, edx
mov edx, dword [esp + 8]
cmp edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x158]
jne 0x688fb2
movzx eax, di
cmp eax, 0x9f
je 0x688fb2
cmp dword [ecx + 0xa8], 0
je 0x6897b3
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 0x68a0ca
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
cmp eax, 0xfffffc1b
mov dword [esp + 4], eax
jne case.0x68b824.6
movzx eax, word [ebx]
cmp eax, 0x81
jne 0x689e0c
mov esi, dword [esp + 0x158]
jmp 0x68a0bd
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
cmp eax, 0xfffffffe
jne 0x68908e
mov eax, dword [esp + 0x18]
mov ebp, dword [eax]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x18]
cmp ebp, dword [ecx]
jb 0x6895b6
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
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.0x68b824.6
lea edi, [ebp + 4]
mov ebx, dword [esp + 0x158]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
movzx eax, byte [edx + 0x886054]
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.006818c0
add esp, 0x20
cmp eax, 1
je 0x6891a4
cmp eax, 0xfffffc1f
je 0x6891c0
cmp eax, 0xfffffc19
mov ebx, dword [esp + 0x158]
jne 0x688dd2
cmp dword [ebx + 0xb0], 0
mov dword [esp + 4], eax
je 0x68a0d6
cmp eax, 0xfffffc1f
jne case.0x68b824.6
sub esp, 8
mov eax, dword [esp + 0x160]
push dword [eax + 0x80]
push edi
call fcn.0068eae0
add esp, 0x10
mov dword [esp + 4], 0xfffffc1f
test eax, eax
jne case.0x68b824.6
jmp 0x68922d
movzx eax, byte [edx + 0x886054]
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 8]
mov dword [eax + 0x80], ecx
mov dword [esp + 4], 0xfffffc1e
jmp case.0x68b824.6
lea edi, [ebp + 4]
mov ebx, dword [esp + 0x158]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
movzx eax, byte [edx + 0x886054]
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.006818c0
add esp, 0x20
cmp eax, 1
je 0x6892bb
test eax, eax
je 0x689446
cmp eax, 0xfffffc19
mov ebx, dword [esp + 0x158]
jne 0x688dd2
cmp dword [ebx + 0xb0], 0
jne 0x6892ca
mov dword [ebx + 0xb0], edi
test eax, eax
mov dword [esp + 4], eax
jne case.0x68b824.6
jmp 0x689446
movzx eax, byte [edx + 0x886054]
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.006818c0
add esp, 0x20
test eax, eax
mov ecx, 0xfffffc1c
jmp 0x689364
mov dword [esp + 4], 0xfffffffb
jmp case.0x68b824.6
movzx eax, byte [edx + 0x886054]
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.006818c0
add esp, 0x20
test eax, eax
mov ecx, 0xfffffc1d
cmovne ecx, eax
mov dword [esp + 4], ecx
jmp case.0x68b824.6
lea edi, [ebp + 4]
mov ebx, dword [esp + 0x158]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
movzx eax, byte [edx + 0x886054]
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.006818c0
add esp, 0x20
cmp eax, 1
je 0x6893dc
test eax, eax
je 0x6893f7
cmp eax, 0xfffffc19
mov ebx, dword [esp + 0x158]
jne 0x688dd2
cmp dword [ebx + 0xb0], 0
jne 0x6893eb
mov dword [ebx + 0xb0], edi
test eax, eax
mov dword [esp + 4], eax
jne case.0x68b824.6
mov dword [esp + 4], 0xfffffc1d
jmp case.0x68b824.6
movzx eax, byte [edx + 0x886054]
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
mov eax, dword [esp + 0x158]
mov dword [eax + 0x80], ebp
mov dword [esp + 4], 0xfffffc20
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov dword [esp + 4], 0xfffffff4
jmp case.0x68b824.6
mov dword [esp + 4], 0xffffffe6
jmp case.0x68b824.6
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
je 0x6895b6
sub esp, 0xc
push eax
jmp 0x689554
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
mov dword [esp + 4], esi
je case.0x68b824.6
sub esp, 0xc
push eax
call dword [0x884888]
add esp, 0x10
jmp case.0x68b824.6
mov ecx, dword [esp + 0x158]
mov dword [ecx + 0xa8], eax
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
je 0x6895b6
sub esp, 0xc
push eax
call dword [0x884888]
add esp, 0x10
mov dword [esp + 4], 0
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
cmp eax, 1
mov dword [esp + 4], eax
je 0x6895b6
jmp case.0x68b824.6
cmp eax, 0xfffffc19
mov dword [esp + 4], eax
jne case.0x68b824.6
mov dword [esp + 4], 0
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov dword [esp + 4], 0
cmp dword [ecx + 0x60], 0
jne case.0x68b824.6
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x64], 0
mov edx, dword [esp + 8]
je 0x688fb2
mov eax, dword [ecx + 0x98]
add eax, eax
add eax, dword [ecx + 0x78]
cmp dword [esp + 0x30], eax
jne 0x688fb2
jmp 0x6895b6
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.006818c0
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.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 0x68c76d
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
lea eax, [esi - 4]
cmp ebx, eax
mov edi, dword [esp + 0x158]
ja 0x689872
mov eax, dword [ebx]
cmp eax, dword [ebp]
je 0x6898ec
test ecx, ecx
jle 0x68adc9
mov eax, dword [esp + 0x34]
lea eax, [esi + eax*2]
cmp ebx, eax
ja 0x68adc9
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 0x68adc9
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.006818c0
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x689844
jmp case.0x68b824.6
mov eax, 2
jmp 0x6898ad
mov eax, dword [esp + 0x50]
test eax, eax
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
js 0x68a0e1
cmp eax, 0xa
mov edx, dword [esp + 0x14]
ja case.default.0x686687
jmp dword [eax*4 + 0x68d544]
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x68b824.6
dec dword [esp + 0x10]
mov ebp, 0x80001f
mov edx, dword [esp + 0x10]
inc edx
cmp edx, eax
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x68cb87
mov dword [esp + 0x10], edx
lea edi, [ecx + 2]
movzx eax, word [ecx]
cmp dword [esp + 0x34], 0
je 0x6899c0
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x6899c0
shl eax, 0xa
and eax, 0xffc00
movzx edx, word [ecx + 2]
add ecx, 4
and edx, 0x3ff
lea eax, [eax + edx + 0x10000]
jmp 0x6899c2
mov ecx, edi
mov edx, dword [esp + 0x14]
cmp eax, 0x180d
jle 0x6899df
lea edi, [eax - 0x2000]
cmp edi, 0x5f
ja case.default.0x6899d8
jmp dword [edi*4 + 0x68d570]
cmp eax, 0x84
jg 0x689a38
lea edi, [eax - 9]
cmp edi, 0x17
ja case.0x6899d8.8203
bt ebp, edi
jae case.0x6899d8.8203
cmp dword [esp + 0x44], 0
jne 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x68995d
jmp case.0x68b824.6
cmp eax, 0x85
je case.0x6899d8.8192
cmp eax, 0xa0
je case.0x6899d8.8192
cmp eax, 0x1680
je case.0x6899d8.8192
jmp case.0x6899d8.8203
cmp eax, 0x3000
je case.0x6899d8.8192
cmp eax, 0x180e
je case.0x6899d8.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 + 0x8882d4]
shl edi, 7
sub eax, edx
mov edx, dword [esp + 0x14]
add eax, edi
movzx eax, word [eax + eax + 0x88a4d4]
movzx eax, byte [eax*8 + 0x886c55]
xor ebx, ebx
cmp dword [eax*4 + 0x886168], 6
sete bl
cmp dword [esp + 0x44], ebx
jne 0x6899fe
jmp 0x68c76d
mov dword [esp + 4], 0xfffffff2
jmp case.0x68b824.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.006818c0
add esp, 0x20
cmp dword [esp + 0x34], 0
mov dword [esp + 4], eax
je 0x689bd5
test eax, eax
jne case.0x68b824.6
dec edi
inc edi
cmp edi, dword [esp + 0x40]
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp edx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x68bcf5
movzx eax, word [edx]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
mov ebx, dword [esp + 0x28]
jne 0x689b5f
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 0x689b66
add edx, 2
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x14]
cmp ebx, eax
je 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x689b04
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
cmp edi, dword [esp + 0x40]
jge 0x68c76d
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 0x68c9a5
movzx eax, word [ecx]
cmp edx, eax
mov edx, dword [esp + 0x14]
jne 0x689ba8
jmp 0x68c76d
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.006818c0
add esp, 0x20
cmp dword [esp + 0x34], 0
mov dword [esp + 4], eax
je 0x689d50
test eax, eax
jne case.0x68b824.6
dec edi
inc edi
cmp edi, dword [esp + 0x40]
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp edx, dword [eax]
jae 0x68bd33
movzx eax, word [edx]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
mov ebx, dword [esp + 0x28]
jne 0x689cb4
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 0x689cc3
jmp 0x68c898
add edx, 2
mov dword [esp + 0xc], edx
cmp ebx, eax
je 0x68c898
cmp dword [esp + 0x10], eax
mov dword [esp + 4], 0
je case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x689c59
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
cmp edi, dword [esp + 0x40]
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov edx, dword [esp + 0x28]
jae 0x68c9e3
movzx eax, word [ecx]
cmp edx, eax
je 0x68c898
cmp dword [esp + 0x10], eax
mov dword [esp + 4], 0
jne 0x689d15
jmp case.0x68b824.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.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
mov eax, dword [esp + 0x158]
mov dword [eax + 0xb8], ebx
mov dword [esp + 4], 0xfffffc1b
jmp case.0x68b824.6
movzx eax, ax
cmp eax, 0x77
movzx eax, word [ebx + 2]
mov esi, dword [esp + 0x158]
jne 0x68a0b5
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 0x689e23
jmp 0x68a0b7
mov dword [esp + 4], 1
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 8]
mov dword [ebp + 0x84], eax
jmp 0x68911e
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 0x689f5a
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov ecx, edi
cmp ecx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x68c8ec
cmp bx, word [ecx]
mov edx, dword [esp + 0x14]
je 0x689f38
jmp 0x68c76d
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 0x689ff0
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x68c926
movzx eax, word [ecx]
cmp bx, ax
mov edx, dword [esp + 0x14]
je 0x689fc8
cmp edi, eax
je 0x689fc8
jmp 0x68c76d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 8]
lea ecx, [ecx + 2]
mov edx, dword [esp + 0x18]
cmp ecx, dword [edx]
jb 0x6895b6
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne 0x6895b6
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x6895b6
mov ecx, dword [esp + 8]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
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.0x68b824.6
mov dword [ebx + 0xb0], edi
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 8], ebp
cmp ebp, 0x16
mov dword [esp + 4], eax
jne 0x68a856
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x68b824.6
cmp dword [esp + 0x10], ecx
jge 0x68c898
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 0x68ca21
lea edx, [ecx + 2]
movzx ecx, word [ecx]
cmp dword [esp + 0x34], 0
je 0x68a18e
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x68a18e
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 0x68a190
mov esi, edx
mov dword [esp + 0xc], esi
cmp esi, eax
jae 0x68a281
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 + 0x8882d4]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx edx, byte [ecx*8 + 0x886c56]
mov ecx, dword [esp + 0xc]
movzx ecx, word [ecx]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x68a215
mov edi, ecx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x68a215
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 + 0x8882d4]
shl edi, 7
sub ecx, ebx
add ecx, edi
movzx ecx, word [ecx + ecx + 0x88a4d4]
movzx ecx, byte [ecx*8 + 0x886c56]
mov ebx, 1
shl ebx, cl
and ebx, dword [edx*4 + 0x8861e0]
je 0x68a261
mov edx, dword [esp + 0xc]
lea edx, [edx + esi*2]
jmp 0x68a265
mov edx, dword [esp + 0xc]
mov dword [esp + 0xc], edx
cmp edx, eax
jae 0x68a27d
test ebx, ebx
mov edx, ecx
mov edi, dword [esp + 0x2c]
jne 0x68a1cf
jmp 0x68a281
mov edi, dword [esp + 0x2c]
cmp dword [esp + 0xc], eax
jb 0x68a2b0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68a2b0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68a2b0
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x68bc3a
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov ecx, dword [esp + 0x28]
je 0x68a127
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov dword [esp + 4], 0xfffffff4
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
add ebp, 4
mov eax, dword [esp + 0x158]
mov dword [eax + 0x80], ebp
mov dword [esp + 4], 0xfffffc1f
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 8]
lea ecx, [ecx + 2]
mov edx, dword [esp + 0x18]
cmp ecx, dword [edx]
jb 0x6895b6
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne 0x6895b6
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x6895b6
mov ecx, dword [esp + 8]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
cmp dword [esp + 0x34], 0
mov ecx, dword [esp + 0x28]
je 0x68b7a2
test eax, eax
jne case.0x68b824.6
dec dword [esp + 0x10]
lea eax, [ebx - 6]
movzx ebx, ax
mov edx, dword [esp + 0x10]
inc edx
cmp edx, ecx
jge 0x68c898
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edi, dword [esp + 0xc]
cmp edi, eax
mov esi, dword [esp + 0x158]
jae 0x68cc5c
cmp dword [esp + 8], 0xc
mov dword [esp + 0x10], edx
jne 0x68a908
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x68a8ce
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edi
call fcn.0068e910
add esp, 0x20
test eax, eax
je 0x68a908
jmp 0x68c898
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp edi, eax
ja 0x68a908
movzx eax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x68a908
cmp ecx, 1
je 0x68c898
mov edi, dword [esp + 0xc]
movzx eax, word [edi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x68c898
movzx eax, word [edi]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x68a939
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x68a93c
add edi, 2
mov dword [esp + 0xc], edi
cmp ebx, 0xf
ja case.default.0x68b824
mov dword [esp + 4], 0xfffffff2
jmp dword [ebx*4 + 0x68d4c4]
cmp eax, 0xff
ja case.0x68a951.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
je case.0x68a951.7
jmp 0x68c898
cmp eax, 0xff
ja 0x68c898
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
jne case.0x68a951.7
jmp 0x68c898
cmp eax, 0xff
ja case.0x68a951.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
je case.0x68a951.7
jmp 0x68c898
cmp eax, 0xff
ja 0x68c898
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
jne case.0x68a951.7
jmp 0x68c898
cmp eax, 0xff
ja case.0x68a951.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je case.0x68a951.7
jmp 0x68c898
cmp eax, 0xff
ja 0x68c898
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
jne case.0x68a951.7
jmp 0x68c898
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je case.0x68a951.7
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [edx]
jb case.0x68a951.7
mov edx, dword [esp + 0x158]
cmp dword [edx + 0x18], 0
jne case.0x68a951.7
mov edx, dword [esp + 0x48]
cmp dword [edx], 2
jne case.0x68a951.7
mov edx, dword [esp + 0x158]
movzx edx, word [edx + 0x34]
cmp eax, edx
jne case.0x68a951.7
mov eax, dword [esp + 0x20]
mov dword [eax], 1
cmp ecx, 1
jle case.0x68a951.7
jmp 0x68bc3a
cmp eax, 0xc
jle 0x68abd6
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x68abe2
cmp eax, 0x85
je 0x68abe2
cmp eax, 0xd
mov dword [esp + 4], 0
jne case.0x68b824.6
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
jae case.0x68a951.7
mov eax, dword [esp + 0xc]
movzx eax, word [eax]
cmp eax, 0xa
jne case.0x68a951.7
add dword [esp + 0xc], 2
jmp case.0x68a951.7
cmp eax, 0x1fff
jle 0x68ab9d
cmp eax, 0x202e
jg 0x68ac18
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jae case.0x68a951.7
jmp case.0x68b824.6
cmp eax, 0x1fff
jle 0x68abf8
cmp eax, 0x202e
jg 0x68ac5d
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jb case.0x68a951.7
jmp case.0x68b824.6
lea ecx, [eax - 0xa]
cmp ecx, 4
jb 0x68c898
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x68c898
cmp eax, 0x85
mov dword [esp + 4], 0
jne case.0x68a951.7
jmp case.0x68b824.6
lea ecx, [eax - 0xa]
cmp ecx, 4
jb case.0x68a951.7
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb case.0x68a951.7
cmp eax, 0x85
je case.0x68a951.7
jmp 0x68c898
cmp eax, 0x9f
jle 0x68ac42
cmp eax, 0xa0
je 0x68c898
cmp eax, 0x1680
je 0x68c898
cmp eax, 0x180e
mov dword [esp + 4], 0
jne case.0x68a951.7
jmp case.0x68b824.6
lea ecx, [eax - 0xb]
cmp ecx, 2
jae 0x68ac72
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x6c], 0
je case.0x68a951.7
jmp 0x68c898
cmp eax, 0x9f
jle 0x68ac77
cmp eax, 0xa0
je case.0x68a951.7
cmp eax, 0x1680
je case.0x68a951.7
cmp eax, 0x180e
jmp 0x68ac7f
cmp eax, 0x202f
je 0x68c898
cmp eax, 0x205f
je 0x68c898
cmp eax, 0x3000
mov dword [esp + 4], 0
jne case.0x68a951.7
jmp case.0x68b824.6
cmp eax, 9
je 0x68c898
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x68a951.7
jmp case.0x68b824.6
cmp eax, 0x202f
je case.0x68a951.7
cmp eax, 0x205f
je case.0x68a951.7
cmp eax, 0x3000
jmp 0x68ac7f
cmp eax, 0xa
jmp 0x68ac7f
cmp eax, 9
je case.0x68a951.7
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x68b824.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.006818c0
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x68a877
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
cmp ebx, esi
jb 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
cmp edi, edx
jb 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
cmp byte [esp + 4], 0
je 0x68b662
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
dec edi
inc edi
cmp edi, dword [esp + 0x28]
jge 0x68c76d
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.0068db10
add esp, 0x10
test eax, eax
js 0x68cbc5
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x68ae98
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
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.006818c0
add esp, 0x20
cmp dword [esp + 0x34], 0
mov dword [esp + 4], eax
je 0x68bd71
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x68b824.6
dec ebx
movzx esi, cx
inc ebx
cmp ebx, dword [esp + 0x10]
jge 0x68c76d
mov eax, dword [esp + 0x18]
cmp edi, dword [eax]
jae 0x68cc22
movzx eax, word [edi]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x68afc3
add edi, 4
jmp 0x68afcd
add edi, 2
cmp eax, 0x100
jb 0x68afdb
mov edx, dword [esp + 0x14]
cmp esi, 0x6e
jne 0x68aff7
jmp 0x68c76d
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 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x68af94
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
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 0x68b23b
mov eax, dword [esp + 0x158]
mov dword [eax + 0x9c], 2
movzx eax, byte [edx + 0x886054]
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.006818c0
add esp, 0x20
cmp eax, 0xfffffc20
je 0x68b290
test eax, eax
jne 0x68c8a5
mov edx, dword [esp + 0xc]
mov ax, word [edx + 2]
mov esi, dword [esp + 8]
jmp 0x68b2bd
movzx eax, word [esi + 2]
lea ecx, [esi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x68b2fb
movzx edx, word [esi]
cmp edx, 0x77
mov esi, dword [esp + 8]
jne 0x68b2b1
mov edx, dword [esp + 0xc]
jmp 0x68b2bd
movzx ecx, word [ecx]
cmp ecx, 0x77
mov edx, dword [esp + 0xc]
jne 0x68b2fb
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 0x68b21e
xor esi, esi
jmp 0x68c8b9
mov dword [esp + 4], 0xfffffc20
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
cmp eax, 0xfffffffe
jne 0x68b351
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 0x6895b6
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jb 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov dword [esp + 4], 0xfffffffa
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
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 0x68b563
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
mov ecx, dword [esp + 8]
cmp ecx, edi
jbe 0x68c76d
movzx eax, word [ecx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x2c]
je 0x68b5a3
add ecx, 0xfffffffe
jmp 0x68b545
add ecx, 0xfffffffc
jmp 0x68b545
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
cmp edi, dword [esp + 0x28]
mov esi, dword [esp + 8]
jge 0x68caa9
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.0068db10
add esp, 0x10
test eax, eax
js 0x68ca5f
lea esi, [esi + eax*2]
inc edi
cmp edi, dword [esp + 0x28]
jl 0x68b674
jmp 0x68ca97
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
dec ebx
inc ebx
cmp ebx, dword [esp + 0x10]
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov eax, ecx
jae 0x68cd12
lea ecx, [eax + 2]
movzx eax, word [eax]
cmp dword [esp + 0x34], 0
je 0x68b745
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x68b745
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 0x68b749
mov dword [esp + 0xc], ecx
sub esp, 4
push dword [esp + 0x38]
push edi
push eax
call fcn.0068ecf0
add esp, 0x10
test eax, eax
je 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x68b6e5
jmp case.0x68b824.6
test eax, eax
jne case.0x68b824.6
dec dword [esp + 0x10]
lea eax, [ebx - 6]
movzx ebx, ax
mov edx, dword [esp + 0x10]
inc edx
cmp edx, ecx
jge 0x68c898
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edi, dword [esp + 0xc]
cmp edi, ecx
jae 0x68cd74
cmp dword [esp + 8], 0xc
mov dword [esp + 0x10], edx
jne 0x68b80d
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x68b84b
sub esp, 0xc
push 0
push dword [esp + 0x58]
push ecx
push eax
push edi
call fcn.0068e910
add esp, 0x20
test eax, eax
je 0x68b88c
jmp 0x68c898
cmp ebx, 0xf
ja case.default.0x68b824
lea ebp, [edi + 2]
movzx eax, word [edi]
mov dword [esp + 4], 0xfffffff2
jmp dword [ebx*4 + 0x68d504]
cmp eax, 0xff
ja case.0x68b824.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
je case.0x68b824.7
jmp 0x68c898
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
lea edx, [eax + eax]
sub ecx, edx
cmp edi, ecx
ja 0x68b88c
movzx ecx, word [edi]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x68b88c
cmp eax, 1
je 0x68c898
mov edi, dword [esp + 0xc]
movzx eax, word [edi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x68c898
lea ebp, [edi + 2]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je case.0x68b824.7
mov ecx, dword [esp + 0x18]
cmp ebp, dword [ecx]
jb case.0x68b824.7
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne case.0x68b824.7
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne case.0x68b824.7
mov ecx, dword [esp + 0xc]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne case.0x68b824.7
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle case.0x68b824.7
jmp 0x68bc3a
cmp eax, 0xff
ja 0x68c898
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
jne case.0x68b824.7
jmp 0x68c898
cmp eax, 0xff
ja case.0x68b824.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
je case.0x68b824.7
jmp 0x68c898
cmp eax, 0xff
ja 0x68c898
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
jne case.0x68b824.7
jmp 0x68c898
cmp eax, 0xff
ja case.0x68b824.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je case.0x68b824.7
jmp 0x68c898
cmp eax, 0xff
ja 0x68c898
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
jne case.0x68b824.7
jmp 0x68c898
movsx edx, ax
cmp edx, 0xc
jle 0x68bb18
lea edx, [eax - 0x2028]
movzx edx, dx
cmp edx, 2
jb 0x68bb27
movzx eax, ax
cmp eax, 0x85
je 0x68bb27
cmp eax, 0xd
mov dword [esp + 4], 0
jne case.0x68b824.6
cmp ebp, ecx
jae case.0x68b824.7
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 2]
cmp eax, 0xa
jne case.0x68b824.7
mov ebp, dword [esp + 0xc]
add ebp, 4
jmp case.0x68b824.7
movsx ecx, ax
cmp ecx, 0x1fff
jle 0x68badb
cmp ecx, 0x202e
jg 0x68bb69
add eax, 0xffffe000
movzx eax, ax
cmp eax, 0xb
mov dword [esp + 4], 0
jae case.0x68b824.7
jmp case.0x68b824.6
movsx ecx, ax
cmp ecx, 0x1fff
jle 0x68bb3d
cmp ecx, 0x202e
jg 0x68bbb1
add eax, 0xffffe000
movzx eax, ax
cmp eax, 0xb
mov dword [esp + 4], 0
jb case.0x68b824.7
jmp case.0x68b824.6
lea ecx, [eax - 0xa]
movzx ecx, cx
cmp ecx, 4
jb 0x68c898
lea ecx, [eax - 0x2028]
movzx ecx, cx
cmp ecx, 2
jb 0x68c898
movzx eax, ax
cmp eax, 0x85
mov dword [esp + 4], 0
jne case.0x68b824.7
jmp case.0x68b824.6
lea ecx, [eax - 0xa]
movzx ecx, cx
cmp ecx, 4
jb case.0x68b824.7
lea ecx, [eax - 0x2028]
movzx ecx, cx
cmp ecx, 2
jb case.0x68b824.7
movzx eax, ax
cmp eax, 0x85
je case.0x68b824.7
jmp 0x68c898
movzx eax, ax
cmp ecx, 0x9f
jle 0x68bb96
cmp eax, 0xa0
je 0x68c898
cmp eax, 0x1680
je 0x68c898
cmp eax, 0x180e
mov dword [esp + 4], 0
jne case.0x68b824.7
jmp case.0x68b824.6
lea ecx, [eax - 0xb]
movzx ecx, cx
cmp ecx, 2
jae 0x68bbc9
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x6c], 0
je case.0x68b824.7
jmp 0x68c898
movzx eax, ax
cmp ecx, 0x9f
jle 0x68bbd1
cmp eax, 0xa0
je case.0x68b824.7
cmp eax, 0x1680
je case.0x68b824.7
cmp eax, 0x180e
jmp 0x68bbd9
movzx eax, ax
cmp eax, 0x202f
je 0x68c898
cmp eax, 0x205f
je 0x68c898
cmp eax, 0x3000
mov dword [esp + 4], 0
jne case.0x68b824.7
jmp case.0x68b824.6
cmp eax, 9
je 0x68c898
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x68b824.7
jmp case.0x68b824.6
movzx eax, ax
cmp eax, 0x202f
je case.0x68b824.7
cmp eax, 0x205f
je case.0x68b824.7
cmp eax, 0x3000
jmp 0x68bbd9
movzx eax, ax
cmp eax, 0xa
jmp 0x68bbd9
cmp eax, 9
je case.0x68b824.7
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x68b824.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.006818c0
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov dword [esp + 0xc], ebp
je 0x68b7b4
jmp case.0x68b824.6
mov dword [esp + 4], 0xfffffff2
jmp case.0x68b824.6
mov dword [esp + 4], 0xfffffff4
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
mov ecx, dword [esp + 8]
cmp ecx, dword [esp + 0xc]
jbe 0x68c76d
lea edi, [ecx - 2]
cmp dword [esp + 0x34], 0
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x2c]
je 0x68bcc0
movzx eax, word [ecx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
mov edx, dword [esp + 0x14]
jne 0x68bcc4
add ecx, 0xfffffffc
mov edi, ecx
jmp 0x68bcc4
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov dword [esp + 8], edi
je 0x68bc82
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x68b824.6
movzx esi, cx
cmp ebx, dword [esp + 0x10]
jge 0x68c76d
mov eax, dword [esp + 0x18]
cmp edi, dword [eax]
jae 0x68cdb2
movzx eax, word [edi]
cmp eax, 0x100
mov edx, dword [esp + 0x14]
jb 0x68bdae
cmp esi, 0x6e
jne 0x68bdcc
jmp 0x68c76d
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 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x68bd80
jmp case.0x68b824.6
mov dword [esp + 4], 0
cmp dword [esp + 8], edi
jb case.0x68b824.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.006818c0
add esp, 0x20
test eax, eax
jne 0x68caf9
add ebx, 0xfffffffe
mov dword [esp + 4], 0
mov dword [esp + 8], ebx
cmp ebx, edi
jae 0x68be1c
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x68b824.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, eax
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp edx, dword [eax]
jae 0x68cdec
lea eax, [edx + 2]
cmp dword [esp + 0x34], 0
je 0x68bedf
movzx ecx, word [edx]
and ecx, 0xfc00
cmp ecx, 0xd800
je 0x68bee5
mov dword [esp + 0xc], eax
jmp 0x68beec
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 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x68bea3
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x68b824.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x68ce2a
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x68bfd3
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x68bfd3
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 0x68bfd7
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 + 0x8882d4]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x88a4d4]
movzx eax, byte [eax*8 + 0x886c55]
add al, 0xfb
xor ecx, ecx
cmp al, 4
ja 0x68c027
movsx eax, al
mov ecx, dword [eax*4 + 0x886030]
cmp dword [esp + 0x44], ecx
mov edx, dword [esp + 0x14]
je 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x68bf73
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x68b824.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x68ce68
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x68c102
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x68c102
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 0x68c106
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 + 0x8882d4]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x88a4d4]
movzx eax, byte [eax*8 + 0x886c55]
xor ecx, ecx
mov edx, dword [esp + 0x54]
cmp dword [eax*4 + 0x886168], edx
sete cl
cmp dword [esp + 0x44], ecx
je 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x68c0a2
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x68b824.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x68cea6
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x68c22f
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x68c22f
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 0x68c233
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 + 0x8882d4]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x88a4d4]
movzx eax, byte [eax*8 + 0x886c55]
xor ecx, ecx
cmp dword [esp + 0x54], eax
sete cl
cmp dword [esp + 0x44], ecx
je 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x68c1cf
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x68b824.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x68cee4
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x68c355
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x68c355
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 0x68c359
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 + 0x8882d4]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x88a4d4]
movzx eax, byte [eax*8 + 0x886c54]
xor ecx, ecx
cmp dword [esp + 0x54], eax
sete cl
cmp dword [esp + 0x44], ecx
je 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x68c2f5
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x68b824.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x68cf22
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x68c47b
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x68c47b
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 0x68c47f
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 + 0x8882d4]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x88a4d4]
movzx eax, byte [eax*8 + 0x886c55]
mov eax, dword [eax*4 + 0x886168]
or eax, 2
xor ecx, ecx
cmp eax, 3
sete cl
cmp dword [esp + 0x44], ecx
je 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x68c41b
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x68b824.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x68cf60
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x68c5aa
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x68c5aa
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 0x68c5ae
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 + 0x8882d4]
shl ecx, 7
mov esi, eax
sub esi, edx
add esi, ecx
movzx ecx, word [esi + esi + 0x88a4d4]
movzx ecx, byte [ecx*8 + 0x886c55]
mov ecx, dword [ecx*4 + 0x886168]
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 0x68c76d
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x68c54a
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x68b824.6
mov eax, dword [esp + 0x54]
lea ebx, [eax*4 + 0x886b1c]
cmp dword [esp + 0x10], ecx
jge 0x68c76d
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0xc]
cmp edi, dword [eax]
jae 0x68cf93
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x68c6e0
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x68c6e0
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x68c6e2
mov edi, ecx
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx*4 + 0x886b18]
cmp eax, ecx
jb 0x68c700
mov edx, ebx
cmp eax, ecx
je 0x68c717
mov ecx, dword [edx]
add edx, 4
cmp eax, ecx
jae 0x68c6f3
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x14]
jne 0x68c72d
jmp 0x68c898
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x14]
jne 0x68c898
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov ecx, dword [esp + 0x28]
je 0x68c68b
jmp case.0x68b824.6
mov dword [esp + 4], 0
jmp case.0x68b824.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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x68b824.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x68c898
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x68cfc2
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x68c80c
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x68c80c
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x68c80e
mov esi, ecx
mov dword [esp + 0xc], esi
mov cl, 1
cmp eax, 0x24
je 0x68c849
cmp eax, 0x40
je 0x68c849
cmp eax, 0x60
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
je 0x68c854
lea ecx, [eax - 0xa0]
cmp ecx, 0xd760
setb dl
cmp eax, 0xdfff
seta cl
or cl, dl
jmp 0x68c854
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
movzx eax, cl
cmp dword [esp + 0x44], eax
mov edx, dword [esp + 0x14]
je 0x68c898
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x68c7b0
jmp case.0x68b824.6
mov dword [esp + 4], 0
jmp case.0x68b824.6
mov esi, 0xfffffc1b
cmp eax, 0xfffffc1b
mov dword [esp + 4], eax
jne case.0x68b824.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.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
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.006818c0
add esp, 0x20
jmp 0x688dd2
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
cmp eax, 0xfffffffe
jne 0x68ca97
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68ca97
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x24]
cmp ecx, dword [edx]
jbe 0x68ca97
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
mov dword [esp + 4], 0
cmp esi, dword [esp + 8]
jb case.0x68b824.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.006818c0
add esp, 0x20
test eax, eax
jne 0x68caf9
add esi, edi
mov dword [esp + 4], 0
cmp esi, dword [esp + 8]
jae 0x68cab3
jmp case.0x68b824.6
mov dword [esp + 4], eax
jmp case.0x68b824.6
mov dword [esp + 4], ecx
jmp case.0x68b824.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
cmp eax, 0xfffffffe
jne 0x68cbd4
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 0x6895b6
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jb 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
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.006818c0
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x68b824.6
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xb8], ecx
mov dword [esp + 4], 0xfffffc1b
jmp case.0x68b824.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 0x689dde
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
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 0x68c998
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x6895b6
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x6895b6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x6895b6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.6
jmp 0x68cfef
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x68cfef
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x68cfef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x68b824.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.0x68b824.6