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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x13c
test edx, edx
je 0x71d72e
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.0x7201c8.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 0x71d8a7
cmp dword [ecx + 0x9c], 2
jne 0x7187e0
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 0x7187e0
movzx eax, word [esp + 0x28]
cmp eax, 0x10
jne 0x716881
jmp 0x721111
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 0x717669
jmp 0x721111
movzx eax, word [esp + 0x28]
cmp eax, 0x10
je 0x716881
jmp 0x721111
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 0x717669
jmp 0x7214af
add ebp, 2
mov dword [esp + 0x14], ebp
jmp 0x7187e0
cmp eax, 0x24
je case.0x71b027.0
cmp eax, 0x60
je case.0x71b027.0
cmp eax, 0x40
je case.0x71b027.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 0x716881
jmp 0x721111
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x716444
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x716444
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x7205de
mov dword [esp + 8], ebp
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d365
cmp eax, 0x202f
mov dword [esp + 4], 0
je 0x7163c4
cmp eax, 0x3000
je 0x7163c4
cmp eax, 0x205f
je 0x7163c4
jmp case.0x7201c8.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 0x716562
test ebx, ebx
jle 0x7165bb
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
xor esi, esi
mov edi, dword [esp + 8]
cmp edi, edx
jae 0x71da74
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x7164e7
add edi, 4
jmp 0x7164f2
add edi, 2
cmp ecx, 0x100
jb 0x716501
movzx eax, word [esp + 0x28]
cmp eax, 0x6e
jne 0x71651a
jmp 0x721111
mov eax, ecx
shr eax, 3
movzx eax, byte [ebp + eax + 2]
and cl, 7
movzx ecx, cl
bt eax, ecx
jae 0x721111
inc esi
cmp esi, ebx
jl 0x7164c9
jmp 0x7165bf
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 0x7164b5
test ebx, ebx
jle 0x7165bb
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
xor esi, esi
mov edi, dword [esp + 8]
cmp edi, edx
jae 0x71df0e
movzx eax, word [edi]
cmp eax, 0x100
jb 0x716593
movzx eax, word [esp + 0x28]
cmp eax, 0x6e
jne 0x7165b1
jmp 0x721111
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 0x721111
add edi, 2
inc esi
cmp esi, ebx
jl 0x716572
jmp 0x7165bf
mov edi, dword [esp + 8]
cmp ebx, dword [esp + 0x10]
mov dword [esp + 8], edi
mov edx, dword [esp + 0x28]
je 0x7187e0
cmp dword [esp + 4], 0
jne 0x71f8ec
cmp dword [esp + 0x34], 0
je 0x71666c
cmp ebx, dword [esp + 0x10]
mov eax, edi
jge 0x7166fd
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, edi
cmp eax, dword [esp + 4]
jae 0x7166cd
mov ecx, eax
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
mov esi, 2
cmp eax, 0xd800
je 0x71662e
mov esi, 1
cmp edx, 0x100
jb 0x71663d
movzx eax, word [esp + 0x28]
cmp eax, 0x6e
jne 0x71665b
jmp 0x7166f7
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 0x7166f7
mov eax, ecx
lea eax, [eax + esi*2]
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x7165ff
jmp 0x7166fd
cmp ebx, dword [esp + 0x10]
mov eax, edi
jge 0x716741
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, edi
cmp eax, ecx
jae 0x716711
mov esi, eax
movzx eax, word [eax]
cmp eax, 0x100
jb 0x7166a1
movzx eax, dx
cmp eax, 0x6e
jne 0x7166bf
jmp 0x71673b
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 0x71673b
mov eax, esi
add eax, 2
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x716680
jmp 0x716741
mov edx, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x7166fb
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x7166fb
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov eax, edx
jle 0x7166fd
jmp 0x71de7c
mov eax, ecx
jmp 0x7166fd
mov eax, edx
mov dword [esp + 8], eax
cmp byte [esp + 0xc], 0
jne 0x7187e0
jmp 0x71fec0
mov edx, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71673f
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x71673f
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov eax, edx
jle 0x716741
jmp 0x71de7c
mov eax, esi
jmp 0x716741
mov eax, edx
mov dword [esp + 8], eax
cmp byte [esp + 0xc], 0
jne 0x7187e0
jmp 0x7207ae
cmp edx, 0xa
mov dword [esp + 4], 0
jne case.0x7201c8.6
add ebp, 2
mov dword [esp + 0x14], ebp
mov dword [esp + 8], eax
jmp 0x7187e0
xor ecx, ecx
movzx eax, cl
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
jae 0x7167ef
mov ebx, edx
movzx edx, word [edi]
mov ecx, edx
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x7167b2
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 0x716a4a
mov cl, 1
cmp edx, 0x5f
je 0x716a65
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 + 0x8649f0]
shl ecx, 7
sub edx, esi
add edx, ecx
jmp 0x716a28
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x71681f
mov esi, edx
mov edx, dword [esp + 0x24]
cmp edi, dword [edx]
jbe 0x716816
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
jg 0x71de7c
xor ecx, ecx
mov edx, esi
jmp 0x716a67
xor ecx, ecx
jmp 0x716a67
xor eax, eax
movzx esi, al
test esi, esi
je case.0x719c29.4
jmp 0x71cfa4
cmp eax, 0x84
jg 0x71685a
add eax, 0xfffffff7
cmp eax, 0x17
ja case.0x71b048.8203
mov edx, 0x80001f
bt edx, eax
jb case.0x71b027.0
jmp case.0x71b048.8203
cmp eax, 0x85
je case.0x71b027.0
cmp eax, 0xa0
je case.0x71b027.0
cmp eax, 0x1680
jne case.0x71b048.8203
movzx eax, word [esp + 0x28]
cmp eax, 0xf
je 0x721111
mov dword [esp + 8], ebx
add ebp, 6
mov dword [esp + 0x14], ebp
jmp 0x7187e0
mov eax, edx
mov dword [esp + 8], eax
cmp dword [esp + 0x4c], 0
jne 0x7187e0
jmp 0x71d055
movzx edx, word [ebx + 2]
cmp dx, word [edi + 0x36]
jne 0x71e9ed
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne 0x71e9ed
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x7163c4
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x7163c4
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x7163c4
jmp 0x71eccd
cmp eax, 9
mov dword [esp + 4], 0
je 0x7163c4
cmp eax, 0x20
je 0x7163c4
jmp case.0x7201c8.6
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x717ec6
movzx ebx, word [edi]
mov esi, ebx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x716955
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 0x7169a0
cmp ebx, 0x202e
jg 0x7169c2
add ebx, 0xffffe000
cmp ebx, 0xb
jae 0x7169e6
cmp esi, ecx
je 0x7187c6
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 0x716912
jmp 0x7187c6
cmp ebx, 0x9f
jle 0x7169dc
cmp ebx, 0xa0
je 0x716975
cmp ebx, 0x1680
je 0x716975
cmp ebx, 0x180e
je 0x716975
jmp 0x7169e6
cmp ebx, 0x202f
je 0x716975
cmp ebx, 0x205f
je 0x716975
cmp ebx, 0x3000
je 0x716975
jmp 0x7169e6
cmp ebx, 9
je 0x716975
cmp ebx, 0x20
je 0x716975
xor esi, esi
cmp esi, ecx
jne 0x71697d
jmp 0x7187c6
xor ecx, ecx
movzx eax, cl
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
jae 0x7167ef
mov ebx, edx
cmp dword [esi + 0x58], 0
movzx edx, word [edi]
je 0x716a4a
mov cl, 1
cmp edx, 0x5f
je 0x716a65
mov ecx, edx
shr ecx, 7
movzx ecx, byte [ecx + 0x8649f0]
shl ecx, 7
and edx, 0x7f
or edx, ecx
movzx ecx, word [edx + edx + 0x866bf0]
movzx ecx, byte [ecx*8 + 0x863371]
mov ecx, dword [ecx*4 + 0x86284c]
or ecx, 2
cmp ecx, 3
sete cl
jmp 0x716a65
cmp edx, 0xff
ja 0x716a63
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov cl, byte [ecx + edx]
and cl, 0x10
shr cl, 4
jmp 0x716a65
xor ecx, ecx
mov edx, ebx
movzx ecx, cl
add ebp, 2
movzx edx, dx
cmp edx, 5
jne 0x716a8e
mov dword [esp + 4], 0
cmp eax, ecx
mov dword [esp + 0x14], ebp
jne 0x7187e0
jmp case.0x7201c8.6
mov dword [esp + 4], 0
cmp eax, ecx
mov dword [esp + 0x14], ebp
je 0x7187e0
jmp case.0x7201c8.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 0x71de04
lea ecx, [edx + 2]
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x716b13
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x716b13
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 0x716b17
mov dword [esp + 8], ecx
sub esp, 4
push dword [esp + 0x38]
push edi
push eax
call fcn.007643c0
add esp, 0x10
test eax, eax
je 0x721111
inc esi
cmp esi, ebx
jl 0x716ac0
mov eax, dword [esp + 8]
mov dword [esp + 0xc], eax
cmp ebx, dword [esp + 0x10]
je 0x7187e0
test ebp, ebp
jne 0x72004d
cmp ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jge 0x716bf7
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
cmp ecx, dword [eax]
jae 0x716bcb
mov ebp, ecx
movzx eax, word [ecx]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x716ba8
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x716ba8
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.007643c0
add esp, 0x10
mov ecx, ebp
test eax, eax
je 0x716bf7
lea ecx, [ecx + esi*2]
inc ebx
cmp ebx, dword [esp + 0x10]
jl 0x716b61
jmp 0x716bf7
mov edx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x716bf5
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x716bf5
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov ecx, edx
jle 0x716bf7
jmp 0x71de7c
mov ecx, edx
mov dword [esp + 8], ecx
cmp byte [esp + 4], 0
jne 0x7187e0
jmp 0x7205eb
mov ecx, edx
mov dword [esp + 8], ecx
cmp dword [esp + 0x4c], 0
jne 0x7187e0
jmp 0x71d24d
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71878c
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x71878c
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x71878c
jmp 0x7205de
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x716766
mov edx, dword [esp + 0x24]
cmp eax, dword [edx]
jbe 0x716766
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
jle 0x716766
jmp 0x71de7c
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 0x71f9d5
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x721111
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
je 0x721111
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x716c95
jmp 0x71953f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x71f0d5
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x716cfc
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
jne 0x721111
lea edx, [edi + 2]
mov esi, edx
cmp edx, eax
jae 0x716d17
movzx edx, word [edi + 2]
and edx, 0xfc00
cmp edx, 0xdc00
je 0x716d1b
mov edx, esi
jmp 0x716d20
add edi, 4
mov edx, edi
inc ecx
cmp ecx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
mov edi, edx
jl 0x716cdc
jmp 0x71953f
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 0x71fa13
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x721111
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
je 0x721111
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x716d42
jmp 0x71953f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x71f10f
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x716da9
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
jne 0x721111
lea edx, [edi + 2]
mov esi, edx
cmp edx, eax
jae 0x716dc4
movzx edx, word [edi + 2]
and edx, 0xfc00
cmp edx, 0xdc00
je 0x716dc8
mov edx, esi
jmp 0x716dcd
add edi, 4
mov edx, edi
inc ecx
cmp ecx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
mov edi, edx
jl 0x716d89
jmp 0x71953f
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 0x71fa51
movzx edx, word [edi]
cmp edx, 0x7f
ja 0x721111
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
je 0x721111
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x716def
jmp 0x71953f
xor esi, esi
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp ebx, eax
jae 0x71f1c0
mov edi, dword [esp + 0x158]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x716e6f
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push ebx
call fcn.00763fe0
add esp, 0x20
test eax, eax
mov edx, dword [esp + 0x10]
je 0x716ea2
jmp 0x721111
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 0x716ea2
movzx eax, word [ebx]
cmp ax, word [edi + 0x34]
jne 0x716ea2
cmp ecx, 1
je 0x721111
movzx eax, word [ebx + 2]
cmp ax, word [edi + 0x36]
je 0x721111
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x716ec7
lea edx, [ebx + 2]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp edx, eax
jae 0x716ed6
mov ecx, ebp
mov edx, dword [esp + 0x10]
cmp ecx, eax
jb 0x716ee6
jmp 0x716efb
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea ecx, [ebx + 2]
cmp ecx, eax
jb 0x716ee6
jmp 0x716efb
cmp dword [edi + 0x18], 0
mov edx, dword [esp + 0x10]
je 0x716f0f
mov ecx, ebp
cmp ecx, eax
jae 0x716efb
movzx eax, word [ebx + 2]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x716efb
add ebx, 4
mov ecx, ebx
inc esi
cmp esi, edx
mov dword [esp + 0xc], ecx
mov ebx, ecx
jl 0x716e30
jmp 0x71953f
mov edx, dword [esp + 0x48]
cmp dword [edx], 2
jne 0x716ebb
movzx edx, word [ebx]
cmp dx, word [edi + 0x34]
jne 0x716ebb
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
mov ecx, ebp
mov edx, dword [esp + 0x10]
jle 0x716ee2
jmp 0x71de7c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov esi, dword [esp + 8]
cmp esi, eax
jae 0x71ec93
lea edi, [esi + 2]
cmp edi, eax
jae 0x716f6d
movzx edx, word [esi + 2]
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x716f6d
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 0x716f47
jmp 0x71953f
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 0x71f8ae
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x716fcf
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x716fd2
add edi, 2
mov ebx, dword [esp + 0x158]
mov dword [esp + 0xc], edi
cmp edx, 0xc
jle 0x71701f
lea edi, [edx - 0x2028]
cmp edi, 2
jb 0x717027
cmp edx, 0x85
je 0x717027
cmp edx, 0xd
mov dword [esp + 4], 0
jne case.0x7201c8.6
mov esi, dword [esp + 0xc]
cmp esi, eax
jae 0x717031
movzx edx, word [esi]
cmp edx, 0xa
jne 0x717031
add esi, 2
mov dword [esp + 0xc], esi
jmp 0x717031
lea edi, [edx - 0xb]
cmp edi, 2
jae 0x717041
cmp dword [ebx + 0x6c], 0
jne 0x721111
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x716f91
jmp 0x71953f
cmp edx, 0xa
mov dword [esp + 4], 0
je 0x717031
jmp case.0x7201c8.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 0x71f675
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x7170d4
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 0x7170df
cmp edx, 0x9f
jle 0x71711c
cmp edx, 0xa0
je 0x721993
cmp edx, 0x1680
je 0x721993
cmp edx, 0x180e
jne 0x71712e
jmp 0x721993
add edi, 2
cmp edx, 0x1fff
jle 0x7170a7
cmp edx, 0x202e
jg 0x7170f7
add edx, 0xffffe000
cmp edx, 0xb
jae 0x71712e
jmp 0x721993
cmp edx, 0x202f
je 0x721993
cmp edx, 0x205f
je 0x721993
cmp edx, 0x3000
jne 0x71712e
jmp 0x721993
cmp edx, 9
je 0x721993
cmp edx, 0x20
je 0x721993
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x717063
jmp 0x71953f
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 0x71f6b3
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x7171bb
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 0x7171c6
cmp edx, 0x9f
jle 0x71720e
cmp edx, 0xa0
je 0x7171dd
cmp edx, 0x1680
je 0x7171dd
cmp edx, 0x180e
je 0x7171dd
jmp 0x721993
add edi, 2
cmp edx, 0x1fff
jle 0x717196
cmp edx, 0x202e
jg 0x7171f1
add edx, 0xffffe000
cmp edx, 0xb
jae 0x721993
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x717152
jmp 0x71953f
cmp edx, 0x202f
je 0x7171dd
cmp edx, 0x3000
je 0x7171dd
cmp edx, 0x205f
je 0x7171dd
jmp 0x721993
cmp edx, 9
je 0x7171dd
cmp edx, 0x20
je 0x7171dd
jmp 0x721993
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 0x71f6f1
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71726b
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x71726e
add edi, 2
lea esi, [edx - 0xa]
cmp esi, 4
jb 0x721993
lea esi, [edx - 0x2028]
cmp esi, 2
jb 0x721993
cmp edx, 0x85
je 0x721993
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71722d
jmp 0x71953f
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 0x71f72f
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x7172f3
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x7172f6
add edi, 2
lea esi, [edx - 0xa]
cmp esi, 4
jb 0x717315
lea esi, [edx - 0x2028]
cmp esi, 2
jb 0x717315
cmp edx, 0x85
jne 0x721993
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x7172b5
jmp 0x71953f
mov al, 1
movzx esi, al
test esi, esi
jne 0x71cfa4
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 0x7187e0
jmp 0x71cfbb
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
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 0x717ec6
movzx esi, word [ebx]
mov edi, esi
and edi, 0xfc00
mov edx, 1
cmp edi, 0xd800
jne 0x7173bf
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 0x7173e1
lea edi, [esi - 0x2028]
cmp edi, 2
jb 0x7173e1
cmp esi, 0x85
je 0x7173e1
xor ebx, ebx
cmp ebx, ecx
je 0x7187c6
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 0x71737c
jmp 0x7187c6
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 0x71ff4c
movzx edx, word [edi]
cmp edx, 0xff
ja 0x721111
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
je 0x721111
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71741c
jmp 0x71953f
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 0x71fa8f
movzx edx, word [edi]
cmp edx, 0xff
ja 0x717491
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
jne 0x721111
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71746a
jmp 0x71953f
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 0x71ff8a
movzx edx, word [edi]
cmp edx, 0xff
ja 0x721111
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 1
je 0x721111
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x7174b4
jmp 0x71953f
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 0x71facd
movzx edx, word [edi]
cmp edx, 0xff
ja 0x717529
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
jne 0x721111
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x717502
jmp 0x71953f
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 0x71ffc8
movzx edx, word [edi]
cmp edx, 0xff
ja 0x721111
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 0x10
je 0x721111
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71754c
jmp 0x71953f
xor esi, esi
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp ebx, eax
jae 0x71fcac
mov edi, dword [esp + 0x158]
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x7175c9
sub esp, 0xc
push 0
push dword [esp + 0x58]
push eax
push ecx
push ebx
call fcn.00763fe0
add esp, 0x20
test eax, eax
je 0x7175f8
jmp 0x721111
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp ebx, eax
ja 0x7175f8
movzx eax, word [ebx]
cmp ax, word [edi + 0x34]
jne 0x7175f8
cmp ecx, 1
je 0x721111
movzx eax, word [ebx + 2]
cmp ax, word [edi + 0x36]
je 0x721111
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
lea edx, [ebx + 2]
test eax, eax
je 0x717638
mov ecx, dword [esp + 0x18]
cmp edx, dword [ecx]
jb 0x717638
cmp dword [edi + 0x18], 0
jne 0x717638
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x717638
movzx ecx, word [ebx]
cmp cx, word [edi + 0x34]
jne 0x717638
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x71de7c
inc esi
cmp esi, dword [esp + 0x10]
mov dword [esp + 0xc], edx
mov ebx, edx
jl 0x717590
jmp 0x71953f
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 0x7214ed
lea eax, [ecx + edx*2]
mov dword [esp + 0xc], eax
jmp 0x71953f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov ebp, dword [esp + 8]
cmp ebp, eax
jae 0x71fe86
lea edx, [ebp + 2]
mov dword [esp + 0xc], edx
movsx edx, word [ebp]
cmp edx, 0xc
mov ebx, dword [esp + 0x158]
jle 0x7176e2
lea edi, [edx - 0x2028]
movzx edi, di
cmp edi, 2
jb 0x7176ed
movzx edx, dx
cmp edx, 0x85
je 0x7176ed
cmp edx, 0xd
mov dword [esp + 4], 0
jne case.0x7201c8.6
cmp dword [esp + 0xc], eax
jae 0x7176f7
movzx edx, word [ebp + 2]
cmp edx, 0xa
jne 0x7176f7
add ebp, 4
mov dword [esp + 0xc], ebp
jmp 0x7176f7
lea edi, [edx - 0xb]
movzx edi, di
cmp edi, 2
jae 0x71770b
cmp dword [ebx + 0x6c], 0
jne 0x721111
inc ecx
cmp ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
jl 0x717681
jmp 0x71953f
movzx edx, dx
cmp edx, 0xa
mov dword [esp + 4], 0
je 0x7176f7
jmp case.0x7201c8.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 0x71fd43
movsx edx, word [edi]
movsx esi, dx
cmp edx, 0x1fff
jle 0x717765
cmp esi, 0x202e
jg 0x717795
lea edx, [edx - 0x2000]
movzx edx, dx
cmp edx, 0xb
jae 0x7177cf
jmp 0x721993
movzx edx, dx
cmp esi, 0x9f
jle 0x7177bd
cmp edx, 0xa0
je 0x721993
cmp edx, 0x1680
je 0x721993
cmp edx, 0x180e
jne 0x7177cf
jmp 0x721993
movzx edx, dx
cmp edx, 0x202f
je 0x721993
cmp edx, 0x205f
je 0x721993
cmp edx, 0x3000
jne 0x7177cf
jmp 0x721993
cmp edx, 9
je 0x721993
cmp edx, 0x20
je 0x721993
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x717730
jmp 0x71953f
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 0x71fd81
movsx edx, word [edi]
movsx esi, dx
cmp edx, 0x1fff
jle 0x71783d
cmp esi, 0x202e
jg 0x717865
lea edx, [edx - 0x2000]
movzx edx, dx
cmp edx, 0xb
jae 0x721993
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x7177f6
jmp 0x71953f
movzx edx, dx
cmp esi, 0x9f
jle 0x717885
cmp edx, 0xa0
je 0x71782a
cmp edx, 0x1680
je 0x71782a
cmp edx, 0x180e
je 0x71782a
jmp 0x721993
movzx edx, dx
cmp edx, 0x202f
je 0x71782a
cmp edx, 0x3000
je 0x71782a
cmp edx, 0x205f
je 0x71782a
jmp 0x721993
cmp edx, 9
je 0x71782a
cmp edx, 0x20
je 0x71782a
jmp 0x721993
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 0x71fdbf
movzx edx, word [edi]
lea esi, [edx - 0xa]
movzx esi, si
cmp esi, 4
jb 0x721993
lea esi, [edx - 0x2028]
movzx esi, si
cmp esi, 2
jb 0x721993
movzx edx, dx
cmp edx, 0x85
je 0x721993
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x7178a4
jmp 0x71953f
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 0x71fdfd
movzx edx, word [edi]
lea esi, [edx - 0xa]
movzx esi, si
cmp esi, 4
jb 0x71793d
lea esi, [edx - 0x2028]
movzx esi, si
cmp esi, 2
jb 0x71793d
movzx edx, dx
cmp edx, 0x85
jne 0x721993
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x717906
jmp 0x71953f
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
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 0x717ec6
movzx ecx, word [ecx]
mov esi, ecx
and esi, 0xfc00
mov edx, 2
cmp esi, 0xd800
je 0x7179b6
mov edx, 1
cmp ecx, 0xff
ja 0x7179b6
mov edx, dword [esp + 0x3c]
mov esi, dword [edx]
mov edx, 1
test byte [esi + ecx], 4
jne 0x7187c6
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 0x717970
jmp 0x7187c6
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
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 0x717ec6
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x7187c6
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
je 0x7187c6
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 4
je 0x7187c6
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x7179f5
jmp 0x7187c6
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
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 0x717ec6
movzx ecx, word [ecx]
mov esi, ecx
and esi, 0xfc00
mov edx, 2
cmp esi, 0xd800
je 0x717ab3
mov edx, 1
cmp ecx, 0xff
ja 0x717ab3
mov edx, dword [esp + 0x3c]
mov esi, dword [edx]
mov edx, 1
test byte [esi + ecx], 1
jne 0x7187c6
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 0x717a6d
jmp 0x7187c6
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
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 0x717ec6
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x7187c6
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
je 0x7187c6
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 1
je 0x7187c6
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x717af2
jmp 0x7187c6
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
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 0x717ec6
movzx ecx, word [ecx]
mov esi, ecx
and esi, 0xfc00
mov edx, 2
cmp esi, 0xd800
je 0x717bb0
mov edx, 1
cmp ecx, 0xff
ja 0x717bb0
mov edx, dword [esp + 0x3c]
mov esi, dword [edx]
mov edx, 1
test byte [esi + ecx], 0x10
jne 0x7187c6
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 0x717b6a
jmp 0x7187c6
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
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 0x717ec6
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x7187c6
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
je 0x7187c6
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 0x10
je 0x7187c6
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x717bef
jmp 0x7187c6
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp esi, eax
jae 0x717d74
mov ecx, dword [esp + 0x158]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x717c98
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push esi
call fcn.00763fe0
add esp, 0x20
test eax, eax
je 0x717cd5
jmp 0x717da2
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp esi, eax
ja 0x717cd5
movzx eax, word [esi]
mov edx, dword [esp + 0x158]
cmp ax, word [edx + 0x34]
jne 0x717cd5
cmp ecx, 1
je 0x717dde
movzx eax, word [esi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x717df2
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x717d2e
lea edx, [esi + 2]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebx, edx
cmp edx, eax
jb 0x717d2a
mov edx, dword [esp + 0x158]
cmp dword [edx + 0x18], 0
jne 0x717d2a
mov edx, dword [esp + 0x48]
cmp dword [edx], 2
jne 0x717d2a
movzx edx, word [esi]
mov edi, dword [esp + 0x158]
cmp dx, word [edi + 0x34]
jne 0x717d2a
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
mov ecx, ebx
jle 0x717d37
jmp 0x7205de
mov ecx, ebx
jmp 0x717d37
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 0x717d5e
movzx eax, word [esi + 2]
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x717d5e
add esi, 4
mov dword [esp + 8], esi
inc edx
mov dword [esp + 0x10], edx
cmp edx, ecx
mov esi, dword [esp + 8]
jl 0x717c5d
jmp 0x7187c6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x717db6
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x717dca
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov dword [esp + 8], esi
jle 0x7187c6
jmp 0x7205de
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d572
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d572
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d572
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d572
mov dword [esp + 8], esi
jmp 0x7187c6
cmp edx, 0x7fffffff
jne 0x717e12
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 8], eax
jmp 0x717ec6
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jae 0x717e70
lea edx, [ecx + 2]
mov dword [esp + 8], edx
cmp edx, eax
jae 0x717e56
movzx edx, word [ecx + 2]
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x717e56
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 0x717e2e
jmp 0x7187c6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x717e9e
mov edx, dword [esp + 0x24]
cmp ecx, dword [edx]
jbe 0x717eb2
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp eax, 1
mov dword [esp + 8], ecx
jle 0x7187c6
jmp 0x7205de
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d572
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d572
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x7187c6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x7187c6
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x7187c6
jmp 0x7205de
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 0x717ec6
lea eax, [edx + eax*2]
mov dword [esp + 8], eax
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d572
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
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 0x717ec6
movzx ecx, word [edi]
mov esi, ecx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x717f8c
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 0x717fe3
cmp ecx, 0xd
jne 0x717fb3
mov esi, dword [esp + 8]
lea ecx, [esi + 2]
cmp ecx, eax
jae 0x718008
movzx edx, word [esi + 2]
cmp edx, 0xa
jne 0x717fea
add esi, 4
mov dword [esp + 8], esi
jmp 0x717fee
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x6c], 0
jne 0x7187c6
lea esi, [ecx - 0xb]
cmp esi, 2
jb 0x717fe3
lea esi, [ecx - 0x2028]
cmp esi, 2
jb 0x717fe3
cmp ecx, 0x85
jne 0x7187c6
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 0x717f49
jmp 0x7187c6
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d572
cmp eax, 0x3000
je case.0x71b027.0
cmp eax, 0x180e
je case.0x71b027.0
movzx eax, byte [ecx*8 + 0x863371]
cmp dword [eax*4 + 0x86284c], 6
jmp 0x71cdc0
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
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 0x71879c
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x71808e
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 4
jne 0x71877e
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x718067
jmp 0x71877e
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
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 0x71879c
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x71877e
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 4
je 0x71877e
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x7180c7
jmp 0x71877e
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
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 0x71879c
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x718152
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 1
jne 0x71877e
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x71812b
jmp 0x71877e
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
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 0x71879c
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x71877e
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 1
je 0x71877e
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x71818b
jmp 0x71877e
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
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 0x71879c
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x718216
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 0x10
jne 0x71877e
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x7181ef
jmp 0x71877e
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
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 0x71879c
movzx ecx, word [ecx]
cmp ecx, 0xff
ja 0x71877e
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
test byte [edx + ecx], 0x10
je 0x71877e
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x71824f
jmp 0x71877e
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp esi, eax
jae 0x71838b
mov ecx, dword [esp + 0x158]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
je 0x7182e2
sub esp, 0xc
push 0
push dword [esp + 0x58]
push eax
push ecx
push esi
call fcn.00763fe0
add esp, 0x20
test eax, eax
je 0x71831f
jmp 0x7183b9
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp esi, eax
ja 0x71831f
movzx eax, word [esi]
mov edx, dword [esp + 0x158]
cmp ax, word [edx + 0x34]
jne 0x71831f
cmp ecx, 1
je 0x7183f5
movzx eax, word [esi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x718409
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
lea edi, [esi + 2]
test eax, eax
je 0x71836d
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
jb 0x71836d
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne 0x71836d
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x71836d
movzx ecx, word [esi]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x71836d
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x7205de
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 0x7182a9
jmp 0x71877e
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x7183cd
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x7183e1
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov dword [esp + 8], esi
jle 0x71877e
jmp 0x7205de
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d6a4
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d6a4
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d6a4
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d6a4
mov dword [esp + 8], esi
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d6a4
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], ecx
jmp 0x718448
add esi, 4
mov dword [esp + 8], esi
jmp 0x7184b9
mov ecx, dword [esp + 8]
cmp ecx, eax
jae 0x71879c
movzx ecx, word [ecx]
cmp ecx, 0xa
je 0x7184b4
movzx edx, cx
cmp edx, 0xd
jne 0x71847e
mov esi, dword [esp + 8]
lea ecx, [esi + 2]
cmp ecx, eax
jae 0x7184d3
movzx edx, word [esi + 2]
cmp edx, 0xa
je 0x71843f
mov dword [esp + 8], ecx
jmp 0x7184b9
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x6c], 0
jne 0x71877e
lea esi, [ecx - 0xb]
movzx esi, si
cmp esi, 2
jb 0x7184b4
add ecx, 0xffffdfd8
movzx ecx, cx
cmp ecx, 2
jb 0x7184b4
cmp edx, 0x85
jne 0x71877e
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 0x718448
jmp 0x71877e
mov dword [esp + 8], ecx
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d6a4
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
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 0x71879c
movsx ecx, word [ecx]
movsx edx, cx
cmp ecx, 0x1fff
jle 0x718540
cmp edx, 0x202e
jg 0x718574
lea ecx, [ecx - 0x2000]
movzx ecx, cx
cmp ecx, 0xb
mov edx, dword [esp + 0x28]
jae 0x7185b6
jmp 0x71877e
movzx ecx, cx
cmp edx, 0x9f
jle 0x7185a0
cmp ecx, 0xa0
mov edx, dword [esp + 0x28]
je 0x71877e
cmp ecx, 0x1680
je 0x71877e
cmp ecx, 0x180e
jne 0x7185b6
jmp 0x71877e
movzx ecx, cx
cmp ecx, 0x202f
je 0x71877e
cmp ecx, 0x205f
mov edx, dword [esp + 0x28]
je 0x71877e
cmp ecx, 0x3000
jne 0x7185b6
jmp 0x71877e
cmp ecx, 9
mov edx, dword [esp + 0x28]
je 0x71877e
cmp ecx, 0x20
je 0x71877e
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, edx
jl 0x718507
jmp 0x71877e
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
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 0x71879c
movsx ecx, word [ecx]
movsx edx, cx
cmp ecx, 0x1fff
jle 0x718640
cmp edx, 0x202e
jg 0x71866c
lea ecx, [ecx - 0x2000]
movzx ecx, cx
cmp ecx, 0xb
mov edx, dword [esp + 0x28]
jae 0x71877e
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, edx
jl 0x7185f1
jmp 0x71877e
movzx ecx, cx
cmp edx, 0x9f
jle 0x718690
cmp ecx, 0xa0
mov edx, dword [esp + 0x28]
je 0x718629
cmp ecx, 0x1680
je 0x718629
cmp ecx, 0x180e
je 0x718629
jmp 0x71877e
movzx ecx, cx
cmp ecx, 0x202f
mov edx, dword [esp + 0x28]
je 0x718629
cmp ecx, 0x3000
je 0x718629
cmp ecx, 0x205f
je 0x718629
jmp 0x71877e
cmp ecx, 9
mov edx, dword [esp + 0x28]
je 0x718629
cmp ecx, 0x20
je 0x718629
jmp 0x71877e
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
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 0x71879c
movzx ecx, word [ecx]
lea edx, [ecx - 0xa]
movzx edx, dx
cmp edx, 4
jb 0x71877e
lea edx, [ecx - 0x2028]
movzx edx, dx
cmp edx, 2
jb 0x71877e
movzx ecx, cx
cmp ecx, 0x85
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
je 0x71877e
add dword [esp + 8], 2
inc edx
mov dword [esp + 0x10], edx
cmp edx, ecx
jl 0x7186c3
jmp 0x71877e
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x71877e
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 0x71879c
movzx ecx, word [ecx]
lea edx, [ecx - 0xa]
movzx edx, dx
cmp edx, 4
jb 0x718761
lea edx, [ecx - 0x2028]
movzx edx, dx
cmp edx, 2
jb 0x718761
movzx ecx, cx
cmp ecx, 0x85
jne 0x71877e
add dword [esp + 8], 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x718732
jmp 0x71877e
lea eax, [edx + eax*2]
mov dword [esp + 8], eax
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71d6a4
mov ebp, ecx
mov dword [esp + 8], ebp
cmp dword [esp + 0x58], 0
jne 0x7187e0
jmp 0x71cfd6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71877e
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71877e
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle 0x71877e
jmp 0x7205de
cmp dword [esp + 0x58], 0
je 0x71d572
nop word cs:[eax + eax]
mov ebp, dword [esp + 0x14]
movzx edx, word [ebp]
cmp edx, 0xa1
ja case.0x7187fe.98
xor eax, eax
mov dword [esp + 4], 0
jmp dword [edx*4 + 0x7219b4]
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 + 0x862600]
mov dword [esp + 0x10], ecx
movsx ecx, byte [eax + 0x86260b]
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 0x718b9d
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
cmp edx, 0x77
je case.0x7187fe.119
mov dword [esp + 0x14], ebp
jmp 0x7187e0
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 + 0x862600]
movsx ecx, byte [eax + 0x86260b]
mov esi, edx
mov edx, 0x3cf
bt edx, eax
mov edx, esi
mov eax, 0x7fffffff
cmovae eax, ecx
mov dword [esp + 0x40], eax
jmp 0x718923
add ebp, 2
lea eax, [edx - 0x55]
mov ecx, edx
not ecx
and ecx, 1
mov dword [esp + 0x4c], ecx
movsx ecx, byte [edx + 0x8625ab]
mov dword [esp + 0x10], ecx
movsx ecx, byte [edx + 0x8625b6]
mov edx, 0x3cf
bt edx, eax
mov edx, 0x7fffffff
cmovae edx, ecx
jmp 0x71939e
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 0x718fd2
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 0x719c56
movzx ecx, si
cmp ecx, 0x81
je 0x719c56
mov dword [esp + 4], 0
jmp 0x719c67
cmp dword [esp + 0x34], 0
mov esi, dword [esp + 0x158]
mov eax, dword [esi + 0x78]
je 0x71b04f
mov edi, dword [esp + 8]
cmp edi, eax
je 0x71b5c8
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 0x7189b5
mov eax, dword [esp + 0x24]
mov dword [eax], ecx
movzx eax, word [ecx]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x7189e1
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 0x71c1f1
mov cl, 1
cmp eax, 0x5f
je 0x716778
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 + 0x8649f0]
shl ecx, 7
sub eax, edx
mov edx, ebx
add eax, ecx
movzx eax, word [eax + eax + 0x866bf0]
movzx eax, byte [eax*8 + 0x863371]
mov eax, dword [eax*4 + 0x86284c]
or eax, 2
cmp eax, 3
sete cl
jmp 0x716778
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
cmp ebx, dword [eax]
jae 0x71e7ec
mov dword [esp + 0x28], edx
lea ecx, [ebx + 2]
movzx eax, word [ebx]
cmp dword [esp + 0x34], 0
je 0x71afeb
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x71afeb
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebx + 2]
add ebx, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x71afed
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 8]
cmp ebx, dword [eax]
jae 0x71e82a
cmp dword [esp + 0x34], 0
je 0x71b0c6
movzx eax, word [ebp + 2]
mov ecx, eax
and ecx, 0xfc00
mov esi, edx
cmp ecx, 0xd800
jne 0x71b15d
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebp + 4]
add ebp, 6
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x71b160
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 0x718b9d
add ebp, 2
mov dword [esp + 0x50], 1
mov dword [esp + 0x40], 0x7fffffff
mov dword [esp + 0x10], 0
xor edi, edi
jmp 0x718b9d
add ebp, 2
xor edi, edi
mov dword [esp + 0x40], 0x7fffffff
mov dword [esp + 0x10], 1
mov dword [esp + 0x50], 1
jmp 0x718b9d
add ebp, 2
mov dword [esp + 0x40], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x50], 1
xor edi, edi
jmp 0x718b9d
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 0x718c3e
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x718c3e
movzx eax, dx
xor edx, edx
cmp eax, 0x2e
jb 0x718e04
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 + 0x8649f0]
shl ecx, 7
mov edx, eax
and edx, 0x7f
or edx, ecx
movzx ecx, word [edx + edx + 0x866bf0]
mov ecx, dword [ecx*8 + 0x863374]
test ecx, ecx
je 0x718e02
add ecx, eax
sub esp, 8
lea eax, [esp + 0xc0]
push eax
push ecx
call fcn.00764160
add esp, 0x10
mov edx, eax
jmp 0x718e04
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0x14], eax
movzx eax, dx
cmp eax, 0x2e
jb 0x718ca7
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x34], 0
je 0x718d3c
movzx eax, bx
cmp eax, 0x80
jb 0x718d3c
mov eax, ebx
shr eax, 7
movzx eax, byte [eax + 0x8649f0]
shl eax, 7
mov ecx, ebx
and ecx, 0x7f
or ecx, eax
movzx eax, word [ecx + ecx + 0x866bf0]
mov edi, dword [eax*8 + 0x863374]
add edi, ebx
cmp dword [esp + 0x10], 0
jg 0x718d58
mov edx, ebp
jmp 0x718d96
cmp dword [esp + 0x10], 0
jle 0x718cdc
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
nop word cs:[eax + eax]
cmp ebp, eax
jae 0x71d833
cmp bx, word [ebp]
jne 0x721111
add ebp, 2
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x718cc0
mov ecx, edi
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov edi, ebp
mov dword [esp + 8], ebp
je 0x7187e0
test ecx, ecx
jne 0x71e8b5
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov ecx, edi
mov edx, ecx
jge 0x71c0ef
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, ecx
cmp edx, eax
jae 0x71c0ca
cmp bx, word [edx]
jne 0x71c0ef
add edx, 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x40]
jl 0x718d14
jmp 0x71c0ef
cmp ebx, 0xff
mov edi, ebx
ja 0x718d4d
mov eax, dword [ecx + 0x40]
movzx edi, byte [eax + ebx]
cmp dword [esp + 0x10], 0
jle 0x718ca0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov edx, ebp
nop word cs:[eax + eax]
cmp edx, eax
jae 0x71d86d
mov esi, edx
movzx edx, word [edx]
cmp bx, dx
je 0x718d8a
cmp edi, edx
jne 0x721111
mov edx, esi
add edx, 2
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x718d70
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
je 0x7187e0
cmp dword [esp + 0x4c], 0
jne 0x71e943
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov edx, dword [esp + 0xc]
jge 0x71c128
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, dword [esp + 0xc]
cmp edx, eax
jae 0x71c103
movzx ecx, word [edx]
cmp bx, cx
je 0x718deb
cmp edi, ecx
jne 0x71c128
add edx, 2
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x40]
jl 0x718dd3
jmp 0x71c128
xor edx, edx
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x10], 0
mov dword [esp + 0x28], edx
jle 0x718e90
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 0x718e40
mov eax, 2
jmp 0x718e84
cmp ebx, esi
ja 0x718e4e
mov eax, dword [ebx]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx]
je 0x718e2f
test edx, edx
jle 0x71d77b
cmp ebx, edi
ja 0x71d77b
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 0x71d77b
lea ebx, [ebx + eax*2]
inc ebp
cmp ebp, dword [esp + 0x10]
jl 0x718e40
jmp 0x718e92
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 0x7187e0
cmp dword [esp + 0x4c], 0
jne 0x71e198
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
mov edi, ebx
jge 0x71c1dd
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 0x718ef1
mov eax, 2
mov edi, esi
jmp 0x718f3b
mov esi, edi
cmp edi, ebp
ja 0x718f01
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
cmp eax, dword [ecx]
je 0x718ee8
test edx, edx
mov edi, esi
jle 0x71a07a
cmp edi, dword [esp + 4]
ja 0x71a07a
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 0x71a07a
lea edi, [edi + eax*2]
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x40]
jl 0x718ef1
jmp 0x71c1dd
movzx edi, word [ebp + 2]
add ebp, 4
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], edi
jmp 0x718fca
add ebp, 2
mov dword [esp + 0x4c], 1
mov dword [esp + 0x40], 0x7fffffff
jmp 0x718fc8
add ebp, 2
mov dword [esp + 0x50], 0
mov dword [esp + 0x40], 0x7fffffff
mov edi, 1
mov dword [esp + 0x4c], 1
jmp 0x718fd2
add ebp, 2
mov dword [esp + 0x40], 1
xor edi, edi
mov dword [esp + 0x4c], 1
jmp 0x718fca
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 0x719010
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x719010
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 0x719072
cmp dword [esp + 0x34], 0
je 0x7190e7
cmp ebx, 0x80
jb 0x7190e7
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 + 0x8649f0]
shl eax, 7
mov edx, ebx
sub edx, ecx
add edx, eax
movzx eax, word [edx + edx + 0x866bf0]
mov eax, dword [eax*8 + 0x863374]
add eax, ebx
jmp 0x719101
cmp dword [esp + 0x34], 0
je 0x719196
test edi, edi
jle 0x719229
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor edx, edx
mov ebp, esi
nop
cmp ebp, eax
jae 0x71d7bf
movzx ecx, word [ebp]
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x7190d2
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 0x7190dd
jmp 0x721111
add ebp, 2
cmp ebx, ecx
je 0x721111
inc edx
cmp edx, edi
jl 0x719090
jmp 0x71922b
cmp ebx, 0xff
mov dword [esp + 0x10], ebx
ja 0x719105
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 0x7191ce
test edi, edi
jle 0x7192c7
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 0x71d7f9
movzx ecx, word [ebp]
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71916b
shl ecx, 0xa
and ecx, 0xffc00
movzx esi, word [ebp + 2]
add ebp, 4
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
jmp 0x71916e
add ebp, 2
mov ebx, dword [esp + 0x28]
cmp ebx, ecx
je 0x72123c
cmp dword [esp + 0x10], ecx
mov dword [esp + 4], 0
je case.0x7201c8.6
inc eax
cmp eax, edi
jl 0x719130
jmp 0x7192cb
test edi, edi
jle 0x719229
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
mov ebp, esi
nop dword [eax + eax]
cmp ebp, eax
jae 0x71d8b4
movzx edx, word [ebp]
cmp ebx, edx
je 0x721111
add ebp, 2
inc ecx
cmp ecx, edi
jl 0x7191b0
jmp 0x71922b
test edi, edi
jle 0x7192c7
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 0x71d8ee
mov ebx, ebp
movzx edx, word [ebp]
cmp dword [esp + 0x28], edx
je 0x72123c
cmp dword [esp + 0x10], edx
mov dword [esp + 4], 0
je case.0x7201c8.6
mov ebp, ebx
add ebp, 2
inc ecx
cmp ecx, edi
jl 0x7191f0
jmp 0x7192cb
mov ebp, esi
cmp edi, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebp
je 0x7187e0
cmp dword [esp + 0x50], 0
jne 0x71e461
cmp dword [esp + 0x34], 0
je 0x719ff0
cmp edi, dword [esp + 0x40]
mov ebp, dword [esp + 0xc]
mov ebx, dword [esp + 0x28]
jge 0x71bd0a
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esp + 0xc]
cmp ebp, eax
jae 0x71bce5
movzx ecx, word [ebp]
mov esi, ecx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x7192af
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 0x71bd0a
lea ebp, [ebp + edx*2]
inc edi
cmp edi, dword [esp + 0x40]
jl 0x71926f
jmp 0x71bd0a
mov ebp, dword [esp + 8]
cmp edi, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebp
je 0x7187e0
cmp dword [esp + 0x50], 0
jne 0x71e5b6
cmp dword [esp + 0x34], 0
je 0x71a02e
cmp edi, dword [esp + 0x40]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x28]
jge 0x716893
mov eax, dword [esp + 0x18]
mov ebp, dword [eax]
mov eax, dword [esp + 0xc]
cmp eax, ebp
jae 0x71bd1e
movzx ecx, word [eax]
mov esi, ecx
and esi, 0xfc00
mov edx, 1
cmp esi, 0xd800
jne 0x719359
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 0x719363
jmp 0x71bd54
mov esi, eax
cmp ebx, ecx
je 0x71bd54
cmp dword [esp + 0x10], ecx
je 0x71bd54
mov eax, esi
lea eax, [eax + edx*2]
inc edi
cmp edi, dword [esp + 0x40]
jl 0x71930f
jmp 0x716893
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 0x7193d5
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 0x7193dd
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 0x71953b
test ecx, ecx
js 0x7196b9
cmp ecx, 0xa
ja case.default.0x71b027
jmp dword [ecx*4 + 0x721cbc]
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 0x71d9e5
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x71948a
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x71948a
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 0x719494
cmp edx, 0x84
jg 0x7194c2
lea esi, [edx - 9]
cmp esi, 0x17
ja case.0x71949f.8203
mov ebx, 0x80001f
bt ebx, esi
jb case.0x71949f.8192
jmp case.0x71949f.8203
mov edi, esi
cmp edx, 0x180d
jle 0x71946e
lea esi, [edx - 0x2000]
cmp esi, 0x5f
ja case.default.0x71949f
jmp dword [esi*4 + 0x721ce8]
cmp dword [esp + 0x44], 0
jne 0x721111
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x719420
jmp 0x71953f
cmp edx, 0x85
je case.0x71949f.8192
cmp edx, 0xa0
je case.0x71949f.8192
cmp edx, 0x1680
je case.0x71949f.8192
jmp case.0x71949f.8203
cmp edx, 0x3000
je case.0x71949f.8192
cmp edx, 0x180e
je case.0x71949f.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 + 0x8649f0]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x866bf0]
movzx edx, byte [edx*8 + 0x863371]
xor ebx, ebx
cmp dword [edx*4 + 0x86284c], 6
sete bl
cmp dword [esp + 0x44], ebx
jne 0x7194b1
jmp 0x721111
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 0x7187e0
cmp dword [esp + 0x4c], 0
jne 0x71e297
mov ecx, dword [esp + 0x50]
test ecx, ecx
mov edi, dword [esp + 0x40]
js 0x719e4f
cmp ecx, 0xa
mov edx, dword [esp + 0xc]
ja case.default.0x7201c8
jmp dword [ecx*4 + 0x722114]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x71878c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x716c21
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x7195e5
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x7195e5
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 0x7195ff
lea esi, [edx - 0x2000]
cmp esi, 0x5f
ja case.default.0x7195f8
jmp dword [esi*4 + 0x722140]
cmp edx, 0x84
jg 0x719640
lea esi, [edx - 9]
cmp esi, 0x17
ja case.0x7195f8.8203
mov edi, 0x80001f
bt edi, esi
jae case.0x7195f8.8203
cmp dword [esp + 0x44], 0
jne 0x71878c
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x71959e
jmp 0x71878c
cmp edx, 0x85
je case.0x7195f8.8192
cmp edx, 0xa0
je case.0x7195f8.8192
cmp edx, 0x1680
je case.0x7195f8.8192
jmp case.0x7195f8.8203
cmp edx, 0x3000
je case.0x7195f8.8192
cmp edx, 0x180e
je case.0x7195f8.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 + 0x8649f0]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x866bf0]
movzx edx, byte [edx*8 + 0x863371]
xor ebx, ebx
cmp dword [edx*4 + 0x86284c], 6
sete bl
cmp dword [esp + 0x44], ebx
jne 0x719624
jmp 0x71878c
movzx eax, bx
cmp eax, 0x16
jne 0x719d70
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 0x71d97e
lea esi, [edi + 2]
movzx ecx, word [edi]
cmp dword [esp + 0x34], 0
je 0x71971c
mov ebx, ecx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x71971c
shl ecx, 0xa
and ecx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea ecx, [ecx + esi + 0x10000]
jmp 0x71971e
mov edi, esi
mov dword [esp + 4], eax
cmp edi, edx
jae 0x719810
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 + 0x8649f0]
shl esi, 7
sub ecx, ebx
add ecx, esi
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx esi, byte [ecx*8 + 0x863372]
nop dword [eax]
movzx ecx, word [edi]
cmp dword [esp + 0x34], 0
mov ebx, 1
je 0x7197b0
mov ebp, ecx
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x7197b0
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 0x7197b2
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 + 0x8649f0]
shl ebp, 7
sub ecx, edi
add ecx, ebp
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx ecx, byte [ecx*8 + 0x863372]
mov ebp, 1
shl ebp, cl
and ebp, dword [esi*4 + 0x8628c4]
je 0x719800
mov edi, eax
lea edi, [edi + ebx*2]
cmp edi, edx
jb 0x719806
jmp 0x719810
mov edi, eax
cmp edi, edx
jae 0x719810
test ebp, ebp
mov esi, ecx
jne 0x719760
cmp edi, edx
jb 0x719839
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x719839
mov edx, dword [esp + 0x24]
cmp edi, dword [edx]
jbe 0x719839
mov edx, dword [esp + 0x20]
mov dword [edx], 1
cmp ecx, 1
jg 0x71de7c
mov dword [esp + 0xc], edi
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x10]
lea eax, [eax + 1]
jl 0x7196ce
jmp 0x71953f
mov dword [esp + 0x28], edx
movzx edx, word [ebp + 0x22]
lea esi, [edx - 0x62]
movzx eax, si
cmp eax, 0xb
ja 0x716486
mov eax, 0x73f
bt eax, esi
jae 0x716524
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 + 0x8625a9]
mov ecx, 0x7fffffff
cmovae ecx, eax
mov dword [esp + 0x10], ecx
lea eax, [ebp + 0x24]
mov dword [esp + 0x14], eax
movsx ebx, byte [edx + 0x86259e]
cmp dword [esp + 0x34], 0
jne 0x7164b5
jmp 0x716562
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 0x719fe1
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx + ebx*4]
test eax, eax
js 0x719fe1
mov edx, ebx
or edx, 1
mov ecx, dword [ecx + edx*4]
sub ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x71bbe1
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 0x71b0bd
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 0x719978
mov edi, dword [esp + 0x158]
mov ebp, dword [edi + 0xc]
mov edi, dword [ebp + ebx*4]
test edi, edi
jns 0x71bbc9
dec ecx
add esi, edx
cmp ecx, 1
jg 0x719957
jmp 0x71bbd8
mov eax, ebp
mov ebp, dword [esp + 0x158]
mov ebx, dword [ebp + 0xb0]
xor esi, esi
cmp dword [ebp + 0x9c], 1
jne 0x7199ae
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.00716260
add esp, 0x20
cmp eax, 1
je 0x71b308
cmp eax, 0xfffffc19
je 0x71b308
mov dword [ebp + 0xb0], ebx
cmp eax, 0xfffffc20
je 0x719a09
test eax, eax
jne 0x71d772
mov ax, word [edi + 2]
jmp 0x719a32
mov edx, edi
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x71fc9f
movzx edx, word [edx]
cmp edx, 0x77
je 0x719a32
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x71fc9f
movzx eax, ax
lea ecx, [edi + eax*2]
movzx eax, word [edi + eax*2]
cmp eax, 0x77
je 0x7199b0
jmp 0x71b317
mov eax, ebp
mov ebp, dword [esp + 0x158]
mov ebx, dword [ebp + 0xb0]
xor esi, esi
cmp dword [ebp + 0x9c], 1
jne 0x719a73
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.00716260
add esp, 0x20
mov dword [ebp + 0xb0], ebx
test eax, eax
jns 0x719ad1
cmp eax, 0xfffffc20
jne 0x71b20f
mov edx, edi
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x71b220
movzx edx, word [edx]
cmp edx, 0x77
jne 0x719adf
mov edx, edi
jmp 0x719aed
jne 0x71df3d
mov edx, edi
mov ax, word [edx + 2]
jmp 0x719aed
movzx ecx, word [ecx]
cmp ecx, 0x77
mov edx, edi
jne 0x71b220
movzx eax, ax
lea ecx, [edx + eax*2]
movzx eax, word [edx + eax*2]
cmp eax, 0x77
mov eax, ecx
je 0x719a73
jmp 0x71b232
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 0x719c13
mov eax, dword [0x860e7c]
test eax, eax
je 0x719c03
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 0x71df5a
mov ebx, dword [esp + 4]
jne 0x71d772
movzx eax, byte [0x8627ae]
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.0x719c29.5
jmp dword [eax*4 + 0x72246c]
movzx eax, word [edi + 2]
add eax, eax
cmp eax, dword [esp + 0x2c]
jge 0x716826
mov ecx, dword [esp + 0x158]
mov ecx, dword [ecx + 0xc]
cmp dword [ecx + eax*4], 0
setns al
jmp 0x716828
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 0x71daae
mov ebx, dword [esp + 0xc]
sub ebx, eax
lea eax, [esi - 0x82]
movzx ecx, ax
cmp ecx, 9
ja 0x719e0e
mov ecx, 0x318
bt ecx, eax
jae 0x71b398
mov dword [esp + 0x14], ebx
movzx ebx, word [ebx + 4]
mov eax, dword [ebp + 0xa8]
test eax, eax
je 0x719cc2
cmp dword [eax + 4], ebx
je 0x71e8a6
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 0x719df9
mov dword [esp + 0x28], edx
mov edi, dword [esp + 0x2c]
cmp ebp, edi
jle 0x719d33
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 0x719e0a
cmp dword [esp + 0x34], 0
je 0x71b2a0
lea eax, [ebx - 6]
movzx eax, ax
cmp eax, 0xf
ja case.default.0x7201c8
mov dword [esp + 4], 0xfffffff2
jmp dword [eax*4 + 0x721c3c]
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 0x71f097
movzx edx, word [edi]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x719dd1
add edi, 4
mov dword [esp + 0xc], edi
jmp 0x719ded
add edi, 2
cmp edx, 0x7f
mov dword [esp + 0xc], edi
ja 0x719ded
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
jne 0x721111
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x719da9
jmp 0x71953f
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 0x719e31
cmp eax, 0x7b
je 0x71e738
mov ecx, dword [esp + 4]
cmp dword [esp + 8], ecx
jne 0x71d1ec
movzx eax, si
mov edx, dword [esp + 0xc]
add edx, 4
cmp eax, 0x81
mov dword [esp + 0x14], edx
jne 0x7187e0
jmp 0x71e75f
movzx ebp, di
cmp ebp, 0x16
mov ecx, dword [esp + 0xc]
jne 0x71b107
mov eax, dword [esp + 0x10]
cmp edx, eax
mov edx, eax
mov ebp, ecx
jle 0x716444
mov ebp, ecx
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
cmp ebp, eax
jae 0x71641f
mov dword [esp + 0x10], edx
lea edx, [ebp + 2]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
je 0x719ec7
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x719ec7
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 0x719ed1
jmp 0x719fa4
mov ebp, edx
cmp ebp, eax
jae 0x719fa4
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 + 0x8649f0]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx edx, byte [ecx*8 + 0x863372]
nop word cs:[eax + eax]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x719f4f
mov edi, ecx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x719f4f
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 + 0x8649f0]
shl edi, 7
sub ecx, ebx
add ecx, edi
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx ecx, byte [ecx*8 + 0x863372]
mov ebx, 1
shl ebx, cl
and ebx, dword [edx*4 + 0x8628c4]
je 0x719f96
lea ebp, [ebp + esi*2]
cmp ebp, eax
jae 0x719fa4
test ebx, ebx
mov edx, ecx
jne 0x719f10
cmp ebp, eax
jb 0x719fcd
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x719fcd
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x719fcd
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x7205de
mov edx, dword [esp + 0x10]
inc edx
cmp edx, dword [esp + 0x28]
jl 0x719e71
jmp 0x716444
cmp dword [edi + 0x54], 1
sbb eax, eax
mov dword [esp + 0x10], eax
jmp 0x71bbe1
cmp edi, dword [esp + 0x40]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x28]
jge 0x71c4b5
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edx, dword [esp + 0xc]
cmp edx, eax
jae 0x71c490
movzx ecx, word [edx]
cmp esi, ecx
je 0x71c4b5
add edx, 2
inc edi
cmp edi, dword [esp + 0x40]
jl 0x71a00c
jmp 0x71c4b5
cmp edi, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x28]
jge 0x716c0d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
cmp ecx, eax
jae 0x71c4c9
mov edx, ecx
movzx ecx, word [ecx]
cmp esi, ecx
je 0x716c0b
cmp dword [esp + 0x10], ecx
je 0x716c0b
mov ecx, edx
add ecx, 2
inc edi
cmp edi, dword [esp + 0x40]
jl 0x71a04a
jmp 0x716c0d
cmp edi, dword [esp + 0x4c]
jb 0x71c1dd
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71c1dd
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x71c1db
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov edi, esi
jle 0x71c1dd
jmp 0x71de7c
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 0x7163c4
jmp 0x71df5a
add ebp, 2
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ebp
jmp 0x7187e0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x71ecda
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x71a11d
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
je 0x71a283
add edx, 2
cmp eax, 0xff
mov dword [esp + 8], edx
ja 0x7163c4
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
je 0x7163c4
jmp 0x721111
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x71ed18
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 0x72123c
and cl, dl
mov dword [esp + 4], 0
jne case.0x7201c8.6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
jne 0x71a2e6
jmp 0x721111
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x71ed56
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x71a1ce
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
je 0x71a283
add edx, 2
cmp eax, 0xff
mov dword [esp + 8], edx
ja 0x7163c4
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
je 0x7163c4
jmp 0x721111
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x71ed94
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 0x72123c
and cl, dl
mov dword [esp + 4], 0
jne case.0x7201c8.6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
jne 0x71a2e6
jmp 0x721111
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x71edd2
movzx eax, word [edx]
cmp dword [esp + 0x34], 0
je 0x71b3a6
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x71b3a6
add edx, 4
mov dword [esp + 8], edx
jmp 0x7163c4
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jae 0x71ee10
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 0x72123c
and cl, dl
mov dword [esp + 4], 0
jne case.0x7201c8.6
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je 0x721111
add dword [esp + 8], 2
jmp 0x7163c4
mov esi, dword [esp + 0x158]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x7c]
test ecx, ecx
je 0x71bdd3
mov edx, dword [esp + 8]
cmp edx, eax
jae 0x71be06
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edx
call fcn.00763fe0
add esp, 0x20
test eax, eax
je 0x71be06
jmp 0x721111
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 8]
cmp ecx, dword [eax]
jae 0x71ee4e
add ecx, 2
mov dword [esp + 8], ecx
jmp 0x7163c4
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edi, dword [esp + 8]
cmp edi, ecx
jae 0x71ee8c
lea eax, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x71c3fb
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
mov ebx, dword [esp + 0x158]
jne 0x71c402
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 0x71c40b
lea ecx, [edx - 0xb]
cmp ecx, 2
jb 0x71c445
jmp 0x716755
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x71eeca
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x71b3cd
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x71b3cd
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x71b3cf
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x71ef08
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x71b404
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x71b404
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x71b406
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x71ef46
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x71b43b
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x71b43b
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x71b43d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 8]
cmp esi, dword [eax]
jae 0x71ef84
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x71b466
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x71b466
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x71b468
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, dword [esp + 8]
cmp ebp, eax
jae 0x71efc2
lea edx, [ebp + 2]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
je 0x71b48f
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71b48f
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 0x71b499
jmp 0x71b560
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x4c], 0
jne 0x71df5a
cmp dword [eax + 0x5c], 0
je case.0x7187fe.23
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [eax]
jb 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x7163c4
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
ja 0x7168db
jmp 0x7163c4
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebx, dword [esp + 8]
cmp ebx, eax
mov edi, dword [esp + 0x158]
jae 0x7168c1
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x71c3c6
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push ebx
call fcn.00763fe0
add esp, 0x20
test eax, eax
je 0x71e9ed
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
jmp 0x7168b5
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edi, dword [esp + 8]
cmp edi, eax
jae 0x71b358
mov esi, dword [esp + 0x158]
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x71ccc4
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edi
call fcn.00763fe0
add esp, 0x20
test eax, eax
jne 0x7163c4
jmp 0x71f149
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x48], 0
je case.0x7187fe.1
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 8]
cmp ecx, dword [eax + 0x78]
je 0x71df5a
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 8]
cmp ecx, dword [eax + 0x78]
je 0x7163c4
jmp 0x71df5a
mov esi, dword [esp + 0x158]
cmp dword [esi + 0x48], 0
mov eax, dword [esi + 0x78]
mov edi, dword [esp + 8]
je 0x71a6ba
cmp edi, eax
je 0x71df5a
cmp edi, eax
je 0x7163c4
mov ecx, dword [esp + 0x18]
cmp edi, dword [ecx]
je 0x71df5a
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x71c5a1
cmp edi, eax
jbe 0x71df5a
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edi
call fcn.00764090
add esp, 0x20
test eax, eax
jne 0x7163c4
jmp 0x71df5a
cmp dword [esp + 0x34], 0
je 0x71be9f
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 0x71f7af
cmp cx, word [edi]
jne 0x721111
add ebp, 4
add edi, 2
mov dword [esp + 8], edi
mov dword [esp + 0x14], ebp
cmp eax, 2
jl 0x7187e0
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 0x71a756
jmp case.0x7201c8.6
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 8]
cmp edi, dword [eax]
jae 0x71f000
cmp dword [esp + 0x34], 0
movzx eax, word [ebp + 2]
je 0x71c071
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
mov esi, dword [esp + 0x158]
jne 0x71c13c
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [ebp + 4]
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
mov edx, 2
jmp 0x71c177
movzx edx, word [ebp + 2]
add ebp, 4
mov dword [esp + 0x4c], 1
xor edi, edi
mov dword [esp + 0x10], edx
jmp 0x7193a0
add ebp, 2
mov edi, 1
mov edx, 0x7fffffff
jmp 0x71a83f
add ebp, 2
mov edx, 1
mov dword [esp + 0x10], 0
mov edi, 1
mov dword [esp + 0x4c], 0
jmp 0x7193a0
movzx edx, word [ebp + 2]
add ebp, 4
mov edi, 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x4c], 0
jmp 0x7193a0
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 0x716aa7
mov edx, 0x73f
bt edx, ecx
jae 0x71c4ff
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 + 0x86259e]
movsx eax, byte [eax + 0x8625a9]
mov edx, 0x3cf
bt edx, ecx
mov ecx, 0x7fffffff
cmovae ecx, eax
mov dword [esp + 0x10], ecx
test ebx, ebx
jg 0x716abe
jmp 0x716b35
movzx eax, word [ebp + 2]
lea edi, [eax + eax]
mov esi, dword [esp + 0x158]
add edi, dword [esi + 0x74]
test eax, eax
je 0x71becd
movzx eax, word [edi + 4]
jmp 0x71becf
cmp dword [esp + 0x34], 0
movzx eax, word [ebp + 2]
je 0x71c049
test ax, ax
mov ecx, dword [esp + 0x158]
mov edi, dword [esp + 8]
je 0x71c061
mov ecx, dword [ecx + 0x78]
inc eax
mov edx, edi
lea edi, [edx - 2]
cmp edi, ecx
jb 0x71df5a
movzx esi, word [edx - 2]
and esi, 0xfc00
cmp esi, 0xdc00
je 0x71a93c
mov edx, edi
jmp 0x71a941
add edx, 0xfffffffc
mov edi, edx
dec eax
cmp eax, 1
jg 0x71a91b
jmp 0x71c061
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.00716260
add esp, 0x20
cmp eax, 0xfffffc20
je 0x71a9a1
test eax, eax
jne 0x71bd5b
mov ax, word [edi + 2]
jmp 0x71a9ea
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x71fc9f
mov ebp, ebx
mov ebx, esi
mov esi, edi
movzx edx, word [edi]
cmp edx, 0x77
jne 0x71a9d1
mov edi, esi
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x158]
jmp 0x71a9ea
movzx ecx, word [ecx]
cmp ecx, 0x77
mov edi, esi
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x158]
jne 0x71fc9f
movzx eax, ax
lea ecx, [edi + eax*2]
mov dword [ebp + 0xb0], esi
movzx eax, word [edi + eax*2]
cmp eax, 0x77
je 0x71a965
jmp 0x71bd7e
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.00716260
add esp, 0x20
test eax, eax
jne 0x71d772
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
cmp edx, 0x77
je 0x71aa40
jmp 0x71c0a7
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 0x71aa60
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x7187e0
jmp case.0x7201c8.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 0x71b388
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 0x71c0a7
cmp ebx, esi
jge 0x71ab37
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 0x71c0a7
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 0x71ab50
jmp 0x71c0a7
add ebp, 2
mov dword [esp + 0x4c], 0
mov edx, 0x7fffffff
mov dword [esp + 0x10], 1
mov edi, 1
jmp 0x7193a0
mov eax, dword [0x860e7c]
test eax, eax
je 0x71ac61
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 0x71df5a
jne 0x71d772
add ebp, 8
mov dword [esp + 0x14], ebp
jmp 0x7187e0
movzx edx, word [ebp + 2]
add ebp, 2
mov eax, 1
cmp edx, 0x86
je case.0x7187fe.134
movzx eax, dx
cmp eax, 0x8b
mov eax, 1
jne case.0x7187fe.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 0x71ae49
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 0x71ad34
mov dword [ebp + 0x9c], 2
movzx eax, word [ebx]
movzx eax, byte [eax + 0x862738]
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.00716260
add esp, 0x20
cmp eax, 0xfffffc20
je 0x71ad77
test eax, eax
jne 0x71adcf
mov ax, word [ebx + 2]
jmp 0x71ad9e
movzx eax, word [ebx + 2]
lea ecx, [ebx + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x71fc9f
movzx edx, word [ebx]
cmp edx, 0x77
je 0x71ad9e
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x71fc9f
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 0x71ad0e
jmp 0x71b246
cmp eax, 0xfffffc1a
mov dword [esp + 4], eax
jne case.0x7201c8.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 0x71acfc
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
mov eax, 1
cmp edx, 0x77
je 0x71ae1f
mov edi, dword [esp + 8]
or eax, dword [esp + 0x50]
jne 0x71b290
jmp 0x71df5a
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 0x71ae95
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 0x71aeb0
mov eax, dword [esp + 0x158]
mov dword [eax + 0x9c], 2
movzx eax, word [ebp]
movzx eax, byte [eax + 0x862738]
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.00716260
add esp, 0x20
cmp eax, 0xfffffc20
je 0x71aefc
test eax, eax
jne 0x71af38
mov ax, word [edi + 2]
jmp 0x71af23
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x71fc9f
movzx edx, word [edi]
cmp edx, 0x77
je 0x71af23
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x71fc9f
movzx eax, ax
lea ebp, [edi + eax*2]
movzx eax, word [edi + eax*2]
cmp eax, 0x77
je 0x71ae80
jmp 0x71af9c
cmp eax, 0xfffffc1a
mov dword [esp + 4], eax
mov edx, ebx
jne case.0x7201c8.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 0x71ae73
movzx ecx, word [ebp + 2]
movzx edx, word [ebp + ecx*2]
lea ebp, [ebp + ecx*2]
mov eax, 1
cmp edx, 0x77
je 0x71af83
jmp 0x71afa0
mov eax, dword [esp + 4]
or eax, dword [esp + 0x50]
je 0x71df5a
add ebp, 4
mov dword [esp + 0x14], ebp
mov dword [esp + 8], esi
jmp 0x7187e0
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 + 0x862738]
ja 0x71f03e
movzx ecx, word [ebp + 2]
add ecx, eax
lea eax, [ebp + ecx*2]
mov dword [esp + 0x14], eax
jmp 0x7187e0
mov ebx, ecx
movzx edx, word [ebp + 2]
cmp edx, 0xa
ja case.default.0x71b027
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 + 0x8649f0]
shl ecx, 7
mov edi, eax
sub edi, esi
add edi, ecx
movzx ecx, word [edi + edi + 0x866bf0]
jmp dword [edx*4 + 0x7222c0]
cmp eax, 0x180d
jle 0x716838
lea edx, [eax - 0x2000]
cmp edx, 0x5f
ja case.default.0x71b048
jmp dword [edx*4 + 0x7222ec]
mov edi, dword [esp + 8]
cmp edi, eax
je 0x7169f1
lea eax, [edi - 2]
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
ja 0x71b06c
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
cmp dword [esi + 0x58], 0
movzx eax, word [eax]
je 0x71cd00
mov cl, 1
cmp eax, 0x5f
je 0x7169f3
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x8649f0]
shl ecx, 7
and eax, 0x7f
or eax, ecx
movzx eax, word [eax + eax + 0x866bf0]
movzx eax, byte [eax*8 + 0x863371]
mov eax, dword [eax*4 + 0x86284c]
or eax, 2
cmp eax, 3
sete cl
jmp 0x7169f3
xor ebx, ebx
mov ebp, eax
jmp 0x71bbe1
movzx eax, word [ebp + 2]
movzx ecx, word [ebx]
cmp ax, cx
je 0x721111
movzx edx, dx
cmp edx, 0x20
jne 0x71b0fb
cmp eax, 0xff
mov edx, dword [esp + 0x158]
ja 0x71b0f3
mov edx, dword [edx + 0x40]
movzx eax, byte [edx + eax]
cmp eax, ecx
je 0x721111
add ebx, 2
mov dword [esp + 8], ebx
jmp 0x71c0a7
cmp dword [esp + 0x34], 0
je 0x71c350
lea ecx, [edi - 6]
movzx ecx, cx
cmp ecx, 0xf
ja case.default.0x7201c8
mov dword [esp + 4], 0xfffffff2
jmp dword [ecx*4 + 0x722094]
cmp edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jle 0x7187c6
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 0x716912
add ebp, 4
mov dword [esp + 0x14], ebp
movzx ecx, word [ebx]
mov edx, ecx
and edx, 0xfc00
cmp edx, 0xd800
jne 0x71b196
shl ecx, 0xa
and ecx, 0xffc00
movzx edx, word [ebx + 2]
add ebx, 4
and edx, 0x3ff
lea ecx, [ecx + edx + 0x10000]
jmp 0x71b199
add ebx, 2
movzx edx, si
cmp edx, 0x1f
mov dword [esp + 8], ebx
jne 0x71b1ba
mov dword [esp + 4], 0
cmp eax, ecx
jne 0x7187e0
jmp case.0x7201c8.6
cmp eax, 0x80
mov edx, dword [esp + 0x158]
jb 0x71c1b7
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 + 0x8649f0]
shl edx, 7
mov edi, eax
sub edi, esi
add edi, edx
movzx edx, word [edi + edi + 0x866bf0]
mov edx, dword [edx*8 + 0x863374]
add edx, eax
cmp eax, ecx
jne 0x71c1c6
jmp 0x72123c
lea ecx, [eax + 0x3e4]
cmp ecx, 4
mov edx, edi
jae 0x71df4b
movzx eax, word [edx + 2]
lea ecx, [edx + eax*2]
movzx eax, word [edx + eax*2]
cmp eax, 0x77
mov edx, ecx
je 0x71b220
test esi, esi
jne 0x71e7df
add ecx, 4
mov dword [esp + 0x14], ecx
jmp 0x7187e0
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x71b284
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 0x71df5a
add ebp, 4
mov dword [esp + 0x14], ebp
mov dword [esp + 8], edi
jmp 0x7187e0
lea eax, [ebx - 6]
movzx eax, ax
cmp eax, 0xf
ja case.default.0x7201c8
mov dword [esp + 4], 0xfffffff2
jmp dword [eax*4 + 0x721c7c]
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 0x71fb0b
movzx edx, word [edi]
cmp edx, 0xff
ja 0x71b2f5
mov esi, dword [esp + 0x3c]
mov esi, dword [esi]
test byte [esi + edx], 4
jne 0x721111
add edi, 2
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71b2ce
jmp 0x71953f
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x30], eax
mov ecx, edi
mov ax, word [ecx]
movzx eax, ax
cmp eax, 0x78
je 0x71df5a
test esi, esi
jne 0x71e7df
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 0x71b330
add ecx, 4
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0x90]
mov dword [esp + 0x2c], eax
jmp 0x7187e0
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x4c], 0
jne 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x7163c4
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
ja 0x7168db
jmp 0x7163c4
or eax, 0x10000
mov dword [edi + 0x94], eax
jmp 0x71c0a7
test ax, ax
jne 0x719e0e
jmp 0x71daae
add edx, 2
cmp eax, 0xff
mov dword [esp + 8], edx
ja 0x7163c4
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je 0x7163c4
jmp 0x721111
mov edi, ecx
cmp eax, 0x1fff
mov dword [esp + 8], edi
jle 0x71b59d
cmp eax, 0x202e
jg 0x71c454
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jae 0x7163c4
jmp case.0x7201c8.6
mov edi, ecx
cmp eax, 0x1fff
mov dword [esp + 8], edi
jle 0x71c38d
cmp eax, 0x202e
jg 0x716458
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jb 0x7163c4
jmp case.0x7201c8.6
mov edi, ecx
lea ecx, [eax - 0xa]
cmp ecx, 4
jb 0x72123c
mov dword [esp + 8], edi
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x72123c
cmp eax, 0x85
jmp 0x71c47d
mov esi, ecx
lea ecx, [eax - 0xa]
cmp ecx, 4
jb 0x71b486
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x71b486
cmp eax, 0x85
jne 0x721111
mov dword [esp + 8], esi
jmp 0x7163c4
mov ebp, edx
cmp ebp, eax
jae 0x71b560
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 + 0x8649f0]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx edx, byte [ecx*8 + 0x863372]
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x71b50b
mov edi, ecx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x71b50b
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 + 0x8649f0]
shl edi, 7
sub ecx, ebx
add ecx, edi
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx ecx, byte [ecx*8 + 0x863372]
mov edi, 1
shl edi, cl
and edi, dword [edx*4 + 0x8628c4]
je 0x71b552
lea ebp, [ebp + esi*2]
cmp ebp, eax
jae 0x71b560
test edi, edi
mov edx, ecx
jne 0x71b4cc
cmp ebp, eax
jb 0x71b589
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71b589
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x71b589
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x71de7c
mov dword [esp + 8], ebp
mov eax, dword [esp + 0xc]
add eax, 2
mov dword [esp + 0x14], eax
jmp 0x7187e0
cmp eax, 0x9f
jle 0x71c471
cmp eax, 0xa0
je 0x72123c
cmp eax, 0x1680
je 0x72123c
cmp eax, 0x180e
jmp 0x71c47d
xor eax, eax
jmp 0x71677b
cmp dword [esp + 0x44], 0
jne 0x721111
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xor ecx, ecx
cmp esi, eax
jae 0x71de42
lea edi, [esi + 2]
cmp dword [esp + 0x34], 0
je 0x71b60a
movzx edx, word [esi]
and edx, 0xfc00
cmp edx, 0xd800
jne 0x71b60a
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 0x71b5e2
jmp 0x71953f
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 0x71df67
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x71b672
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x71b672
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x71b674
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 + 0x8649f0]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x866bf0]
movzx edx, byte [edx*8 + 0x863371]
add dl, 0xfb
xor esi, esi
cmp dl, 4
ja 0x71b6bb
movsx edx, dl
mov esi, dword [edx*4 + 0x862620]
cmp dword [esp + 0x44], esi
je 0x721111
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71b62a
jmp 0x71953f
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 0x71dfa5
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x71b72d
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x71b72d
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x71b72f
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 + 0x8649f0]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x866bf0]
movzx edx, byte [edx*8 + 0x863371]
xor ebx, ebx
mov esi, dword [esp + 0x54]
cmp dword [edx*4 + 0x86284c], esi
sete bl
cmp dword [esp + 0x44], ebx
je 0x721111
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71b6e5
jmp 0x71953f
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 0x71dfe3
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x71b7e4
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x71b7e4
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x71b7e6
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 + 0x8649f0]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x866bf0]
movzx edx, byte [edx*8 + 0x863371]
xor ebx, ebx
cmp dword [esp + 0x54], edx
sete bl
cmp dword [esp + 0x44], ebx
je 0x721111
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71b79c
jmp 0x71953f
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 0x71e021
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x71b894
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x71b894
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x71b896
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 + 0x8649f0]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x866bf0]
movzx edx, byte [edx*8 + 0x863370]
xor ebx, ebx
cmp dword [esp + 0x54], edx
sete bl
cmp dword [esp + 0x44], ebx
je 0x721111
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71b84c
jmp 0x71953f
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 0x71e05f
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x71b944
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x71b944
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x71b946
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 + 0x8649f0]
shl esi, 7
sub edx, ebx
add edx, esi
movzx edx, word [edx + edx + 0x866bf0]
movzx edx, byte [edx*8 + 0x863371]
mov edx, dword [edx*4 + 0x86284c]
or edx, 2
xor ebx, ebx
cmp edx, 3
sete bl
cmp dword [esp + 0x44], ebx
je 0x721111
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71b8fc
jmp 0x71953f
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 0x71e09d
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x71b9fd
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x71b9fd
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x71b9ff
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 + 0x8649f0]
shl esi, 7
mov ebp, edx
sub ebp, ebx
add ebp, esi
movzx esi, word [ebp + ebp + 0x866bf0]
movzx esi, byte [esi*8 + 0x863371]
mov esi, dword [esi*4 + 0x86284c]
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 0x721111
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71b9b5
jmp 0x71953f
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x54]
lea ecx, [ecx*4 + 0x863238]
mov edx, 1
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0xc]
cmp edi, eax
jae 0x71e0db
lea ebx, [edi + 2]
movzx esi, word [edi]
cmp dword [esp + 0x34], 0
je 0x71bad3
mov ebp, esi
and ebp, 0xfc00
cmp ebp, 0xd800
jne 0x71bad3
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 0x71bad7
mov dword [esp + 0xc], ebx
mov edi, dword [esp + 0x54]
mov ebx, dword [edi*4 + 0x863234]
cmp esi, ebx
jb 0x71bafe
mov ebp, ecx
nop dword [eax + eax]
cmp esi, ebx
je 0x71bb0a
mov ebx, dword [ebp]
add ebp, 4
cmp esi, ebx
jae 0x71baf0
cmp dword [esp + 0x44], 0
jne 0x71bb15
jmp 0x721111
cmp dword [esp + 0x44], 0
jne 0x721111
cmp edx, dword [esp + 0x10]
lea edx, [edx + 1]
jl 0x71ba87
jmp 0x71953f
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 0x71e119
lea esi, [edi + 2]
movzx edx, word [edi]
cmp dword [esp + 0x34], 0
je 0x71bb7b
mov ebx, edx
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x71bb7b
shl edx, 0xa
and edx, 0xffc00
movzx esi, word [edi + 2]
add edi, 4
and esi, 0x3ff
lea edx, [edx + esi + 0x10000]
jmp 0x71bb7d
mov edi, esi
mov bl, 1
cmp edx, 0x24
je 0x71bba8
cmp edx, 0x40
je 0x71bba8
cmp edx, 0x60
je 0x71bba8
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 0x721111
mov dword [esp + 0xc], edi
inc ecx
cmp ecx, dword [esp + 0x10]
jl 0x71bb33
jmp 0x71953f
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 0x71bc28
add ebp, 2
lea ecx, [eax - 0x62]
mov edx, eax
and edx, 1
mov dword [esp + 4], edx
movsx edi, byte [eax + 0x86259e]
movsx eax, byte [eax + 0x8625a9]
mov edx, 0x3cf
bt edx, ecx
mov ecx, 0x7fffffff
cmovae ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x71bc56
lea ecx, [ecx - 0x68]
movzx ecx, cx
cmp ecx, 2
jae 0x71bcb1
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 0x7187e0
jns 0x71bc6f
test edi, edi
je 0x7187e0
test edi, edi
jle 0x71c0b3
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.007224b0
add esp, 0x10
test eax, eax
js 0x71da23
lea ebp, [ebp + eax*2]
inc esi
cmp esi, edi
jl 0x71bc7d
jmp 0x71c0b7
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.007224b0
add esp, 0x10
test eax, eax
js 0x71fce6
lea esi, [esi + eax*2]
mov dword [esp + 8], esi
mov dword [esp + 0x14], ebp
jmp 0x7187e0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71bd0a
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x71bd0a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x71de7c
mov dword [esp + 8], ebp
cmp dword [esp + 0x4c], 0
jne 0x7187e0
jmp 0x71d0c1
mov edx, eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x716891
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x716891
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov eax, edx
jle 0x716893
jmp 0x71de7c
mov eax, esi
jmp 0x716893
cmp eax, 1
mov dword [esp + 4], eax
jne case.0x7201c8.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 0x71bd91
cmp eax, 0x77
jne 0x71df5a
movzx edx, word [ecx + 2]
movzx eax, word [ecx + edx*2]
lea ecx, [ecx + edx*2]
cmp eax, 0x77
je 0x71bd91
mov ebx, dword [ebp + 0x84]
mov esi, dword [ebp + 0x90]
movzx eax, ax
cmp eax, 0x78
mov dword [esp + 0x2c], esi
je 0x71bdc3
cmp ebx, dword [esp + 8]
jne 0x71d533
add ecx, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 8], ebx
jmp 0x7187e0
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 0x71be06
movzx eax, word [edx]
cmp ax, word [esi + 0x34]
jne 0x71be06
cmp ecx, 1
je 0x721111
movzx eax, word [edx + 2]
cmp ax, word [esi + 0x36]
je 0x721111
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je case.0x7187fe.13
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
add ecx, 0xfffffffe
cmp dword [esp + 8], ecx
jne case.0x7187fe.13
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne case.0x7187fe.13
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne case.0x7187fe.13
mov ecx, dword [esp + 8]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne case.0x7187fe.13
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x71de7c
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [esp + 8]
cmp edx, ecx
jae 0x71e868
lea eax, [edx + 2]
cmp dword [esp + 0x34], 0
je 0x716766
cmp eax, ecx
jae 0x716766
movzx ecx, word [edx + 2]
and ecx, 0xfc00
add edx, 4
cmp ecx, 0xdc00
cmove eax, edx
jmp 0x716766
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 8]
sub eax, ecx
cmp eax, 1
jle 0x71fe48
movzx eax, word [ebp + 2]
cmp ax, word [ecx]
jne 0x721111
add ecx, 2
mov dword [esp + 8], ecx
jmp 0x71c0a7
xor eax, eax
mov ebx, dword [esp + 8]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x71bef3
mov edx, ecx
cmp eax, dword [edx + 4]
jne 0x71beed
cmp ebx, dword [edx + 0x14]
je 0x71de89
mov edx, dword [edx]
test edx, edx
jne 0x71bedf
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 0x71bf2c
lea eax, [esp + 0xc4]
mov dword [esp + 0x64], eax
jmp 0x71bf4c
shl ecx, 2
sub esp, 0xc
push ecx
call dword [0x860e74]
add esp, 0x10
mov dword [esp + 0x64], eax
test eax, eax
je 0x71fe3b
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 0x71bf86
mov eax, dword [esp + 0x158]
mov dword [eax + 0x9c], 2
movzx eax, cx
movzx eax, byte [eax + 0x862738]
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.00716260
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 0x71cc80
cmp esi, 0xfffffc19
je 0x71cc80
lea ecx, [esi + 0x3e4]
cmp ecx, 4
jbe 0x71de96
test esi, esi
jne 0x71deaf
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 0x71bf6b
jmp 0x71ded8
add eax, eax
mov edi, dword [esp + 8]
sub edi, eax
mov eax, dword [esp + 0x158]
cmp edi, dword [eax + 0x78]
jb 0x71df5a
mov eax, dword [esp + 0x24]
cmp edi, dword [eax]
jae 0x71c0a3
mov eax, dword [esp + 0x24]
mov dword [eax], edi
jmp 0x71c0a3
cmp eax, 0xff
mov edx, dword [esp + 0x158]
ja 0x71c086
mov ecx, dword [edx + 0x3c]
movzx eax, byte [ecx + eax]
movzx ecx, word [edi]
cmp ecx, 0xff
ja 0x71c098
mov edx, dword [edx + 0x3c]
movzx ecx, byte [edx + ecx]
cmp eax, ecx
jne 0x721111
add edi, 2
mov dword [esp + 8], edi
add ebp, 4
mov dword [esp + 0x14], ebp
jmp 0x7187e0
mov ebp, dword [esp + 8]
mov dword [esp + 8], ebp
cmp edi, dword [esp + 0x28]
je 0x7187e0
jmp 0x71f7f5
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71c0ef
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x71c0ef
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x71de7c
mov dword [esp + 8], edx
cmp dword [esp + 0x50], 0
jne 0x7187e0
jmp 0x71d138
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71c128
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x71c128
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x71de7c
mov dword [esp + 8], edx
cmp dword [esp + 0x50], 0
jne 0x7187e0
jmp 0x71d191
mov edx, 1
cmp eax, 0x7f
ja 0x71c177
movzx ecx, word [edi]
cmp ecx, 0xff
mov edx, dword [esi + 0x3c]
movzx eax, byte [edx + eax]
ja 0x71c15c
movzx ecx, byte [edx + ecx]
cmp ecx, eax
jne 0x721111
add ebp, 4
add edi, 2
mov dword [esp + 8], edi
mov dword [esp + 0x14], ebp
jmp 0x7187e0
add ebp, 2
movzx ecx, word [edi]
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71c541
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 0x71c548
mov edx, dword [edx + 0x40]
movzx edx, byte [edx + eax]
cmp eax, ecx
je 0x72123c
cmp edx, ecx
mov dword [esp + 4], 0
jne 0x7187e0
jmp case.0x7201c8.6
mov edi, esi
mov dword [esp + 8], edi
cmp dword [esp + 0x50], 0
jne 0x7187e0
jmp 0x71cf29
cmp eax, 0xff
ja 0x716776
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov cl, byte [ecx + eax]
and cl, 0x10
shr cl, 4
jmp 0x716778
movzx eax, word [edi + 4]
test eax, eax
je case.0x719c29.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 0x71c261
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 0x71732a
dec eax
add edx, ecx
cmp eax, 1
jg 0x71c237
jmp 0x71732a
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0xa8]
test eax, eax
je case.0x719c29.4
movzx ecx, word [edi + 2]
cmp ecx, 0xffff
je 0x717325
cmp dword [eax + 4], ecx
sete al
movzx esi, al
test esi, esi
je case.0x719c29.4
jmp 0x71cfa4
mov eax, dword [esp + 0x158]
mov esi, dword [eax + 0xa8]
test esi, esi
je case.0x719c29.4
movzx eax, word [edi + 4]
test eax, eax
je case.0x719c29.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 0x71cfa4
dec eax
add edx, ecx
cmp eax, 1
jg 0x71c2e8
jmp case.0x719c29.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.00716260
add esp, 0x20
cmp eax, 0xfffffc20
je case.0x719c29.4
test eax, eax
je case.0x719c29.4
jmp 0x71d60d
lea ecx, [edi - 6]
movzx ecx, cx
cmp ecx, 0xf
ja case.default.0x7201c8
mov dword [esp + 4], 0xfffffff2
jmp dword [ecx*4 + 0x7220d4]
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 0x718777
jmp 0x71879c
cmp eax, 0x9f
jle 0x7168f3
cmp eax, 0xa0
mov dword [esp + 4], 0
je 0x7163c4
cmp eax, 0x1680
je 0x7163c4
cmp eax, 0x180e
je 0x7163c4
jmp case.0x7201c8.6
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
mov esi, eax
sub esi, edx
cmp ebx, esi
ja 0x71e9ed
movzx edx, word [ebx]
cmp dx, word [edi + 0x34]
jne 0x71e9ed
cmp ecx, 1
jne 0x7168a7
mov ecx, 1
jmp 0x7168b5
mov ebx, dword [esp + 0x158]
cmp edx, 0xc
jle 0x71a3b5
lea edi, [edx - 0x2028]
cmp edi, 2
jb 0x71c445
cmp edx, 0x85
je 0x71c445
cmp edx, 0xd
mov dword [esp + 4], 0
jne case.0x7201c8.6
cmp eax, ecx
jae 0x716c53
movzx ecx, word [eax]
lea edx, [eax + 2]
cmp ecx, 0xa
jmp 0x71be97
cmp dword [ebx + 0x6c], 0
je 0x716766
jmp 0x721111
cmp eax, 0x202f
je 0x72123c
cmp eax, 0x205f
je 0x72123c
cmp eax, 0x3000
jmp 0x71c47d
cmp eax, 9
je 0x72123c
cmp eax, 0x20
mov dword [esp + 4], 0
jne 0x7163c4
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71c4b5
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x71c4b5
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x71de7c
mov dword [esp + 8], edx
cmp dword [esp + 0x4c], 0
jne 0x7187e0
jmp 0x71d2a5
mov edx, ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x716c0b
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x716c0b
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
mov ecx, edx
jle 0x716c0d
jmp 0x71de7c
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 0x716abe
jmp 0x716b35
add edi, 2
mov dword [esp + 8], edi
lea edx, [ebp + edx*2]
mov dword [esp + 0x14], edx
cmp eax, ecx
je 0x7187e0
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 + 0x8649f0]
shl edx, 7
mov edi, eax
sub edi, esi
add edi, edx
movzx edx, word [edi + edi + 0x866bf0]
add eax, dword [edx*8 + 0x863374]
mov dword [esp + 4], 0
cmp ecx, eax
je 0x7187e0
jmp case.0x7201c8.6
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea eax, [eax + ecx*2]
cmp edi, eax
jb 0x71df5a
lea eax, [ecx + ecx]
mov edx, edi
sub edx, eax
movzx eax, word [edx]
cmp ax, word [esi + 0x34]
jne 0x71df5a
cmp ecx, 1
je 0x7163c4
neg ecx
movzx eax, word [edi + ecx*2 + 2]
cmp ax, word [esi + 0x36]
je 0x7163c4
jmp 0x71df5a
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x71878c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x716c21
cmp dword [esp + 0x34], 0
je 0x71c624
movzx edx, word [ebp]
and edx, 0xfc00
xor ecx, ecx
cmp edx, 0xd800
sete cl
inc ecx
jmp 0x71c629
mov ecx, 1
mov edx, dword [esp + 0x28]
cmp dword [esp + 0x44], 0
jne 0x71878c
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, edx
jl 0x71c5fd
jmp 0x71878c
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x71878c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x716c21
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x71c6ad
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71c6ad
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 + 0x8649f0]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x866bf0]
movzx edx, byte [edx*8 + 0x863371]
add dl, 0xfb
xor esi, esi
cmp dl, 4
ja 0x71c6f4
movsx edx, dl
mov esi, dword [edx*4 + 0x862620]
cmp dword [esp + 0x44], esi
je 0x71878c
mov edx, dword [esp + 0x10]
inc edx
lea ebp, [ebp + ecx*2]
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x28]
jl 0x71c666
jmp 0x71878c
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x71878c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x716c21
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x71c779
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71c779
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 + 0x8649f0]
shl esi, 7
sub ecx, edi
add ecx, esi
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx ecx, byte [ecx*8 + 0x863371]
xor ebx, ebx
mov esi, dword [esp + 0x54]
cmp dword [ecx*4 + 0x86284c], esi
sete bl
cmp dword [esp + 0x44], ebx
je 0x71878c
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x71c732
jmp 0x71878c
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x71878c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x716c21
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x71c841
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71c841
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 + 0x8649f0]
shl esi, 7
sub ecx, edi
add ecx, esi
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx ecx, byte [ecx*8 + 0x863371]
xor ebx, ebx
cmp dword [esp + 0x54], ecx
sete bl
cmp dword [esp + 0x44], ebx
je 0x71878c
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x71c7fa
jmp 0x71878c
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x71878c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x716c21
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x71c902
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71c902
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 + 0x8649f0]
shl esi, 7
sub ecx, edi
add ecx, esi
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx ecx, byte [ecx*8 + 0x863370]
xor ebx, ebx
cmp dword [esp + 0x54], ecx
sete bl
cmp dword [esp + 0x44], ebx
je 0x71878c
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x71c8bb
jmp 0x71878c
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x71878c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x716c21
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x71c9c3
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71c9c3
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 + 0x8649f0]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x866bf0]
movzx edx, byte [edx*8 + 0x863371]
mov edx, dword [edx*4 + 0x86284c]
or edx, 2
xor ebx, ebx
cmp edx, 3
sete bl
cmp dword [esp + 0x44], ebx
je 0x71878c
lea ebp, [ebp + ecx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x71c97c
jmp 0x71878c
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x71878c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x716c21
movzx ecx, word [ebp]
cmp dword [esp + 0x34], 0
mov edx, 1
je 0x71ca8d
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71ca8d
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 + 0x8649f0]
shl esi, 7
mov ebx, ecx
sub ebx, edi
add ebx, esi
movzx esi, word [ebx + ebx + 0x866bf0]
movzx esi, byte [esi*8 + 0x863371]
mov esi, dword [esi*4 + 0x86284c]
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 0x71878c
lea ebp, [ebp + edx*2]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, dword [esp + 0x28]
jl 0x71ca46
jmp 0x71878c
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x71878c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x54]
lea ecx, [ecx*4 + 0x863238]
mov dword [esp + 4], ecx
mov ebp, edx
cmp ebp, eax
jae 0x716c21
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x71cb75
mov edi, edx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x71cb75
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 0x71cb77
mov ecx, ebp
mov edi, dword [esp + 0x54]
mov ebx, dword [edi*4 + 0x863234]
cmp edx, ebx
jb 0x71cb98
mov ebp, dword [esp + 4]
cmp edx, ebx
je 0x71cba4
mov ebx, dword [ebp]
add ebp, 4
cmp edx, ebx
jae 0x71cb8a
cmp dword [esp + 0x44], 0
jne 0x71cbaf
jmp 0x71878a
cmp dword [esp + 0x44], 0
jne 0x71878a
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 0x71cb2a
jmp 0x71878c
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
mov ebp, edx
jle 0x71878c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ebp, edx
cmp ebp, eax
jae 0x716c21
movzx edx, word [ebp]
cmp dword [esp + 0x34], 0
mov ecx, 1
je 0x71cc2c
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71cc2c
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 0x71cc57
cmp edx, 0x40
je 0x71cc57
cmp edx, 0x60
je 0x71cc57
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 0x71878c
mov edx, dword [esp + 0x10]
inc edx
lea ebp, [ebp + ecx*2]
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x28]
jl 0x71cbe5
jmp 0x71878c
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
je 0x71cc9c
sub esp, 0xc
push eax
call dword [0x860e78]
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 0x7187e0
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp edi, eax
ja 0x71f149
movzx eax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x71f149
cmp ecx, 1
je 0x7163c4
movzx eax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0x7163c4
jmp 0x71f149
cmp eax, 0xff
ja 0x7169f1
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
mov cl, byte [ecx + eax]
and cl, 0x10
shr cl, 4
jmp 0x7169f3
movzx eax, byte [ecx*8 + 0x863371]
cmp eax, 9
ja 0x71cd3a
mov ecx, 0x320
bt ecx, eax
jb case.0x71b027.0
movzx eax, word [esp + 0x28]
cmp eax, 0xf
je 0x716881
jmp 0x721111
movzx eax, word [ebp + 4]
movzx ecx, byte [ecx*8 + 0x863371]
cmp dword [ecx*4 + 0x86284c], eax
jmp 0x71cd7e
movzx eax, word [ebp + 4]
movzx ecx, byte [ecx*8 + 0x863371]
jmp 0x71cd7c
movzx eax, word [ebp + 4]
movzx ecx, byte [ecx*8 + 0x863370]
cmp eax, ecx
setne al
movzx ecx, word [esp + 0x28]
cmp ecx, 0x10
jmp 0x71cdcb
movzx eax, byte [ecx*8 + 0x863371]
mov eax, dword [eax*4 + 0x86284c]
or eax, 2
cmp eax, 3
jmp 0x71cdc0
movzx ecx, byte [ecx*8 + 0x863371]
mov ecx, dword [ecx*4 + 0x86284c]
or ecx, 2
cmp ecx, 3
je case.0x71b027.0
cmp eax, 0x5f
sete al
movzx ecx, word [esp + 0x28]
cmp ecx, 0xf
sete cl
xor cl, al
jne 0x716881
jmp 0x721111
movzx edx, word [ebp + 4]
mov ecx, dword [edx*4 + 0x863234]
cmp eax, ecx
jb 0x71635e
lea edx, [edx*4 + 0x863238]
cmp eax, ecx
je 0x716391
mov ecx, dword [edx]
add edx, 4
cmp eax, ecx
jae 0x71cdf5
jmp 0x71635e
movzx edi, word [ebp + 4]
lea ebx, [edi + edi]
mov eax, dword [esp + 0x158]
cmp ebx, dword [eax + 0x14]
jl 0x71fb49
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 0x71ce79
cmp dword [ebp + 0x70], 0
jne 0x71ce83
mov ecx, ebx
movzx eax, word [ecx + 2]
movzx eax, word [ecx + eax*2]
cmp eax, 0x77
je 0x71ce83
jmp 0x71cf90
lea ebx, [ebx + eax*2]
mov dword [ebp + 0x94], esi
mov dx, 0x77
cmp byte [esp + 4], 0
je 0x71ce4b
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 + 0x862738]
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.00716260
add esp, 0x20
cmp eax, 0xfffffc20
je 0x71cedc
test eax, eax
jne 0x71d9bc
mov ax, word [ebx + 2]
jmp 0x71cf03
movzx eax, word [edi + 2]
lea ecx, [edi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x71fc9f
movzx edx, word [edi]
cmp edx, 0x77
je 0x71cf03
movzx ecx, word [ecx]
cmp ecx, 0x77
jne 0x71fc9f
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 0x71ce65
jmp 0x71df5a
mov edi, dword [esp + 8]
cmp edi, ebx
jbe 0x71d12d
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.00716260
add esp, 0x20
test eax, eax
jne 0x72149d
movzx eax, word [edi - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x71cf80
add edi, 0xfffffffe
jmp 0x71cf83
add edi, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp edi, ebx
ja 0x71cf40
jmp 0x71d18a
movzx eax, dx
movzx eax, byte [eax + 0x862738]
mov edx, ebx
lea edx, [edx + eax*2]
jmp 0x71d244
movzx eax, bp
mov cl, byte [eax + 0x862738]
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 0x721308
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 8]
jmp 0x71d4fe
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x71d4fa
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.00716260
add esp, 0x20
test eax, eax
jne 0x71d772
lea eax, [ebx - 2]
cmp dword [esp + 0x34], 0
je 0x71d03f
movzx ecx, word [ebx - 2]
and ecx, 0xfc00
cmp ecx, 0xdc00
mov edx, dword [esp + 0x14]
je 0x71d047
mov ebx, eax
jmp 0x71d04a
mov ebx, eax
mov edx, dword [esp + 0x14]
jmp 0x71d04a
add ebx, 0xfffffffc
cmp ebx, dword [esp + 0xc]
ja 0x71cff3
jmp 0x71d505
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x71d4fa
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.00716260
add esp, 0x20
test eax, eax
jne 0x72149d
movzx eax, word [ebx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x71d0af
add ebx, 0xfffffffe
jmp 0x71d0b2
add ebx, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp ebx, dword [esp + 0xc]
ja 0x71d072
jmp 0x71d505
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x71d4fa
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.00716260
add esp, 0x20
test eax, eax
jne 0x72149d
movzx eax, word [ebx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x71d11b
add ebx, 0xfffffffe
jmp 0x71d11e
add ebx, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp ebx, dword [esp + 0xc]
ja 0x71d0de
jmp 0x71d505
mov edx, dword [esp + 0x14]
mov ebx, edi
jmp 0x71d4fe
mov eax, dword [esp + 8]
mov ebx, edi
cmp eax, ebx
je 0x71d4fa
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.00716260
add esp, 0x20
test eax, eax
jne 0x72149d
add ebx, 0xfffffffe
cmp edi, ebx
mov edx, dword [esp + 0x14]
jne 0x71d157
mov ebx, edi
jmp 0x71d505
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
cmp eax, ebx
je 0x71d4fa
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.00716260
add esp, 0x20
test eax, eax
jne 0x72149d
add ebx, 0xfffffffe
cmp dword [esp + 0xc], ebx
mov edx, dword [esp + 0x14]
jne 0x71d1b2
jmp 0x71d2fb
cmp eax, 0x7a
jne 0x71d304
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.00716260
add esp, 0x20
test eax, eax
jne 0x71d772
movzx eax, word [ebx]
cmp eax, 0x81
je 0x72163e
movzx eax, ax
cmp eax, 0x88
jae 0x7216f4
mov edx, ebx
mov ebx, dword [esp + 8]
jmp 0x71d505
mov ebx, dword [esp + 0xc]
cmp dword [esp + 8], ebx
je 0x71d4fa
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.00716260
add esp, 0x20
test eax, eax
jne 0x72149d
add ebx, 0xfffffffe
cmp dword [esp + 0xc], ebx
mov edx, dword [esp + 0x14]
jne 0x71d26e
jmp 0x71d2fb
mov ebx, dword [esp + 0xc]
cmp dword [esp + 8], ebx
je 0x71d4fa
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.00716260
add esp, 0x20
test eax, eax
jne 0x72149d
add ebx, 0xfffffffe
cmp dword [esp + 0xc], ebx
mov edx, dword [esp + 0x14]
jne 0x71d2c6
mov ebx, dword [esp + 0xc]
jmp 0x71d505
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.00716260
add esp, 0x20
test eax, eax
je 0x71d345
mov ecx, eax
cmp eax, 0xfffffc1b
jne 0x7214a6
cmp dword [ebp + 0xb8], ebx
jne 0x7219aa
movzx eax, word [ebx]
add dword [esp + 0xc], 4
cmp eax, 0x81
je 0x721690
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x71d505
mov ebx, dword [esp + 8]
cmp ebx, dword [esp + 0xc]
jbe 0x71d4fa
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.00716260
add esp, 0x20
test eax, eax
jne 0x71d772
lea ebx, [edi - 2]
cmp dword [esp + 0x34], 0
movzx ecx, word [edi - 2]
je 0x71d3fb
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 0x71d3fb
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 0x71d4fa
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 + 0x8649f0]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx ecx, byte [ecx*8 + 0x863372]
lea eax, [ebx - 2]
cmp dword [esp + 0x34], 0
movzx edx, word [ebx - 2]
je 0x71d486
and edx, 0xfc00
cmp edx, 0xdc00
jne 0x71d459
lea eax, [ebx - 4]
movzx edx, word [eax]
mov esi, edx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71d486
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 + 0x8649f0]
shl esi, 7
sub edx, edi
add edx, esi
movzx edx, word [edx + edx + 0x866bf0]
movzx edx, byte [edx*8 + 0x863372]
mov esi, dword [edx*4 + 0x8628c4]
bt esi, ecx
jae 0x71d4d8
cmp eax, dword [esp + 0xc]
mov ecx, edx
mov ebx, eax
ja 0x71d43a
jmp 0x71d602
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 0x71d382
jmp 0x71d244
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 0x71630a
jmp case.0x7201c8.6
mov edi, ecx
cmp eax, 0x7a
jne 0x71d66c
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.00716260
add esp, 0x20
mov ecx, eax
test eax, eax
mov edx, dword [esp + 0xc]
je 0x71d505
jmp 0x7214a6
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], eax
jbe 0x71cfc9
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.00716260
add esp, 0x20
test eax, eax
jne 0x71d772
movzx eax, word [ebx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
je 0x71d5cf
add ebx, 0xfffffffe
jmp 0x71d5d2
add ebx, 0xfffffffc
mov edx, dword [esp + 0x14]
cmp ebp, 0x11
jne 0x71d5f7
mov ecx, ebx
cmp ecx, dword [esp + 0xc]
jbe 0x71d5f7
movzx eax, word [ecx]
cmp eax, 0xa
jne 0x71d5f7
movzx eax, word [ecx - 2]
cmp eax, 0xd
jne 0x71d5f7
add ebx, 0xfffffffe
cmp ebx, dword [esp + 0xc]
ja 0x71d58c
jmp 0x71d4fe
mov edx, dword [esp + 0x14]
mov ebx, eax
jmp 0x71d4fe
cmp eax, 1
mov dword [esp + 4], eax
jne case.0x7201c8.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 0x71d636
mov esi, dword [esp + 0x2c]
cmp ecx, esi
movzx edx, bp
cmovge esi, ecx
mov dword [esp + 0x2c], esi
movzx ecx, byte [edx + 0x862738]
mov edx, 2
sub edx, ecx
lea edi, [eax + edx*2]
jmp 0x71cfad
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.00716260
add esp, 0x20
mov ecx, eax
test eax, eax
jne 0x7214a6
add edi, 4
mov edx, edi
jmp 0x71d4fe
mov eax, dword [esp + 0xc]
cmp dword [esp + 8], eax
je 0x71d71a
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.00716260
add esp, 0x20
test eax, eax
jne 0x71d772
mov esi, ebx
lea ebx, [ebx - 2]
cmp ebp, 0x11
mov edx, dword [esp + 0x14]
jne 0x71d712
cmp ebx, dword [esp + 0xc]
jbe 0x71d712
movzx ecx, word [ebx]
cmp ecx, 0xa
jne 0x71d712
movzx ecx, word [esi - 4]
cmp ecx, 0xd
jne 0x71d712
add esi, 0xfffffffc
mov ebx, esi
cmp ebx, dword [esp + 0xc]
jne 0x71d6ba
jmp 0x71d71e
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x158]
mov ebx, dword [esp + 0xc]
jmp 0x71d505
mov eax, dword [esp + 0x160]
test eax, eax
je 0x71d754
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.0x7201c8.6
sub esp, 0xc
lea ecx, [esp + 0x16c]
xor edx, edx
push 1
push 0
push 0
push 0
push 0
call fcn.00716260
add esp, 0x20
mov dword [esp + 4], eax
jmp case.0x7201c8.6
cmp ebx, dword [esp + 0x14]
jb 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov dword [esp + 4], 0xffffffeb
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov edi, edx
mov edx, dword [esp + 8]
cmp edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x158]
jne 0x71d952
movzx eax, di
cmp eax, 0x9f
je 0x71d952
cmp dword [ecx + 0xa8], 0
je 0x71e157
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 0x71ea79
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
cmp eax, 0xfffffc1b
mov dword [esp + 4], eax
jne case.0x7201c8.6
movzx eax, word [ebx]
cmp eax, 0x81
jne 0x71e7b0
mov esi, dword [esp + 0x158]
jmp 0x71ea6c
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
cmp eax, 0xfffffffe
jne 0x71da2e
mov eax, dword [esp + 0x18]
mov ebp, dword [eax]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x18]
cmp ebp, dword [ecx]
jb 0x71df5a
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
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.0x7201c8.6
lea edi, [ebp + 4]
mov ebx, dword [esp + 0x158]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
movzx eax, byte [edx + 0x862738]
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.00716260
add esp, 0x20
lea ecx, [eax + 0x3e7]
cmp ecx, 2
jb 0x71db48
cmp eax, 0xfffffc1f
je 0x71db64
cmp eax, 1
mov ebx, dword [esp + 0x158]
jne 0x71d772
cmp dword [ebx + 0xb0], 0
mov dword [esp + 4], eax
je 0x71e9e2
cmp eax, 0xfffffc1f
jne case.0x7201c8.6
sub esp, 8
mov eax, dword [esp + 0x160]
push dword [eax + 0x80]
push edi
call fcn.007641b0
add esp, 0x10
mov dword [esp + 4], 0xfffffc1f
test eax, eax
jne case.0x7201c8.6
jmp 0x71dbd1
movzx eax, byte [edx + 0x862738]
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 8]
mov dword [eax + 0x80], ecx
mov dword [esp + 4], 0xfffffc1e
jmp case.0x7201c8.6
lea edi, [ebp + 4]
mov ebx, dword [esp + 0x158]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
movzx eax, byte [edx + 0x862738]
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.00716260
add esp, 0x20
cmp eax, 1
je 0x71dc5f
test eax, eax
je 0x71ddea
cmp eax, 0xfffffc19
mov ebx, dword [esp + 0x158]
jne 0x71d772
cmp dword [ebx + 0xb0], 0
jne 0x71dc6e
mov dword [ebx + 0xb0], edi
test eax, eax
mov dword [esp + 4], eax
jne case.0x7201c8.6
jmp 0x71ddea
movzx eax, byte [edx + 0x862738]
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.00716260
add esp, 0x20
test eax, eax
mov ecx, 0xfffffc1c
jmp 0x71dd08
mov dword [esp + 4], 0xfffffffb
jmp case.0x7201c8.6
movzx eax, byte [edx + 0x862738]
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.00716260
add esp, 0x20
test eax, eax
mov ecx, 0xfffffc1d
cmovne ecx, eax
mov dword [esp + 4], ecx
jmp case.0x7201c8.6
lea edi, [ebp + 4]
mov ebx, dword [esp + 0x158]
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb0], 0
movzx eax, byte [edx + 0x862738]
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.00716260
add esp, 0x20
cmp eax, 1
je 0x71dd80
test eax, eax
je 0x71dd9b
cmp eax, 0xfffffc19
mov ebx, dword [esp + 0x158]
jne 0x71d772
cmp dword [ebx + 0xb0], 0
jne 0x71dd8f
mov dword [ebx + 0xb0], edi
test eax, eax
mov dword [esp + 4], eax
jne case.0x7201c8.6
mov dword [esp + 4], 0xfffffc1d
jmp case.0x7201c8.6
movzx eax, byte [edx + 0x862738]
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
mov eax, dword [esp + 0x158]
mov dword [eax + 0x80], ebp
mov dword [esp + 4], 0xfffffc20
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov dword [esp + 4], 0xfffffff4
jmp case.0x7201c8.6
mov dword [esp + 4], 0xffffffe6
jmp case.0x7201c8.6
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
je 0x71df5a
sub esp, 0xc
push eax
jmp 0x71def8
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
mov dword [esp + 4], esi
je case.0x7201c8.6
sub esp, 0xc
push eax
call dword [0x860e78]
add esp, 0x10
jmp case.0x7201c8.6
mov ecx, dword [esp + 0x158]
mov dword [ecx + 0xa8], eax
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0xc4]
cmp eax, ecx
je 0x71df5a
sub esp, 0xc
push eax
call dword [0x860e78]
add esp, 0x10
mov dword [esp + 4], 0
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
cmp eax, 1
mov dword [esp + 4], eax
je 0x71df5a
jmp case.0x7201c8.6
cmp eax, 0xfffffc19
mov dword [esp + 4], eax
jne case.0x7201c8.6
mov dword [esp + 4], 0
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov dword [esp + 4], 0
cmp dword [ecx + 0x60], 0
jne case.0x7201c8.6
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x64], 0
mov edx, dword [esp + 8]
je 0x71d952
mov eax, dword [ecx + 0x98]
add eax, eax
add eax, dword [ecx + 0x78]
cmp dword [esp + 0x30], eax
jne 0x71d952
jmp 0x71df5a
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.00716260
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.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 0x721111
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
lea eax, [esi - 4]
cmp ebx, eax
mov edi, dword [esp + 0x158]
ja 0x71e216
mov eax, dword [ebx]
cmp eax, dword [ebp]
je 0x71e290
test ecx, ecx
jle 0x71f76d
mov eax, dword [esp + 0x34]
lea eax, [esi + eax*2]
cmp ebx, eax
ja 0x71f76d
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 0x71f76d
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.00716260
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x71e1e8
jmp case.0x7201c8.6
mov eax, 2
jmp 0x71e251
mov eax, dword [esp + 0x50]
test eax, eax
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
js 0x71ea85
cmp eax, 0xa
mov edx, dword [esp + 0x14]
ja case.default.0x71b027
jmp dword [eax*4 + 0x721ee8]
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x7201c8.6
dec dword [esp + 0x10]
mov ebp, 0x80001f
mov edx, dword [esp + 0x10]
inc edx
cmp edx, eax
jge 0x721111
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x72152b
mov dword [esp + 0x10], edx
lea edi, [ecx + 2]
movzx eax, word [ecx]
cmp dword [esp + 0x34], 0
je 0x71e364
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x71e364
shl eax, 0xa
and eax, 0xffc00
movzx edx, word [ecx + 2]
add ecx, 4
and edx, 0x3ff
lea eax, [eax + edx + 0x10000]
jmp 0x71e366
mov ecx, edi
mov edx, dword [esp + 0x14]
cmp eax, 0x180d
jle 0x71e383
lea edi, [eax - 0x2000]
cmp edi, 0x5f
ja case.default.0x71e37c
jmp dword [edi*4 + 0x721f14]
cmp eax, 0x84
jg 0x71e3dc
lea edi, [eax - 9]
cmp edi, 0x17
ja case.0x71e37c.8203
bt ebp, edi
jae case.0x71e37c.8203
cmp dword [esp + 0x44], 0
jne 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x71e301
jmp case.0x7201c8.6
cmp eax, 0x85
je case.0x71e37c.8192
cmp eax, 0xa0
je case.0x71e37c.8192
cmp eax, 0x1680
je case.0x71e37c.8192
jmp case.0x71e37c.8203
cmp eax, 0x3000
je case.0x71e37c.8192
cmp eax, 0x180e
je case.0x71e37c.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 + 0x8649f0]
shl edi, 7
sub eax, edx
mov edx, dword [esp + 0x14]
add eax, edi
movzx eax, word [eax + eax + 0x866bf0]
movzx eax, byte [eax*8 + 0x863371]
xor ebx, ebx
cmp dword [eax*4 + 0x86284c], 6
sete bl
cmp dword [esp + 0x44], ebx
jne 0x71e3a2
jmp 0x721111
mov dword [esp + 4], 0xfffffff2
jmp case.0x7201c8.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.00716260
add esp, 0x20
cmp dword [esp + 0x34], 0
mov dword [esp + 4], eax
je 0x71e579
test eax, eax
jne case.0x7201c8.6
dec edi
inc edi
cmp edi, dword [esp + 0x40]
jge 0x721111
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp edx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x720699
movzx eax, word [edx]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
mov ebx, dword [esp + 0x28]
jne 0x71e503
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 0x71e50a
add edx, 2
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x14]
cmp ebx, eax
je 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x71e4a8
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
cmp edi, dword [esp + 0x40]
jge 0x721111
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 0x721349
movzx eax, word [ecx]
cmp edx, eax
mov edx, dword [esp + 0x14]
jne 0x71e54c
jmp 0x721111
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.00716260
add esp, 0x20
cmp dword [esp + 0x34], 0
mov dword [esp + 4], eax
je 0x71e6f4
test eax, eax
jne case.0x7201c8.6
dec edi
inc edi
cmp edi, dword [esp + 0x40]
jge 0x721111
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp edx, dword [eax]
jae 0x7206d7
movzx eax, word [edx]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
mov ebx, dword [esp + 0x28]
jne 0x71e658
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 0x71e667
jmp 0x72123c
add edx, 2
mov dword [esp + 0xc], edx
cmp ebx, eax
je 0x72123c
cmp dword [esp + 0x10], eax
mov dword [esp + 4], 0
je case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x71e5fd
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
cmp edi, dword [esp + 0x40]
jge 0x721111
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov edx, dword [esp + 0x28]
jae 0x721387
movzx eax, word [ecx]
cmp edx, eax
je 0x72123c
cmp dword [esp + 0x10], eax
mov dword [esp + 4], 0
jne 0x71e6b9
jmp case.0x7201c8.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.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
mov eax, dword [esp + 0x158]
mov dword [eax + 0xb8], ebx
mov dword [esp + 4], 0xfffffc1b
jmp case.0x7201c8.6
movzx eax, ax
cmp eax, 0x77
movzx eax, word [ebx + 2]
mov esi, dword [esp + 0x158]
jne 0x71ea64
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 0x71e7c7
jmp 0x71ea66
mov dword [esp + 4], 1
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 8]
mov dword [ebp + 0x84], eax
jmp 0x71dabe
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 0x71e8fe
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
jge 0x721111
mov eax, dword [esp + 0x18]
mov ecx, edi
cmp ecx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x721290
cmp bx, word [ecx]
mov edx, dword [esp + 0x14]
je 0x71e8dc
jmp 0x721111
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 0x71e994
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x40]
jge 0x721111
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov esi, dword [esp + 0x158]
jae 0x7212ca
movzx eax, word [ecx]
cmp bx, ax
mov edx, dword [esp + 0x14]
je 0x71e96c
cmp edi, eax
je 0x71e96c
jmp 0x721111
mov dword [ebx + 0xb0], edi
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 8]
lea ecx, [ecx + 2]
mov edx, dword [esp + 0x18]
cmp ecx, dword [edx]
jb 0x71df5a
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne 0x71df5a
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x71df5a
mov ecx, dword [esp + 8]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
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.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 8], ebp
cmp ebp, 0x16
mov dword [esp + 4], eax
jne 0x71f1fa
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x7201c8.6
cmp dword [esp + 0x10], ecx
jge 0x72123c
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 0x7213c5
lea edx, [ecx + 2]
movzx ecx, word [ecx]
cmp dword [esp + 0x34], 0
je 0x71eb32
mov esi, ecx
and esi, 0xfc00
cmp esi, 0xd800
jne 0x71eb32
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 0x71eb34
mov esi, edx
mov dword [esp + 0xc], esi
cmp esi, eax
jae 0x71ec25
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 + 0x8649f0]
shl edx, 7
sub ecx, esi
add ecx, edx
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx edx, byte [ecx*8 + 0x863372]
mov ecx, dword [esp + 0xc]
movzx ecx, word [ecx]
cmp dword [esp + 0x34], 0
mov esi, 1
je 0x71ebb9
mov edi, ecx
and edi, 0xfc00
cmp edi, 0xd800
jne 0x71ebb9
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 + 0x8649f0]
shl edi, 7
sub ecx, ebx
add ecx, edi
movzx ecx, word [ecx + ecx + 0x866bf0]
movzx ecx, byte [ecx*8 + 0x863372]
mov ebx, 1
shl ebx, cl
and ebx, dword [edx*4 + 0x8628c4]
je 0x71ec05
mov edx, dword [esp + 0xc]
lea edx, [edx + esi*2]
jmp 0x71ec09
mov edx, dword [esp + 0xc]
mov dword [esp + 0xc], edx
cmp edx, eax
jae 0x71ec21
test ebx, ebx
mov edx, ecx
mov edi, dword [esp + 0x2c]
jne 0x71eb73
jmp 0x71ec25
mov edi, dword [esp + 0x2c]
cmp dword [esp + 0xc], eax
jb 0x71ec54
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71ec54
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x71ec54
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jg 0x7205de
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov ecx, dword [esp + 0x28]
je 0x71eacb
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp esi, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov dword [esp + 4], 0xfffffff4
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
add ebp, 4
mov eax, dword [esp + 0x158]
mov dword [eax + 0x80], ebp
mov dword [esp + 4], 0xfffffc1f
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 8]
lea ecx, [ecx + 2]
mov edx, dword [esp + 0x18]
cmp ecx, dword [edx]
jb 0x71df5a
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne 0x71df5a
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne 0x71df5a
mov ecx, dword [esp + 8]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
cmp dword [esp + 0x34], 0
mov ecx, dword [esp + 0x28]
je 0x720146
test eax, eax
jne case.0x7201c8.6
dec dword [esp + 0x10]
lea eax, [ebx - 6]
movzx ebx, ax
mov edx, dword [esp + 0x10]
inc edx
cmp edx, ecx
jge 0x72123c
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov edi, dword [esp + 0xc]
cmp edi, eax
mov esi, dword [esp + 0x158]
jae 0x721600
cmp dword [esp + 8], 0xc
mov dword [esp + 0x10], edx
jne 0x71f2ac
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x71f272
sub esp, 0xc
push dword [esp + 0x40]
push dword [esp + 0x58]
push eax
push ecx
push edi
call fcn.00763fe0
add esp, 0x20
test eax, eax
je 0x71f2ac
jmp 0x72123c
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx]
lea edx, [ecx + ecx]
sub eax, edx
cmp edi, eax
ja 0x71f2ac
movzx eax, word [edi]
cmp ax, word [esi + 0x34]
jne 0x71f2ac
cmp ecx, 1
je 0x72123c
mov edi, dword [esp + 0xc]
movzx eax, word [edi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x72123c
movzx eax, word [edi]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x71f2dd
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x71f2e0
add edi, 2
mov dword [esp + 0xc], edi
cmp ebx, 0xf
ja case.default.0x7201c8
mov dword [esp + 4], 0xfffffff2
jmp dword [ebx*4 + 0x721e68]
cmp eax, 0xff
ja case.0x71f2f5.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
je case.0x71f2f5.7
jmp 0x72123c
cmp eax, 0xff
ja 0x72123c
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
jne case.0x71f2f5.7
jmp 0x72123c
cmp eax, 0xff
ja case.0x71f2f5.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
je case.0x71f2f5.7
jmp 0x72123c
cmp eax, 0xff
ja 0x72123c
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
jne case.0x71f2f5.7
jmp 0x72123c
cmp eax, 0xff
ja case.0x71f2f5.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je case.0x71f2f5.7
jmp 0x72123c
cmp eax, 0xff
ja 0x72123c
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
jne case.0x71f2f5.7
jmp 0x72123c
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
test ecx, ecx
je case.0x71f2f5.7
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [edx]
jb case.0x71f2f5.7
mov edx, dword [esp + 0x158]
cmp dword [edx + 0x18], 0
jne case.0x71f2f5.7
mov edx, dword [esp + 0x48]
cmp dword [edx], 2
jne case.0x71f2f5.7
mov edx, dword [esp + 0x158]
movzx edx, word [edx + 0x34]
cmp eax, edx
jne case.0x71f2f5.7
mov eax, dword [esp + 0x20]
mov dword [eax], 1
cmp ecx, 1
jle case.0x71f2f5.7
jmp 0x7205de
cmp eax, 0xc
jle 0x71f57a
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x71f586
cmp eax, 0x85
je 0x71f586
cmp eax, 0xd
mov dword [esp + 4], 0
jne case.0x7201c8.6
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
jae case.0x71f2f5.7
mov eax, dword [esp + 0xc]
movzx eax, word [eax]
cmp eax, 0xa
jne case.0x71f2f5.7
add dword [esp + 0xc], 2
jmp case.0x71f2f5.7
cmp eax, 0x1fff
jle 0x71f541
cmp eax, 0x202e
jg 0x71f5bc
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jae case.0x71f2f5.7
jmp case.0x7201c8.6
cmp eax, 0x1fff
jle 0x71f59c
cmp eax, 0x202e
jg 0x71f601
add eax, 0xffffe000
cmp eax, 0xb
mov dword [esp + 4], 0
jb case.0x71f2f5.7
jmp case.0x7201c8.6
lea ecx, [eax - 0xa]
cmp ecx, 4
jb 0x72123c
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb 0x72123c
cmp eax, 0x85
mov dword [esp + 4], 0
jne case.0x71f2f5.7
jmp case.0x7201c8.6
lea ecx, [eax - 0xa]
cmp ecx, 4
jb case.0x71f2f5.7
lea ecx, [eax - 0x2028]
cmp ecx, 2
jb case.0x71f2f5.7
cmp eax, 0x85
je case.0x71f2f5.7
jmp 0x72123c
cmp eax, 0x9f
jle 0x71f5e6
cmp eax, 0xa0
je 0x72123c
cmp eax, 0x1680
je 0x72123c
cmp eax, 0x180e
mov dword [esp + 4], 0
jne case.0x71f2f5.7
jmp case.0x7201c8.6
lea ecx, [eax - 0xb]
cmp ecx, 2
jae 0x71f616
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x6c], 0
je case.0x71f2f5.7
jmp 0x72123c
cmp eax, 0x9f
jle 0x71f61b
cmp eax, 0xa0
je case.0x71f2f5.7
cmp eax, 0x1680
je case.0x71f2f5.7
cmp eax, 0x180e
jmp 0x71f623
cmp eax, 0x202f
je 0x72123c
cmp eax, 0x205f
je 0x72123c
cmp eax, 0x3000
mov dword [esp + 4], 0
jne case.0x71f2f5.7
jmp case.0x7201c8.6
cmp eax, 9
je 0x72123c
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x71f2f5.7
jmp case.0x7201c8.6
cmp eax, 0x202f
je case.0x71f2f5.7
cmp eax, 0x205f
je case.0x71f2f5.7
cmp eax, 0x3000
jmp 0x71f623
cmp eax, 0xa
jmp 0x71f623
cmp eax, 9
je case.0x71f2f5.7
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x7201c8.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.00716260
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x71f21b
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
cmp ebx, esi
jb 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
cmp edi, edx
jb 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
cmp byte [esp + 4], 0
je 0x720006
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
dec edi
inc edi
cmp edi, dword [esp + 0x28]
jge 0x721111
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.007224b0
add esp, 0x10
test eax, eax
js 0x721569
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x71f83c
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
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.00716260
add esp, 0x20
cmp dword [esp + 0x34], 0
mov dword [esp + 4], eax
je 0x720715
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x7201c8.6
dec ebx
movzx esi, cx
inc ebx
cmp ebx, dword [esp + 0x10]
jge 0x721111
mov eax, dword [esp + 0x18]
cmp edi, dword [eax]
jae 0x7215c6
movzx eax, word [edi]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x71f967
add edi, 4
jmp 0x71f971
add edi, 2
cmp eax, 0x100
jb 0x71f97f
mov edx, dword [esp + 0x14]
cmp esi, 0x6e
jne 0x71f99b
jmp 0x721111
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 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x71f938
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
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 0x71fbdf
mov eax, dword [esp + 0x158]
mov dword [eax + 0x9c], 2
movzx eax, byte [edx + 0x862738]
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.00716260
add esp, 0x20
cmp eax, 0xfffffc20
je 0x71fc34
test eax, eax
jne 0x721249
mov edx, dword [esp + 0xc]
mov ax, word [edx + 2]
mov esi, dword [esp + 8]
jmp 0x71fc61
movzx eax, word [esi + 2]
lea ecx, [esi + eax*2]
cmp dword [ebp + 0x80], ecx
jae 0x71fc9f
movzx edx, word [esi]
cmp edx, 0x77
mov esi, dword [esp + 8]
jne 0x71fc55
mov edx, dword [esp + 0xc]
jmp 0x71fc61
movzx ecx, word [ecx]
cmp ecx, 0x77
mov edx, dword [esp + 0xc]
jne 0x71fc9f
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 0x71fbc2
xor esi, esi
jmp 0x72125d
mov dword [esp + 4], 0xfffffc20
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp ebx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
cmp eax, 0xfffffffe
jne 0x71fcf5
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 0x71df5a
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jb 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov dword [esp + 4], 0xfffffffa
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp ebp, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
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 0x71ff07
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
mov ecx, dword [esp + 8]
cmp ecx, edi
jbe 0x721111
movzx eax, word [ecx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x2c]
je 0x71ff47
add ecx, 0xfffffffe
jmp 0x71fee9
add ecx, 0xfffffffc
jmp 0x71fee9
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
cmp edi, dword [esp + 0x28]
mov esi, dword [esp + 8]
jge 0x72144d
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.007224b0
add esp, 0x10
test eax, eax
js 0x721403
lea esi, [esi + eax*2]
inc edi
cmp edi, dword [esp + 0x28]
jl 0x720018
jmp 0x72143b
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
dec ebx
inc ebx
cmp ebx, dword [esp + 0x10]
jge 0x721111
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax]
mov eax, ecx
jae 0x7216b6
lea ecx, [eax + 2]
movzx eax, word [eax]
cmp dword [esp + 0x34], 0
je 0x7200e9
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x7200e9
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 0x7200ed
mov dword [esp + 0xc], ecx
sub esp, 4
push dword [esp + 0x38]
push edi
push eax
call fcn.007643c0
add esp, 0x10
test eax, eax
je 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x720089
jmp case.0x7201c8.6
test eax, eax
jne case.0x7201c8.6
dec dword [esp + 0x10]
lea eax, [ebx - 6]
movzx ebx, ax
mov edx, dword [esp + 0x10]
inc edx
cmp edx, ecx
jge 0x72123c
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edi, dword [esp + 0xc]
cmp edi, ecx
jae 0x721718
cmp dword [esp + 8], 0xc
mov dword [esp + 0x10], edx
jne 0x7201b1
mov eax, dword [esp + 0x158]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x7201ef
sub esp, 0xc
push 0
push dword [esp + 0x58]
push ecx
push eax
push edi
call fcn.00763fe0
add esp, 0x20
test eax, eax
je 0x720230
jmp 0x72123c
cmp ebx, 0xf
ja case.default.0x7201c8
lea ebp, [edi + 2]
movzx eax, word [edi]
mov dword [esp + 4], 0xfffffff2
jmp dword [ebx*4 + 0x721ea8]
cmp eax, 0xff
ja case.0x7201c8.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
je case.0x7201c8.7
jmp 0x72123c
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
lea edx, [eax + eax]
sub ecx, edx
cmp edi, ecx
ja 0x720230
movzx ecx, word [edi]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne 0x720230
cmp eax, 1
je 0x72123c
mov edi, dword [esp + 0xc]
movzx eax, word [edi + 2]
mov ecx, dword [esp + 0x158]
cmp ax, word [ecx + 0x36]
je 0x72123c
lea ebp, [edi + 2]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je case.0x7201c8.7
mov ecx, dword [esp + 0x18]
cmp ebp, dword [ecx]
jb case.0x7201c8.7
mov ecx, dword [esp + 0x158]
cmp dword [ecx + 0x18], 0
jne case.0x7201c8.7
mov ecx, dword [esp + 0x48]
cmp dword [ecx], 2
jne case.0x7201c8.7
mov ecx, dword [esp + 0xc]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x158]
cmp cx, word [edx + 0x34]
jne case.0x7201c8.7
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
cmp eax, 1
jle case.0x7201c8.7
jmp 0x7205de
cmp eax, 0xff
ja 0x72123c
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 4
jne case.0x7201c8.7
jmp 0x72123c
cmp eax, 0xff
ja case.0x7201c8.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
je case.0x7201c8.7
jmp 0x72123c
cmp eax, 0xff
ja 0x72123c
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 1
jne case.0x7201c8.7
jmp 0x72123c
cmp eax, 0xff
ja case.0x7201c8.7
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
je case.0x7201c8.7
jmp 0x72123c
cmp eax, 0xff
ja 0x72123c
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
test byte [ecx + eax], 0x10
jne case.0x7201c8.7
jmp 0x72123c
movsx edx, ax
cmp edx, 0xc
jle 0x7204bc
lea edx, [eax - 0x2028]
movzx edx, dx
cmp edx, 2
jb 0x7204cb
movzx eax, ax
cmp eax, 0x85
je 0x7204cb
cmp eax, 0xd
mov dword [esp + 4], 0
jne case.0x7201c8.6
cmp ebp, ecx
jae case.0x7201c8.7
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 2]
cmp eax, 0xa
jne case.0x7201c8.7
mov ebp, dword [esp + 0xc]
add ebp, 4
jmp case.0x7201c8.7
movsx ecx, ax
cmp ecx, 0x1fff
jle 0x72047f
cmp ecx, 0x202e
jg 0x72050d
add eax, 0xffffe000
movzx eax, ax
cmp eax, 0xb
mov dword [esp + 4], 0
jae case.0x7201c8.7
jmp case.0x7201c8.6
movsx ecx, ax
cmp ecx, 0x1fff
jle 0x7204e1
cmp ecx, 0x202e
jg 0x720555
add eax, 0xffffe000
movzx eax, ax
cmp eax, 0xb
mov dword [esp + 4], 0
jb case.0x7201c8.7
jmp case.0x7201c8.6
lea ecx, [eax - 0xa]
movzx ecx, cx
cmp ecx, 4
jb 0x72123c
lea ecx, [eax - 0x2028]
movzx ecx, cx
cmp ecx, 2
jb 0x72123c
movzx eax, ax
cmp eax, 0x85
mov dword [esp + 4], 0
jne case.0x7201c8.7
jmp case.0x7201c8.6
lea ecx, [eax - 0xa]
movzx ecx, cx
cmp ecx, 4
jb case.0x7201c8.7
lea ecx, [eax - 0x2028]
movzx ecx, cx
cmp ecx, 2
jb case.0x7201c8.7
movzx eax, ax
cmp eax, 0x85
je case.0x7201c8.7
jmp 0x72123c
movzx eax, ax
cmp ecx, 0x9f
jle 0x72053a
cmp eax, 0xa0
je 0x72123c
cmp eax, 0x1680
je 0x72123c
cmp eax, 0x180e
mov dword [esp + 4], 0
jne case.0x7201c8.7
jmp case.0x7201c8.6
lea ecx, [eax - 0xb]
movzx ecx, cx
cmp ecx, 2
jae 0x72056d
mov eax, dword [esp + 0x158]
cmp dword [eax + 0x6c], 0
je case.0x7201c8.7
jmp 0x72123c
movzx eax, ax
cmp ecx, 0x9f
jle 0x720575
cmp eax, 0xa0
je case.0x7201c8.7
cmp eax, 0x1680
je case.0x7201c8.7
cmp eax, 0x180e
jmp 0x72057d
movzx eax, ax
cmp eax, 0x202f
je 0x72123c
cmp eax, 0x205f
je 0x72123c
cmp eax, 0x3000
mov dword [esp + 4], 0
jne case.0x7201c8.7
jmp case.0x7201c8.6
cmp eax, 9
je 0x72123c
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x7201c8.7
jmp case.0x7201c8.6
movzx eax, ax
cmp eax, 0x202f
je case.0x7201c8.7
cmp eax, 0x205f
je case.0x7201c8.7
cmp eax, 0x3000
jmp 0x72057d
movzx eax, ax
cmp eax, 0xa
jmp 0x72057d
cmp eax, 9
je case.0x7201c8.7
cmp eax, 0x20
mov dword [esp + 4], 0
jne case.0x7201c8.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.00716260
mov ecx, dword [esp + 0x48]
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov dword [esp + 0xc], ebp
je 0x720158
jmp case.0x7201c8.6
mov dword [esp + 4], 0xfffffff2
jmp case.0x7201c8.6
mov dword [esp + 4], 0xfffffff4
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
mov ecx, dword [esp + 8]
cmp ecx, dword [esp + 0xc]
jbe 0x721111
lea edi, [ecx - 2]
cmp dword [esp + 0x34], 0
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x2c]
je 0x720664
movzx eax, word [ecx - 2]
and eax, 0xfc00
cmp eax, 0xdc00
mov edx, dword [esp + 0x14]
jne 0x720668
add ecx, 0xfffffffc
mov edi, ecx
jmp 0x720668
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov dword [esp + 8], edi
je 0x720626
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x7201c8.6
movzx esi, cx
cmp ebx, dword [esp + 0x10]
jge 0x721111
mov eax, dword [esp + 0x18]
cmp edi, dword [eax]
jae 0x721756
movzx eax, word [edi]
cmp eax, 0x100
mov edx, dword [esp + 0x14]
jb 0x720752
cmp esi, 0x6e
jne 0x720770
jmp 0x721111
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 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
je 0x720724
jmp case.0x7201c8.6
mov dword [esp + 4], 0
cmp dword [esp + 8], edi
jb case.0x7201c8.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.00716260
add esp, 0x20
test eax, eax
jne 0x72149d
add ebx, 0xfffffffe
mov dword [esp + 4], 0
mov dword [esp + 8], ebx
cmp ebx, edi
jae 0x7207c0
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x7201c8.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, eax
jge 0x721111
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp edx, dword [eax]
jae 0x721790
lea eax, [edx + 2]
cmp dword [esp + 0x34], 0
je 0x720883
movzx ecx, word [edx]
and ecx, 0xfc00
cmp ecx, 0xd800
je 0x720889
mov dword [esp + 0xc], eax
jmp 0x720890
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 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x720847
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x7201c8.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x721111
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x7217ce
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x720977
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x720977
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 0x72097b
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 + 0x8649f0]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x866bf0]
movzx eax, byte [eax*8 + 0x863371]
add al, 0xfb
xor ecx, ecx
cmp al, 4
ja 0x7209cb
movsx eax, al
mov ecx, dword [eax*4 + 0x862620]
cmp dword [esp + 0x44], ecx
mov edx, dword [esp + 0x14]
je 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x720917
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x7201c8.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x721111
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x72180c
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x720aa6
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x720aa6
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 0x720aaa
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 + 0x8649f0]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x866bf0]
movzx eax, byte [eax*8 + 0x863371]
xor ecx, ecx
mov edx, dword [esp + 0x54]
cmp dword [eax*4 + 0x86284c], edx
sete cl
cmp dword [esp + 0x44], ecx
je 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x720a46
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x7201c8.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x721111
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x72184a
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x720bd3
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x720bd3
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 0x720bd7
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 + 0x8649f0]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x866bf0]
movzx eax, byte [eax*8 + 0x863371]
xor ecx, ecx
cmp dword [esp + 0x54], eax
sete cl
cmp dword [esp + 0x44], ecx
je 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x720b73
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x7201c8.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x721111
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x721888
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x720cf9
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x720cf9
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 0x720cfd
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 + 0x8649f0]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x866bf0]
movzx eax, byte [eax*8 + 0x863370]
xor ecx, ecx
cmp dword [esp + 0x54], eax
sete cl
cmp dword [esp + 0x44], ecx
je 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x720c99
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x7201c8.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x721111
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x7218c6
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x720e1f
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x720e1f
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 0x720e23
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 + 0x8649f0]
shl ecx, 7
sub eax, edx
add eax, ecx
movzx eax, word [eax + eax + 0x866bf0]
movzx eax, byte [eax*8 + 0x863371]
mov eax, dword [eax*4 + 0x86284c]
or eax, 2
xor ecx, ecx
cmp eax, 3
sete cl
cmp dword [esp + 0x44], ecx
je 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x720dbf
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x7201c8.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x721111
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x721904
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x720f4e
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x720f4e
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 0x720f52
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 + 0x8649f0]
shl ecx, 7
mov esi, eax
sub esi, edx
add esi, ecx
movzx ecx, word [esi + esi + 0x866bf0]
movzx ecx, byte [ecx*8 + 0x863371]
mov ecx, dword [ecx*4 + 0x86284c]
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 0x721111
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x720eee
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov ecx, dword [esp + 0x28]
jne case.0x7201c8.6
mov eax, dword [esp + 0x54]
lea ebx, [eax*4 + 0x863238]
cmp dword [esp + 0x10], ecx
jge 0x721111
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0xc]
cmp edi, dword [eax]
jae 0x721937
lea ecx, [edi + 2]
movzx eax, word [edi]
cmp dword [esp + 0x34], 0
je 0x721084
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x721084
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [edi + 2]
add edi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x721086
mov edi, ecx
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx*4 + 0x863234]
cmp eax, ecx
jb 0x7210a4
mov edx, ebx
cmp eax, ecx
je 0x7210bb
mov ecx, dword [edx]
add edx, 4
cmp eax, ecx
jae 0x721097
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x14]
jne 0x7210d1
jmp 0x72123c
cmp dword [esp + 0x44], 0
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x14]
jne 0x72123c
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov ecx, dword [esp + 0x28]
je 0x72102f
jmp case.0x7201c8.6
mov dword [esp + 4], 0
jmp case.0x7201c8.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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
jne case.0x7201c8.6
dec dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
inc ecx
cmp ecx, eax
jge 0x72123c
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax]
jae 0x721966
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
movzx eax, word [esi]
cmp dword [esp + 0x34], 0
je 0x7211b0
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x7211b0
shl eax, 0xa
and eax, 0xffc00
movzx ecx, word [esi + 2]
add esi, 4
and ecx, 0x3ff
lea eax, [eax + ecx + 0x10000]
jmp 0x7211b2
mov esi, ecx
mov dword [esp + 0xc], esi
mov cl, 1
cmp eax, 0x24
je 0x7211ed
cmp eax, 0x40
je 0x7211ed
cmp eax, 0x60
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
je 0x7211f8
lea ecx, [eax - 0xa0]
cmp ecx, 0xd760
setb dl
cmp eax, 0xdfff
seta cl
or cl, dl
jmp 0x7211f8
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x2c]
movzx eax, cl
cmp dword [esp + 0x44], eax
mov edx, dword [esp + 0x14]
je 0x72123c
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
mov eax, dword [esp + 0x28]
je 0x721154
jmp case.0x7201c8.6
mov dword [esp + 4], 0
jmp case.0x7201c8.6
mov esi, 0xfffffc1b
cmp eax, 0xfffffc1b
mov dword [esp + 4], eax
jne case.0x7201c8.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.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
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.00716260
add esp, 0x20
jmp 0x71d772
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
cmp eax, 0xfffffffe
jne 0x72143b
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x72143b
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x24]
cmp ecx, dword [edx]
jbe 0x72143b
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
mov dword [esp + 4], 0
cmp esi, dword [esp + 8]
jb case.0x7201c8.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.00716260
add esp, 0x20
test eax, eax
jne 0x72149d
add esi, edi
mov dword [esp + 4], 0
cmp esi, dword [esp + 8]
jae 0x721457
jmp case.0x7201c8.6
mov dword [esp + 4], eax
jmp case.0x7201c8.6
mov dword [esp + 4], ecx
jmp case.0x7201c8.6
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
cmp eax, 0xfffffffe
jne 0x721578
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 0x71df5a
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jb 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
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.00716260
add esp, 0x20
mov dword [esp + 4], eax
test eax, eax
jne case.0x7201c8.6
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xb8], ecx
mov dword [esp + 4], 0xfffffc1b
jmp case.0x7201c8.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 0x71e782
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
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 0x72133c
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x71df5a
mov ecx, dword [esp + 0x24]
cmp edi, dword [ecx]
jbe 0x71df5a
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x71df5a
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.6
jmp 0x721993
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, eax
je 0x721993
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
cmp edx, dword [ecx]
jbe 0x721993
mov ecx, dword [esp + 0x20]
mov dword [ecx], 1
mov dword [esp + 4], 0xfffffff4
cmp eax, 1
jg case.0x7201c8.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.0x7201c8.6