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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
push ebx
push esi
push edi
mov edi, edx
mov eax, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 8], eax
test edi, edi
je 0x17326a
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x44], 0
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x50]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x1c], ecx
cmp eax, dword [ebx + 4]
jae 0x17b879
inc eax
mov dword [ebx], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebx + 8]
jae 0x17b86f
cmp dword [ebx + 0x9c], 2
je 0x17329b
lea esp, [esp]
movzx ecx, word [edi]
xor edx, edx
mov esi, ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], edx
cmp esi, 0xa1
ja case.0xfa384.98
movzx eax, byte [esi + 0xfae7c]
jmp dword [eax*4 + 0xfad30]
cmp esi, 0x88
jae 0x179938
cmp esi, 0x81
je 0x179938
cmp dword [ebx + 0x70], 0
jne 0xfac56
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
je 0xfac56
movzx eax, word [edi]
movzx eax, byte [eax + 0x18e560]
lea edi, [edi + eax*2]
mov dword [ebp - 0x34], edi
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
jb 0xfa340
jmp 0x17b879
movzx eax, word [edi + 2]
add eax, eax
mov esi, edi
sub esi, eax
mov ecx, 0x88
movzx eax, word [esi]
mov dword [ebp - 0x20], esi
cmp ax, cx
jae 0x173ec2
mov ecx, 0x81
cmp ax, cx
je 0x173ec2
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp eax, 0x7d
jb 0xfa42b
mov edx, 0x80
cmp ax, dx
jbe 0x179acd
mov edx, 0x82
cmp ax, dx
je 0x179acd
mov edx, 0x85
cmp ax, dx
je 0xfa7d5
mov edx, 0x8a
cmp ax, dx
je 0xfa7d5
mov edx, 0x86
cmp ax, dx
je 0xfa7d5
mov edx, 0x8b
cmp ax, dx
je 0xfa7d5
mov edx, dword [ebp + 0xc]
cmp word [edi], 0x78
jne 0x173f38
mov eax, 0x81
cmp word [esi], ax
je 0x179a9a
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0xfa360
mov edx, dword [ebp - 8]
mov edi, dword [ebp + 8]
cmp edx, edi
je 0x17b815
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x80], edi
test esi, esi
jne 0x17b85b
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, word [edi + 0x22]
lea eax, [edi + 2]
add edi, 0x22
mov dword [ebp - 0x38], eax
mov eax, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0xc], eax
cmp eax, 0x6d
jle 0xfabae
mov eax, 1
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], 1
test ecx, ecx
je 0x175164
cmp eax, 1
jl 0xfac0c
mov ecx, dword [ebx + 0x7c]
lea esp, [esp]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0xfaba5
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
je 0x17512e
cmp ecx, 0xff
ja 0x175156
mov ebx, dword [ebp - 0x38]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x2c]
shr ecx, 3
test byte [ecx + ebx], al
mov ebx, dword [ebp + 0x10]
jne 0xfa681
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], esi
cmp eax, esi
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0xfa5ae
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x174e68
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0xfa5d0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b10a]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
cmp eax, esi
jae 0xfa669
mov edi, dword [ebp - 0x1c]
mov ebx, eax
movzx ecx, word [ebx]
mov esi, 1
test edi, edi
je 0xfa60f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x174e8d
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0xfa631
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x2c]
add eax, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx ecx, byte [eax*8 + 0x19b10a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x18e52c], eax
jne 0xfa74d
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x34]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
jne 0x174eb1
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0xfa360
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x7c]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x28]
jle 0xfa520
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
cmp dword [ebp - 0x28], ebx
mov ebx, dword [ebp + 0x10]
je 0xfa360
test edx, edx
jne 0x179c6e
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
test ecx, ecx
je 0x175240
cmp edx, dword [ebp - 0x18]
jge 0xfa718
mov dword [ebp - 0x2c], 1
cmp eax, dword [ebx + 0x7c]
jae 0x17520e
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x20], ecx
cmp eax, 0xd800
je 0x1751d4
cmp ecx, 0xff
ja 0x175200
shr dword [ebp - 0x20], 3
mov ebx, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
jne 0xfacd9
cmp dword [ebp - 0x30], 0
jne 0xfa360
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
jmp 0x179c24
lea ebx, [ebx + esi*2]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
cmp ebx, esi
jb 0xfa5f1
jmp 0xfa65d
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
cmp dword [ebp - 0x1c], edx
je 0x17565a
movzx esi, word [edi + 2]
add edi, 2
mov eax, esi
and eax, 0xfc00
mov edx, 1
cmp eax, 0xd800
je 0x1755aa
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp esi, 0x80
jae 0x1755ce
cmp ecx, 0xff
ja 0xfa7b7
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebx + 0x3c]
movzx eax, byte [eax + esi]
cmp eax, ecx
jne case.0xfa384.157
add edi, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x34], edi
jmp 0xfa360
movzx edx, word [esi + 4]
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x173ed2
mov eax, dword [ebx + 0x94]
mov esi, dword [ebp - 0x40]
and eax, 0xffff0000
or eax, edx
mov dword [ebx + 0x94], eax
cmp esi, dword [ebx + 0x14]
mov esi, dword [ebp - 0x20]
jge 0x173ef7
mov ecx, dword [ebp + 0xc]
cmp dword [ebp - 0x40], ecx
jg 0x173f07
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x14]
cmp edx, eax
jg 0xfa474
lea edx, [eax + 2]
mov dword [ebp + 0xc], edx
jmp 0xfa474
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0xfa886
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x174c33
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x2c]
sar eax, 7
movzx ecx, byte [eax + 0x19c4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0xfa8ac
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [edi + 2]
movzx ecx, word [ecx*2 + 0x18e608]
cmp eax, 9
jne 0x174c5b
movzx eax, word [edi + 4]
mov ecx, dword [eax*4 + 0x19e6a0]
lea eax, [eax*4 + 0x19e6a0]
cmp edx, ecx
jb 0x174e5a
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0xfa8f2
mov ecx, dword [eax]
cmp edx, ecx
jae 0xfa8e0
jmp 0x174e5a
cmp esi, 0x10
jne case.0xfa384.157
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0xfa360
cmp dword [ebp - 0x1c], edx
je 0x17557b
mov ax, word [edi + 2]
add edi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xd800
mov esi, 1
mov dword [ebp - 0x34], edi
cmp ax, cx
je 0xfad1e
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp esi, eax
jg 0x179eca
test esi, esi
jle 0xfa360
mov edi, edi
mov cx, word [edi]
mov ax, word [edx]
add edx, 2
add edi, 2
dec esi
mov dword [ebp - 8], edx
mov dword [ebp - 0x34], edi
cmp cx, ax
jne case.0xfa384.157
test esi, esi
jle 0xfa360
jmp 0xfa950
movzx edx, word [edi + 4]
mov dword [ebp - 0xc], edx
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
cmp eax, dword [ebx + 0x14]
jge case.0xfa384.129
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0xc]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ecx], eax
lea esp, [esp]
cmp esi, 0x88
jae 0x17b50a
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x18e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.000fa300
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x17b561
cmp edx, 0xfffffc20
je 0x17b519
test edx, edx
je 0x17b53e
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esi - 0x55]
add edi, 2
test al, 1
je 0xfad28
mov edx, 1
movsx ecx, byte [eax + 0x18e47c]
movsx eax, byte [eax + 0x18e520]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
test eax, eax
jne 0xfaa63
mov dword [ebp - 0x24], 0x7fffffff
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], edi
cmp eax, 0x10
je 0x17650e
cmp eax, 0xf
je 0x176505
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x17652a
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x30]
je 0xfa360
test edx, edx
mov edx, dword [ebp - 0x2c]
je 0x177d66
test edx, edx
jns 0x17a2e0
cmp dword [ebp - 0x28], 0x16
mov edx, edi
je 0x17ac56
test eax, eax
mov eax, dword [ebp + 0x18]
je 0x17b15e
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov esi, dword [ebp - 8]
lea ecx, [ecx]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0xfa384.157
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x179eb2
cmp dword [ebp - 0x28], 0xc
jne 0xfab37
cmp dword [ebx + 0x18], 0
je 0x17ae0f
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.000f8ffe
add esp, 0xc
test eax, eax
jne case.0xfa384.157
mov ecx, dword [ebp - 0x10]
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
je 0x17ae48
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x17ae69
cmp dword [ebx + 0x8c], 0
jne 0x17b11c
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
jmp 0xfaaf0
cmp dword [ebx + 0x8c], edx
je case.0xfa384.157
jmp 0x179c19
cmp dword [ebx + 0x8c], 0
jmp 0xfab9a
sub eax, 0x62
cmp eax, 0xb
ja case.default.0xfabc1
movzx eax, byte [eax + 0xfaf28]
jmp dword [eax*4 + 0xfaf20]
mov ecx, dword [ebp - 0xc]
add ecx, 0xffffff9e
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jb 0xfaccd
mov dword [ebp - 0x30], 1
movsx eax, byte [ecx + 0x18e47c]
movsx ecx, byte [ecx + 0x18e520]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0xfa4fb
mov dword [ebp - 0x18], 0x7fffffff
jmp 0xfa4fb
mov eax, dword [ebp - 8]
jmp 0xfa69a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je case.0xfa384.119
mov dword [ebp - 0x34], edi
jmp 0xfa360
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
add edi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
jmp 0x173bb0
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x18e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.000fa300
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x179947
test edx, edx
jne 0x17b58b
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x77
jne case.0xfa384.157
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
jmp case.0xfa384.129
test cl, 1
jne 0xfad14
xor edx, edx
jmp 0xfabe4
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x2c]
inc edx
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jge 0xfa718
jmp 0xfa6c4
mov dword [ebp - 0x20], edx
jmp 0x173c44
add edi, 2
jmp 0x173c09
mov eax, dword [ebp - 8]
jmp 0x173fd0
mov esi, dword [ebp - 0x1c]
jmp 0x1745e5
mov edx, 1
jmp 0xfabe4
mov esi, 2
jmp 0xfa934
xor edx, edx
jmp 0xfaa41
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x17328c
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.000fa300
add esp, 0x14
jmp 0xfa4c7
sub ecx, eax
test ecx, ecx
jle 0x173294
neg ecx
mov eax, ecx
jmp 0xfa4c7
mov eax, dword [ebp - 8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
mov dword [ebp + 0x14], eax
mov dword [ebx + 0x9c], 0
jmp 0xfa360
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x179973
movzx eax, word [edi]
movzx ecx, byte [eax + 0x18e560]
movzx eax, word [edi + 2]
add ecx, eax
lea edi, [edi + ecx*2]
mov dword [ebp - 0x34], edi
jmp 0xfa360
mov eax, dword [ebp - 8]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
lea edx, [edi + 4]
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
cmp eax, 1
je 0x17336a
cmp eax, 0xfffffc20
jne 0x173347
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0xfa4c7
cmp word [edi], 0x77
je 0x17334f
cmp word [ecx], 0x77
jne 0xfa4c7
jmp 0x17334f
test eax, eax
jne 0xfa4c7
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x77
je 0x1732fb
mov ecx, dword [ebp + 8]
jmp 0x173373
mov ecx, dword [ebx + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [edi]
mov edx, 0x82
cmp ax, dx
je 0x173389
cmp eax, 0x77
jne case.0xfa384.157
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x173389
cmp word [edi], 0x78
mov edx, dword [ebx + 0x90]
mov eax, dword [ebx + 0x84]
mov dword [ebp + 0xc], edx
mov dword [ebp - 8], eax
je 0x175d9a
cmp eax, dword [ebp - 0x14]
jne 0x179765
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0xfa360
movzx ecx, word [edi + 2]
add edi, 4
mov dword [ebp - 0x28], ecx
cmp word [edi], 0x76
jne 0x1734aa
cmp dword [0x1b330c], edx
je 0x1734a1
mov dword [ebp - 0xa4], 2
movzx eax, word [edi + 2]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x8c], eax
movzx eax, word [edi + 4]
mov dword [ebp - 0x7c], eax
movzx eax, word [edi + 6]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x88], eax
movzx eax, word [ebx + 0x94]
mov dword [ebp - 0x84], eax
test eax, eax
jne 0x17346e
mov dword [ebp - 0x84], 0xffffffff
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0xa4]
push eax
call dword [0x1b330c]
add esp, 4
test eax, eax
jg case.0xfa384.157
js 0xfa4c7
mov ecx, dword [ebp - 0x28]
add edi, 8
sub ecx, 4
mov dword [ebp - 0x28], ecx
movzx eax, word [edi]
mov dword [ebp - 0x14], eax
xor edx, edx
add eax, 0xffffff73
mov dword [ebp - 0x2c], edx
cmp eax, 4
ja case.default.0x1734c3
jmp dword [eax*4 + 0x17b886]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x17366a
movzx eax, word [edi + 2]
cmp eax, 0xffff
je 0x173569
cmp eax, dword [ecx + 4]
je 0x173569
xor edx, edx
jmp 0x17366a
mov eax, dword [ebx + 0xa8]
test eax, eax
je case.0x1734c3.145
mov eax, dword [ebx + 0x24]
movzx ecx, word [edi + 2]
imul ecx, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [edi + 4]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jle 0x17366a
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 4]
mov dword [ebp - 0xc], edx
xor edx, edx
movzx eax, word [eax]
dec ecx
cmp eax, dword [ebp - 0xc]
je 0x173569
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x20]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x173531
jmp 0x17366a
movzx edx, word [edi + 2]
add edx, edx
mov dword [ebp - 0x40], edx
cmp edx, dword [ebp + 0xc]
jge 0x17357d
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jl 0x17357d
mov eax, dword [ebp - 0x14]
mov edx, 1
movzx ecx, byte [eax + 0x18e560]
jmp case.0x1734c3.145
xor edx, edx
jmp case.0x1734c3.145
mov eax, dword [ebx + 0x24]
movzx ecx, word [edi + 2]
imul ecx, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [edi + 4]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jle 0x17366a
xor edx, edx
movzx ebx, word [eax]
add ebx, ebx
dec ecx
cmp ebx, dword [ebp + 0xc]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp + 0x10]
jge 0x1735ca
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x40]
cmp dword [eax + ebx*4], edx
mov ebx, dword [ebp + 0x10]
jge 0x173569
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0xc]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x1735a8
jmp 0x17366a
mov ecx, dword [ebp - 8]
mov dword [ebx + 0x9c], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
cmp eax, 1
jne 0x173658
mov eax, dword [ebx + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x173617
mov dword [ebp + 0xc], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
mov edx, 1
jne 0x173638
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x17362a
mov eax, dword [ebp - 0x14]
mov ecx, 2
movzx eax, byte [eax + 0x18e560]
sub ecx, eax
mov eax, dword [ebp - 0x14]
lea edi, [edi + ecx*2]
movzx ecx, byte [eax + 0x18e560]
jmp case.0x1734c3.145
test eax, eax
je 0x173667
cmp eax, 0xfffffc20
jne 0xfa4c7
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
lea edi, [edi + ecx*2]
mov dword [ebp - 0x34], edi
test edx, edx
jne 0x173682
cmp word [edi - 4], 0x77
jne 0xfa360
cmp esi, 0x8c
jne 0xfa3d1
mov ecx, dword [ebp - 8]
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
jmp 0xfa4c7
movzx edx, word [edi + 2]
mov eax, dword [ebx + 0x94]
and eax, 0xffff0000
or eax, edx
lea esi, [edx + edx]
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x40], esi
cmp esi, dword [ebx + 0x14]
jl 0x1736f1
or eax, 0x10000
add edi, 4
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x34], edi
jmp 0xfa360
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + esi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0xc]
sar ecx, 1
mov dword [eax + esi*4 + 4], ecx
cmp dword [ebp + 0xc], esi
jg 0x173719
lea eax, [esi + 2]
mov dword [ebp + 0xc], eax
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0xfa360
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x173743
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x173745
xor esi, esi
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push ebx
push dword [ebp + 0xc]
lea edx, [edi + 4]
push dword [ebp + 8]
call fcn.000fa300
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x1737be
cmp ecx, 0xfffffc19
je 0x1737be
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x1737a6
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x173294
cmp word [edi], 0x77
je 0x1737ae
cmp word [eax], 0x77
jne 0x173294
jmp 0x1737ae
test ecx, ecx
jne 0x173294
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x173745
jmp 0x1737c7
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
cmp word [edi], 0x78
je case.0xfa384.157
test esi, esi
jne 0xfa4c2
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x1737d9
mov eax, dword [ebx + 0x90]
add edi, 4
mov dword [ebp - 0x34], edi
mov dword [ebp + 0xc], eax
jmp 0xfa360
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x17381a
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x17381c
xor esi, esi
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push ebx
push dword [ebp + 0xc]
lea edx, [edi + 4]
push dword [ebp + 8]
call fcn.000fa300
mov ecx, eax
mov eax, dword [ebp - 0xc]
add esp, 0x14
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jg 0x173878
jne 0x17388d
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x1738a8
cmp word [edi], 0x77
je 0x173868
cmp word [eax], 0x77
jne 0x1738a8
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x17381c
jmp 0x1738b6
mov eax, ecx
sub eax, 0
je 0x173868
dec eax
je case.0xfa384.157
mov eax, ecx
jmp 0xfa4c7
cmp ecx, 0xfffffc19
je case.0xfa384.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x173294
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x1738a8
test esi, esi
jne 0xfa4c2
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0xfa360
cmp dword [ebp - 0x1c], edx
je 0x17390d
movzx ecx, word [edi + 2]
test ecx, ecx
jle 0x173927
mov eax, dword [ebp - 8]
sub eax, 2
dec ecx
mov dword [ebp - 8], eax
cmp eax, dword [ebx + 0x78]
jb case.0xfa384.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x173907
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x1738d6
jmp 0x17392a
movzx eax, word [edi + 2]
mov ecx, dword [ebp - 8]
neg eax
lea ecx, [ecx + eax*2]
mov eax, ecx
mov dword [ebp - 8], ecx
cmp eax, dword [ebx + 0x78]
jb case.0xfa384.157
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x88]
jae 0x173938
mov dword [ebx + 0x88], eax
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0xfa360
cmp dword [0x1b330c], edx
je 0x173a12
mov dword [ebp - 0xd8], 2
movzx eax, word [edi + 2]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp + 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc0], eax
movzx eax, word [edi + 4]
mov dword [ebp - 0xb0], eax
movzx eax, word [edi + 6]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xbc], eax
movzx eax, word [ebx + 0x94]
mov dword [ebp - 0xb8], eax
test eax, eax
jne 0x1739dc
mov dword [ebp - 0xb8], 0xffffffff
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xd8]
push eax
call dword [0x1b330c]
add esp, 4
test eax, eax
jg case.0xfa384.157
js 0xfa4c7
add edi, 8
mov dword [ebp - 0x34], edi
jmp 0xfa360
movzx eax, word [edi + 2]
mov ecx, dword [ebx + 0x74]
lea esi, [ecx + eax*2]
cmp esi, ecx
jne 0x173a2f
xor edx, edx
jmp 0x173a33
movzx edx, word [esi + 4]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x173a5a
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x173a54
cmp eax, dword [ecx + 0x14]
jne 0x173a54
mov eax, 0xffffffe6
jmp 0xfa4c7
mov ecx, dword [ecx]
test ecx, ecx
jne 0x173a40
mov dword [ebp - 0x58], edx
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov ecx, dword [ebx + 0x10]
add edi, 4
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x50], ecx
cmp ecx, 0x1e
jg 0x173a9a
lea eax, [ebp - 0x154]
mov dword [ebp - 0x54], eax
jmp 0x173ab9
lea eax, [ecx*4]
push eax
call dword [0x1abddc]
add esp, 4
mov dword [ebp - 0x54], eax
test eax, eax
je 0x179a07
mov ecx, dword [ebp - 0x50]
shl ecx, 2
push ecx
push dword [ebx + 0xc]
push eax
call fcn.0010ee80
mov eax, 0x88
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x173ae5
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [esi]
push ebx
movzx eax, byte [eax + 0x18e560]
push dword [ebp + 0xc]
lea edx, [esi + eax*2]
push dword [ebp + 8]
call fcn.000fa300
mov ecx, dword [ebp - 0x50]
add esp, 0x14
shl ecx, 2
push ecx
push dword [ebp - 0x54]
mov dword [ebp - 0xc], eax
push dword [ebx + 0xc]
call fcn.0010ee80
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 0x94], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0xc]
add esp, 0xc
cmp eax, 1
je 0x173b82
cmp eax, 0xfffffc19
je 0x173b82
cmp eax, 0xfffffc1c
jl 0x173b57
cmp eax, 0xfffffc20
jle case.0xfa384.157
test eax, eax
jne 0x1799e4
lea eax, [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x77
lea esi, [esi + eax*2]
jne 0x1799bb
mov eax, dword [ebp - 0x2c]
jmp 0x173ad7
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je 0x173b99
push eax
call dword [0x1ab80c]
add esp, 4
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0xfa360
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x173bb0
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0xfa360
add edi, 2
mov dword [ebp - 0x34], edi
mov edx, edi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x173bd1
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
add edx, 4
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0xfa360
jmp 0xfa4c7
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x173c09
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0xfa360
movzx esi, word [edi + 2]
add edi, 2
mov dword [ebp - 0x20], 1
cmp esi, 0x86
je 0x173c44
cmp esi, 0x8b
jne 0x173dc8
movzx edx, word [edi + 4]
mov dword [ebp - 0x14], edx
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
cmp eax, dword [ebx + 0x14]
jge case.0xfa384.132
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, edi
sub eax, dword [ebx + 0x74]
sar eax, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0x14]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 8]
sub edx, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp esi, 0x88
jb 0x173cba
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x18e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.000fa300
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x173d25
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x74]
lea edi, [eax + ecx*2]
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x173c94
cmp ecx, 0xfffffc20
jne 0x173d52
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x173294
cmp word [edi], 0x77
je 0x173d5a
cmp word [eax], 0x77
jne 0x173294
jmp 0x173d5a
test ecx, ecx
jne 0x173294
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x173c94
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x173da4
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x18]
mov dword [eax + edx*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x34]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x20], 0
jne 0x175d9a
test eax, eax
je case.0xfa384.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0xfa360
mov dword [ebp - 0x20], 0
mov eax, edi
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0x2c], 0
sar eax, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x14], eax
cmp esi, 0x88
jb 0x173df4
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x18e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.000fa300
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x173e52
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x74]
mov dword [ebp - 0x2c], 1
lea edi, [eax + ecx*2]
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x173de2
cmp ecx, 0xfffffc20
jne 0x173e7f
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x173294
cmp word [edi], 0x77
je 0x173e87
cmp word [eax], 0x77
jne 0x173294
jmp 0x173e87
test ecx, ecx
jne 0x173294
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
jne 0x173ea3
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x94], eax
jmp 0x173de2
cmp dword [ebp - 0x2c], 0
jne 0x175d9a
cmp dword [ebp - 0x20], 0
je case.0xfa384.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0xfa360
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov dword [ebp + 0x14], edx
jmp 0xfa415
cmp dword [eax + 4], edx
jne 0xfa7ed
mov eax, dword [ebp - 8]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x80], eax
mov eax, 1
jmp 0xfa4c7
or eax, 0x10000
mov dword [ebx + 0x94], eax
jmp 0xfa471
mov eax, dword [ebx + 0xc]
lea ecx, [eax + ecx*4]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x40]
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
jae 0xfa81b
mov edi, dword [ebp - 0x2c]
sub ecx, eax
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
jmp 0xfa81b
mov eax, dword [ebp - 8]
cmp eax, ecx
je 0xfa47e
movzx ecx, word [edi]
cmp ecx, 0x7b
je 0x179a7b
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push edx
push dword [ebp + 8]
cmp ecx, 0x7a
jne 0x1797af
mov esi, dword [ebp - 8]
lea edx, [edi + 4]
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov edi, dword [ebp - 0x20]
mov ecx, 0x81
movzx eax, word [edi]
cmp ax, cx
je 0x179a11
mov ecx, 0x88
cmp ax, cx
jb 0xfa3ce
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
jmp 0xfa4c7
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x173fd0
cmp eax, dword [ebx + 0x78]
je case.0xfa384.157
cmp eax, dword [ebx + 0x78]
jne case.0xfa384.157
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0xfa360
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x173ff5
cmp eax, dword [ebx + 0x78]
je case.0xfa384.157
mov ecx, dword [ebx + 0x78]
cmp eax, ecx
je 0xfa676
cmp eax, dword [ebx + 0x7c]
je case.0xfa384.157
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x174038
cmp eax, ecx
jbe case.0xfa384.157
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0016135c
add esp, 0xc
test eax, eax
je case.0xfa384.157
jmp 0xfa676
mov esi, dword [ebx + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp dword [ebp - 8], eax
jb case.0xfa384.157
mov ecx, dword [ebp - 8]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne case.0xfa384.157
cmp esi, 1
je 0xfa676
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
jne case.0xfa384.157
jmp 0xfa676
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp dword [ebp - 8], eax
jne case.0xfa384.157
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0xfa360
mov eax, dword [ebp - 8]
add edi, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x34], edi
jmp 0xfa360
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x17416e
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x174137
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.000f8ffe
add esp, 0xc
test eax, eax
jne 0xfa676
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0xfa384.157
add eax, 2
cmp eax, dword [ebx + 0x7c]
jb case.0xfa384.157
cmp dword [ebx + 0x18], 0
jne case.0xfa384.157
cmp dword [ebx + 0x1c], 2
jne case.0xfa384.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne case.0xfa384.157
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0xfa384.157
mov eax, 0xfffffff4
jmp 0xfa4c7
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x1740dc
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x1740d9
cmp edx, 1
je 0xfa676
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x1740d9
jmp 0xfa676
cmp dword [ebx + 0x4c], edx
jne case.0xfa384.157
cmp dword [ebx + 0x8c], edx
jmp 0x174186
cmp dword [ebx + 0x8c], 0
je 0xfa676
cmp eax, dword [ebx + 0x88]
jbe 0xfa676
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0xfa360
cmp dword [ebx + 0x4c], edx
jne case.0xfa384.157
cmp dword [ebx + 0x5c], edx
je case.0xfa384.23
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jb case.0xfa384.157
cmp dword [ebx + 0x8c], edx
jmp 0x174186
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x17417f
mov edx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
test edx, edx
je 0x174201
push dword [ebp - 0x1c]
push esi
push ecx
mov ecx, eax
call fcn.000f8ffe
add esp, 0xc
test eax, eax
jne 0x174236
jmp 0x1740d9
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x1740dc
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x1740d9
cmp edx, 1
je 0x174236
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x1740d9
mov ecx, dword [esi]
mov eax, dword [ebx + 0x7c]
add ecx, ecx
sub eax, ecx
cmp dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jne 0x1740dc
jmp 0x17417f
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x1c], edx
je 0x174401
cmp eax, dword [ebx + 0x78]
je 0x174339
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x174280
sub edx, 2
cmp edx, dword [ebx + 0x88]
jae 0x17428e
mov dword [ebx + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1742b9
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebx + 0x58], 0
je 0x17431b
cmp ecx, 0x5f
jne 0x1742cc
mov eax, dword [ebp - 8]
lea esi, [ecx - 0x5e]
jmp 0x17433b
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x1742ee
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x174311
cmp eax, 3
jne 0x174336
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x17433b
cmp ecx, 0x100
jae 0x174336
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x174336
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x17433b
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x1743a3
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17436e
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax + 2]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebx + 0x58], 0
je 0x1743ea
cmp ecx, 0x5f
je 0x17452a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
js 0x1744d6
jmp 0x1744db
cmp dword [ebx + 0x8c], 0
je 0x1743c8
cmp eax, dword [ebx + 0x88]
jbe 0x1743c8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
xor ecx, ecx
mov ax, word [edi]
add edi, 2
mov dword [ebp - 0x34], edi
cmp ax, 5
jne 0x174534
cmp ecx, esi
jne 0xfa360
jmp case.0xfa384.157
cmp ecx, 0x100
jae 0x1743c8
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne 0x17452a
jmp 0x1743c8
cmp eax, dword [ebx + 0x78]
je 0x1744a0
cmp eax, dword [ebx + 0x88]
ja 0x17441e
add eax, 0xfffffffe
mov dword [ebx + 0x88], eax
mov eax, dword [ebp - 8]
movzx ecx, word [eax - 2]
cmp dword [ebx + 0x58], edx
je 0x174480
cmp ecx, 0x5f
jne 0x174431
lea esi, [ecx - 0x5e]
jmp 0x1744a2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x174453
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x174476
cmp eax, 3
jne 0x17449d
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x1744a2
mov edx, 0xff
cmp cx, dx
ja 0x1744a0
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x17449d
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x1744a2
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x1743a3
cmp dword [ebx + 0x58], 0
je 0x17450a
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x17452a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x1744db
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x17452a
cmp eax, 3
jne 0x1743c8
lea ecx, [eax - 2]
jmp 0x1743ca
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x1743c8
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x1743c8
mov ecx, 1
jmp 0x1743ca
cmp ecx, esi
je 0xfa360
jmp case.0xfa384.157
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x7c]
test edx, edx
je 0x174570
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x1c]
cmp eax, ecx
jae 0x1745a8
push esi
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.000f8ffe
add esp, 0xc
test eax, eax
jne case.0xfa384.157
jmp 0x1745a5
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x1745a2
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x1745a2
cmp edx, 1
je case.0xfa384.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
je case.0xfa384.157
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je 0x1745e8
add eax, 2
cmp eax, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
jb 0x1745e8
cmp dword [ebx + 0x18], 0
jne 0x1745e8
cmp dword [ebx + 0x1c], 2
jne 0x1745e8
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x1745e5
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + 0x7c]
cmp eax, ecx
jae 0xfaba5
add eax, 2
mov dword [ebp - 8], eax
test esi, esi
je 0xfa676
cmp eax, ecx
jae 0xfa676
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xfa676
add dword [ebp - 8], 2
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
add eax, 2
mov dword [ebp - 8], eax
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x17468a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17468a
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0xfa676
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0xfa384.157
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x1746f0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1746f0
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0xfa384.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0xfa384.157
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x174756
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x174756
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0xfa676
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0xfa384.157
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x1747bc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1747bc
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0xfa384.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0xfa384.157
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x174822
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x174822
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0xfa676
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0xfa384.157
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x174888
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x174888
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0xfa384.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0xfa384.157
jmp 0xfa676
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0xfaba5
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], eax
je 0x1748f4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x1748f4
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
cmp ecx, 0xd
ja 0x174960
je 0x174915
cmp ecx, 0xa
je 0xfa676
jbe case.0xfa384.157
cmp ecx, 0xc
ja case.0xfa384.157
jmp 0x174977
cmp eax, edx
jb 0x17494b
cmp dword [ebx + 0x8c], 0
je 0xfa676
cmp eax, dword [ebx + 0x88]
jbe 0xfa676
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
jmp 0xfa676
cmp word [eax], 0xa
jne 0xfa676
add eax, 2
mov dword [ebp - 8], eax
jmp 0xfa676
cmp ecx, 0x85
je 0x174977
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0xfa384.157
cmp dword [ebx + 0x6c], 0
jne case.0xfa384.157
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x1749ce
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1749ce
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0x174a12
je case.0xfa384.157
cmp ecx, 0xa0
ja 0x174a01
je case.0xfa384.157
cmp ecx, 9
je case.0xfa384.157
cmp ecx, 0x20
je case.0xfa384.157
jmp 0xfa676
cmp ecx, 0x1680
je case.0xfa384.157
jmp 0xfa676
cmp ecx, 0x205f
ja 0x174a49
je case.0xfa384.157
cmp ecx, 0x2000
jb 0xfa676
cmp ecx, 0x200a
jbe case.0xfa384.157
cmp ecx, 0x202f
je case.0xfa384.157
jmp 0xfa676
cmp ecx, 0x3000
je case.0xfa384.157
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x174aa2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x174aa2
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0x174ae6
je 0xfa676
cmp ecx, 0xa0
ja 0x174ad5
je 0xfa676
cmp ecx, 9
je 0xfa676
cmp ecx, 0x20
jne case.0xfa384.157
jmp 0xfa676
cmp ecx, 0x1680
jne case.0xfa384.157
jmp 0xfa676
cmp ecx, 0x205f
ja 0x174b1d
je 0xfa676
cmp ecx, 0x2000
jb case.0xfa384.157
cmp ecx, 0x200a
jbe 0xfa676
cmp ecx, 0x202f
jne case.0xfa384.157
jmp 0xfa676
cmp ecx, 0x3000
jne case.0xfa384.157
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x174b76
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x174b76
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0x174b9b
je case.0xfa384.157
cmp ecx, 0xa
jb 0xfa676
cmp ecx, 0xd
jbe case.0xfa384.157
jmp 0xfa676
cmp ecx, 0x2028
jb 0xfa676
cmp ecx, 0x2029
jbe case.0xfa384.157
jmp 0xfa676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x174c00
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x174c00
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0x174c1f
je 0xfa676
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0xfa384.157
jmp 0xfa676
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0xfa384.157
jmp 0xfa676
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
jmp 0xfa886
cmp eax, 0xa
ja case.default.0x174c64
jmp dword [eax*4 + 0x17b89a]
mov al, byte [ecx*8 + 0x19b109]
cmp al, 9
je 0x174c90
cmp al, 5
je 0x174c90
cmp al, 8
je 0x174c90
xor ecx, ecx
jmp 0x174cac
cmp esi, 0xf
je case.0xfa384.157
jmp 0xfa8fb
mov ecx, 1
jmp 0x174cac
movzx eax, byte [ecx*8 + 0x19b109]
xor ecx, ecx
cmp dword [eax*4 + 0x1a6180], 6
sete cl
xor eax, eax
cmp esi, 0xf
sete al
cmp ecx, eax
je case.0xfa384.157
jmp 0xfa8fb
movzx ecx, byte [ecx*8 + 0x19b109]
movzx eax, word [edi + 4]
xor edx, edx
cmp eax, dword [ecx*4 + 0x1a6180]
setne dl
xor eax, eax
cmp esi, 0x10
sete al
cmp edx, eax
je case.0xfa384.157
jmp 0xfa8fb
movzx eax, byte [ecx*8 + 0x19b109]
jmp 0x174d00
movzx eax, byte [ecx*8 + 0x19b108]
xor ecx, ecx
cmp word [edi + 4], ax
setne cl
xor eax, eax
cmp esi, 0x10
sete al
cmp ecx, eax
je case.0xfa384.157
jmp 0xfa8fb
movzx eax, byte [ecx*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x174c90
cmp eax, 3
je 0x174c90
xor ecx, ecx
jmp 0x174cac
cmp edx, 0x180e
ja 0x174d9f
je case.0x174c64.0
cmp edx, 0x85
ja 0x174d82
je case.0x174c64.0
cmp edx, 9
jb case.0x174dc3.8203
cmp edx, 0xd
jbe case.0x174c64.0
cmp edx, 0x20
je case.0x174c64.0
jmp case.0x174dc3.8203
cmp edx, 0xa0
je case.0x174c64.0
cmp edx, 0x1680
je case.0x174c64.0
jmp case.0x174dc3.8203
cmp edx, 0x202f
ja 0x174dca
je case.0x174c64.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x174dc3.8203
movzx eax, byte [edx + 0x17b8ce]
jmp dword [eax*4 + 0x17b8c6]
cmp edx, 0x205f
je case.0x174c64.0
cmp edx, 0x3000
je case.0x174c64.0
jmp case.0x174dc3.8203
movzx eax, byte [ecx*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x174c90
cmp eax, 3
je 0x174c90
cmp edx, 0x5f
je 0x174c90
xor ecx, ecx
jmp 0x174cac
cmp edx, 0x24
je 0x174c90
cmp edx, 0x40
je 0x174c90
cmp edx, 0x60
je 0x174c90
cmp edx, 0xa0
jb 0x174e47
cmp edx, 0xd7ff
jbe 0x174c90
cmp edx, 0xe000
jae 0x174c90
xor ecx, ecx
jmp 0x174cac
cmp esi, 0x10
je case.0xfa384.157
jmp 0xfa8fb
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
jmp 0xfa5ae
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov esi, 2
jmp 0xfa60f
cmp eax, esi
jb 0xfa676
jmp 0x17418c
movzx ecx, word [edi + 2]
movzx edx, word [edi + 4]
xor eax, eax
cmp esi, 0x74
sete al
imul ecx, dword [ebx + 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x30]
add edi, 6
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x34], edi
test edx, edx
jle 0x174f11
mov eax, dword [ebp + 0xc]
movzx esi, word [ecx]
add esi, esi
dec edx
mov dword [ebp - 0x40], esi
cmp esi, eax
mov esi, dword [ebx + 0x24]
jge 0x174f0a
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x40]
cmp dword [eax + ebx*4], 0
mov ebx, dword [ebp + 0x10]
jge 0x174f12
mov eax, dword [ebp + 0xc]
lea ecx, [ecx + esi*2]
test edx, edx
jg 0x174ee8
dec edx
test edx, edx
jns 0x174f48
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebx + 0x54]
neg esi
sbb esi, esi
neg esi
dec esi
movzx edx, word [edi]
mov eax, edx
mov dword [ebp - 0xc], eax
add eax, 0xffffff9e
mov dword [ebp - 0x14], esi
cmp eax, 7
ja case.default.0x174f41
movzx eax, byte [eax + 0x17b902]
jmp dword [eax*4 + 0x17b8fa]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebx + 0xc]
mov esi, dword [eax + ecx*4 + 4]
sub esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
jmp 0x174f23
xor ecx, ecx
cmp esi, 0x72
movzx esi, word [edi + 2]
sete cl
add esi, esi
add edi, 4
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x28], ecx
cmp esi, dword [ebp + 0xc]
jge 0x174f19
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + esi*4]
test edx, edx
js 0x174f19
mov esi, dword [eax + esi*4 + 4]
sub esi, edx
jmp 0x174f23
mov eax, dword [ebp - 0xc]
add eax, 0xffffff9e
movzx ecx, al
movsx edx, byte [eax + 0x18e520]
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x18e47c]
add edi, 2
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x174fed
mov edx, 0x7fffffff
mov dword [ebp - 0x18], edx
jmp 0x174fed
movzx ecx, word [edi + 2]
xor eax, eax
cmp edx, 0x69
movzx edx, word [edi + 4]
sete al
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0xc], eax
test edx, edx
jne 0x174fe7
mov edx, 0x7fffffff
mov dword [ebp - 0x18], edx
add edi, 6
mov dword [ebp - 0x34], edi
test esi, esi
je 0xfa360
jns 0x174fff
test ecx, ecx
je 0xfa360
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, 1
jl 0x175044
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push esi
mov edx, eax
call fcn.001610c1
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x179bf6
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x20]
inc edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x2c], edx
cmp edx, ecx
jle 0x17500e
mov edx, dword [ebp - 0x18]
cmp ecx, edx
je 0xfa360
cmp dword [ebp - 0xc], 0
je 0x179b47
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], eax
jge case.0xfa384.157
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push dword [ebp - 0x14]
mov edx, esi
call fcn.001610c1
add esp, 0xc
test eax, eax
js 0x179b21
inc dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17507c
jmp 0xfa4c7
mov edx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0x40]
push ebx
push esi
call fcn.001610c1
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x179bf6
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0xfa360
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [edi + 4]
sete al
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x30], eax
movzx eax, word [edi + 2]
mov dword [ebp - 0x28], eax
test ecx, ecx
jne 0x175123
mov dword [ebp - 0x18], 0x7fffffff
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0xfa4fb
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
jmp 0xfa549
cmp esi, 0x6e
je case.0xfa384.157
jmp 0xfa681
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0xfa69a
mov ecx, dword [ebp - 0x28]
cmp eax, dword [ebx + 0x7c]
jae 0xfaba5
movzx ebx, word [eax]
add eax, 2
mov dword [ebp - 0x20], ebx
cmp ebx, 0xff
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], eax
jbe 0x17519e
cmp esi, 0x6e
je case.0xfa384.157
jmp 0x1751c7
mov ecx, dword [ebp - 0x20]
shr dword [ebp - 0x20], 3
mov ebx, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0xfa384.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x175173
jmp 0xfa697
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax + 2]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], 2
jmp 0xfa6ec
cmp esi, 0x6e
je 0xfa718
jmp 0xfacd9
cmp dword [ebx + 0x8c], 0
je 0xfa718
cmp eax, dword [ebx + 0x88]
jbe 0xfa718
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
jmp 0xfa718
cmp edx, dword [ebp - 0x18]
jge 0x1752b1
cmp eax, dword [ebx + 0x7c]
jae 0x17528c
movzx ecx, word [eax]
mov dword [ebp - 0x14], ecx
cmp ecx, 0xff
jbe 0x17525f
cmp esi, 0x6e
jne 0x17527e
jmp 0x1752b1
shr dword [ebp - 0x14], 3
mov ebx, dword [ebp - 0x14]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
je 0x1752b1
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x175245
jmp 0x1752b1
cmp dword [ebx + 0x8c], 0
je 0x1752b1
cmp eax, dword [ebx + 0x88]
jbe 0x1752b1
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
cmp dword [ebp - 0x30], 0
jne 0xfa360
cmp eax, dword [ebp - 0x24]
jb case.0xfa384.157
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
sub esi, 2
cmp esi, dword [ebp - 0x24]
jae 0x1752c7
jmp 0xfa4c7
lea eax, [edi + 4]
mov dword [ebp - 0x14], eax
movzx eax, word [edi + 2]
movzx ecx, word [edi + eax*2]
lea edi, [edi + eax*2]
mov esi, ecx
mov dword [ebp - 0x34], edi
lea eax, [esi - 0x62]
cmp eax, 0xb
ja case.default.0x175320
movzx eax, byte [eax + 0x17b912]
jmp dword [eax*4 + 0x17b90a]
lea ecx, [esi - 0x62]
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jae 0x175343
mov eax, dword [ebp - 0x30]
movzx edx, cl
and edx, 1
mov dword [ebp - 0x38], edx
jmp 0x17534b
mov eax, 1
mov dword [ebp - 0x30], eax
movsx esi, byte [esi + 0x18e4be]
movsx ecx, byte [ecx + 0x18e47c]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
test esi, esi
jne 0x1753b2
mov esi, 0x7fffffff
jmp 0x1753af
movzx esi, word [edi + 4]
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [edi + 2]
sete al
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], eax
test esi, esi
jne 0x17539a
mov esi, 0x7fffffff
mov dword [ebp - 0x20], esi
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x1753b2
mov eax, dword [ebp - 0x30]
mov esi, 1
mov ecx, esi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], 1
cmp ecx, 1
jl 0x175439
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfaba5
movzx edx, word [eax]
mov ecx, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x2c], edx
mov dword [ebp - 8], eax
test ecx, ecx
je 0x17540c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17540c
mov eax, dword [ebp - 8]
and edx, 0x3ff
movzx eax, word [eax]
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
add dword [ebp - 8], 2
jmp 0x17540f
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00161415
add esp, 4
test eax, eax
je case.0xfa384.157
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, ecx
jle 0x1753be
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
cmp ecx, esi
je 0xfa360
mov esi, dword [ebp - 8]
test edx, edx
jne 0x179dff
mov dword [ebp - 0xc], esi
cmp ecx, dword [ebp - 0x20]
jge 0x175500
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], 1
cmp eax, dword [ebx + 0x7c]
jae 0x1754d5
movzx edx, word [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov esi, eax
test ecx, ecx
je 0x1754a6
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1754a6
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
mov dword [ebp - 0x18], 2
jmp 0x1754a9
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00161415
add esp, 4
test eax, eax
je 0x1754fd
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x20]
jl 0x175458
jmp 0x1754fa
cmp dword [ebx + 0x8c], 0
je 0x1754fa
cmp eax, dword [ebx + 0x88]
jbe 0x1754fa
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0xfa360
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0xc]
je case.0xfa384.157
cmp dword [ebp - 0x1c], 0
je 0x175557
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x175557
sub esi, 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17552b
jmp 0xfa4c7
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x179eeb
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [edi + 2], ax
jne case.0xfa384.157
add edi, 4
jmp 0xfa679
movzx eax, word [edi + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
add esi, 0x10000
mov edx, 2
jmp 0xfa796
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
jne 0x175608
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
lea edi, [edi + edx*2]
mov dword [ebp - 0x34], edi
cmp esi, ecx
je 0xfa360
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x19c4a0]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x175639
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x18e608]
mov eax, dword [eax*8 + 0x19b10c]
add eax, esi
cmp dword [ebp - 0x2c], eax
je 0xfa360
jmp case.0xfa384.157
movzx ecx, word [edi + 2]
mov edx, 0xff
cmp cx, dx
ja 0x175674
mov eax, dword [ebx + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x175676
mov edx, ecx
movzx ecx, word [eax]
mov esi, 0xff
cmp cx, si
ja 0x17568d
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0xfa384.157
add eax, 2
mov dword [ebp - 8], eax
add edi, 4
jmp 0xfa679
movzx eax, word [edi + 2]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], eax
add edi, 4
jmp 0x175765
mov dword [ebp - 0x30], 1
movzx eax, word [edi + 2]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp ecx, 0x28
je 0x1756dd
cmp ecx, 0x35
je 0x1756dd
xor edx, edx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x175765
mov edx, 1
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x175765
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], 0x7fffffff
add edi, 2
jmp 0x175768
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], 0x7fffffff
add edi, 2
jmp 0x175768
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], ecx
add edi, 2
jmp 0x175768
cmp esi, 0x2e
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
mov ecx, esi
sub ecx, eax
movzx edx, cl
movsx eax, byte [ecx + 0x18e47c]
mov dword [ebp - 0x28], eax
movsx eax, byte [ecx + 0x18e520]
and edx, 1
add edi, 2
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x175765
mov dword [ebp - 0x18], 0x7fffffff
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1759ee
movzx eax, word [edi]
mov dword [ebp - 0x24], eax
and eax, 0xfc00
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x2c], edi
cmp eax, 0xd800
jne 0x1757b8
mov ebx, dword [ebp - 0x24]
movzx eax, word [edi + 2]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
add eax, 0x10000
mov dword [ebp - 0x24], eax
mov eax, 2
mov dword [ebp - 0x10], eax
jmp 0x1757bd
mov eax, 1
lea ebx, [eax + eax]
add edi, ebx
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
cmp eax, 1
jle 0x1759ff
cmp esi, 0x2e
jb 0x17582f
mov esi, dword [ebp - 0x24]
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x19c4a0]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x1757ff
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x18e608]
mov ecx, dword [eax*8 + 0x19b10c]
add ecx, esi
cmp ecx, esi
je 0x175829
lea edx, [ebp - 0x70]
call fcn.00161819
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
jmp 0x175836
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24], 0
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xc], 1
cmp esi, 1
jge 0x17584d
mov eax, dword [ebp - 8]
jmp 0x1758d0
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x17587e
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.0010f563
add esp, 0xc
test eax, eax
jne 0x17587b
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
jmp 0x1758bf
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x179f05
lea eax, [edx + edx]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x20]
cmp ecx, eax
ja 0x179f05
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x70]
push eax
push ecx
call fcn.0010f563
add esp, 0xc
test eax, eax
jne 0x179f02
mov eax, dword [ebp - 0x20]
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, esi
jle 0x17584d
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
cmp esi, dword [ebp - 0x18]
je 0xfa360
test edx, edx
jne 0x179f20
mov edx, eax
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x18]
jge 0x17598a
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x17591a
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.0010f563
add esp, 0xc
test eax, eax
jne 0x175917
mov eax, dword [ebp - 0x14]
jmp 0x175949
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x175954
lea eax, [edx + edx]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0xc]
cmp ecx, eax
ja 0x175954
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x70]
push eax
push ecx
call fcn.0010f563
add esp, 0xc
test eax, eax
jne 0x175954
mov eax, dword [ebp - 0xc]
add dword [ebp - 8], eax
inc esi
cmp esi, dword [ebp - 0x18]
jl 0x1758ef
jmp 0x175981
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x175984
cmp eax, dword [ebx + 0x7c]
jb 0x175981
cmp eax, dword [ebx + 0x88]
jbe 0x175981
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0xfa360
cmp eax, edx
je 0xfa3d1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x1759e5
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x1759a0
jmp 0xfa3d1
movzx ebx, word [edi]
add edi, 2
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
jmp 0x175a02
mov eax, dword [ebp - 0x1c]
cmp esi, 0x2e
jb 0x175b69
mov esi, dword [ebp - 0x24]
test eax, eax
je 0x175a58
cmp esi, 0x7f
jbe 0x175a58
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x19c4a0]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x175a3a
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x38]
add ecx, eax
movzx eax, word [ecx*2 + 0x18e608]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x19b10c]
add eax, esi
mov dword [ebp - 0x10], eax
jmp 0x175a6f
cmp esi, 0xff
ja 0x175a6c
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + esi]
mov dword [ebp - 0x10], eax
jmp 0x175a6f
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp esi, 1
jl 0x175ab2
cmp eax, dword [ebx + 0x7c]
jae 0xfaba5
movzx ebx, word [eax]
cmp dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
je 0x175aa4
movzx ebx, word [eax]
cmp dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
jne case.0xfa384.157
inc dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], esi
jle 0x175a81
cmp esi, dword [ebp - 0x18]
je 0xfa360
test edx, edx
jne 0x179fe8
mov edx, eax
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x18]
jge 0x175b20
mov edx, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x7c]
jae 0x175af8
movzx ebx, word [eax]
cmp edx, ebx
mov ebx, dword [ebp + 0x10]
je 0x175aea
movzx ebx, word [eax]
cmp dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
jne 0x175b1d
add eax, 2
inc esi
mov dword [ebp - 8], eax
cmp esi, dword [ebp - 0x18]
jl 0x175ad0
jmp 0x175b1d
cmp dword [ebx + 0x8c], 0
je 0x175b1d
cmp eax, dword [ebx + 0x88]
jbe 0x175b1d
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0xfa360
cmp eax, edx
je 0xfa3d1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
mov ecx, dword [ebp - 8]
sub ecx, 2
add esp, 0x14
mov dword [ebp - 8], ecx
test eax, eax
jne 0xfa4c7
cmp ecx, esi
jne 0x175b36
jmp 0xfa3d1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], 1
cmp eax, 1
jge 0x175b7d
mov esi, dword [ebp - 8]
jmp 0x175ba9
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfaba5
movzx eax, word [eax]
mov esi, dword [ebp - 8]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x24], eax
jne case.0xfa384.157
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x14], eax
jle 0x175b7d
cmp eax, dword [ebp - 0x18]
je 0xfa360
test edx, edx
jne 0x17a05f
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
mov esi, eax
mov dword [ebp - 0x20], esi
cmp edx, dword [ebp - 0x18]
jge 0x175bec
mov esi, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x7c]
jae 0x175c32
movzx eax, word [eax]
cmp esi, eax
jne 0x175be6
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc edx
cmp edx, dword [ebp - 0x18]
jl 0x175bcd
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
test ecx, ecx
jne 0xfa360
cmp eax, esi
je 0xfa3d1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
mov ecx, dword [ebp - 8]
sub ecx, 2
add esp, 0x14
mov dword [ebp - 8], ecx
test eax, eax
jne 0xfa4c7
cmp ecx, esi
jne 0x175bff
jmp 0xfa3d1
cmp dword [ebx + 0x8c], 0
je 0x175be9
cmp eax, dword [ebx + 0x88]
jbe 0x175be9
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
jmp 0x175be9
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfab94
cmp dword [ebp - 0x1c], edx
je 0x175d69
movzx edx, word [edi + 2]
mov eax, edx
add edi, 4
and eax, 0xfc00
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x34], edi
cmp eax, 0xd800
jne 0x175cab
movzx eax, word [edi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add edi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 8]
add eax, 2
movzx ecx, word [eax - 2]
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
jne 0x175cec
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
cmp esi, 0x1f
jne 0x175cfe
cmp edx, ecx
jne 0xfa360
jmp case.0xfa384.157
cmp edx, 0x7f
jbe 0x175d41
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x19c4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x175d29
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x18e608]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax*8 + 0x19b10c]
add eax, edx
jmp 0x175d54
cmp edx, 0xff
ja 0x175d52
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
jmp 0x175d54
mov eax, edx
cmp edx, ecx
je case.0xfa384.157
cmp eax, ecx
jne 0xfa360
jmp case.0xfa384.157
movzx edx, word [eax]
movzx ecx, word [edi + 2]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0xfa384.157
cmp esi, 0x20
jne 0x175d9a
cmp ecx, 0xff
ja 0x175d92
mov eax, dword [ebx + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0xfa384.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0xfa360
movzx eax, word [edi + 2]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], eax
add edi, 4
jmp 0x175e87
movzx edx, word [edi + 2]
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], edx
cmp ecx, 0x42
je 0x175dda
cmp ecx, 0x4f
je 0x175dda
xor edx, edx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x175e87
mov edx, 1
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x175e87
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0x7fffffff
add edi, 2
jmp 0x175e8a
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0x7fffffff
add edi, 2
jmp 0x175e8a
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x175e8a
movzx ebx, word [edi + 2]
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ebx
add edi, 4
jmp 0x175e8a
cmp esi, 0x48
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
mov ecx, esi
sub ecx, eax
movzx edx, cl
movsx eax, byte [ecx + 0x18e47c]
movsx ecx, byte [ecx + 0x18e520]
and edx, 1
add edi, 2
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ecx
test ecx, ecx
jne 0x175e87
mov dword [ebp - 0x10], 0x7fffffff
mov ecx, dword [ebp - 0x30]
movzx ebx, word [edi]
add edi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
je 0x175ed8
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x175ed5
movzx eax, word [edi]
mov ebx, dword [ebp - 0x18]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
add edi, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x24]
cmp esi, 0x48
mov esi, dword [ebp - 0x1c]
jb 0x1761f3
test esi, esi
je 0x175f36
cmp dword [ebp - 0x18], 0x7f
jbe 0x175f36
mov eax, dword [ebp - 0x18]
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 7
movzx ecx, byte [eax + 0x19c4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x175f15
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x18e608]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x19b10c]
add eax, edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
jmp 0x175f60
cmp dword [ebp - 0x18], 0xff
mov ebx, dword [ebp + 0x10]
ja 0x175f57
mov esi, dword [ebp - 0x18]
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + esi]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
jmp 0x175f60
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xc], 1
test esi, esi
je 0x175fe9
cmp eax, 1
jl 0x176027
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfaba5
movzx esi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], esi
jne 0x175fc1
movzx eax, word [eax]
and eax, 0x3ff
and esi, 0x3ff
shl esi, 0xa
or eax, esi
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 0x28]
cmp dword [ebp - 0x18], ebx
je case.0xfa384.157
mov esi, dword [ebp - 0x20]
cmp esi, ebx
je case.0xfa384.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x175f74
jmp 0x17602a
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x17602a
cmp eax, dword [ebx + 0x7c]
jae 0xfaba5
movzx esi, word [eax]
cmp dword [ebp - 0x18], esi
je case.0xfa384.157
movzx ebx, word [eax]
cmp dword [ebp - 0x20], ebx
je case.0xfa384.157
mov ebx, dword [ebp - 0xc]
inc ebx
add eax, 2
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], eax
jle 0x175ff1
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
cmp dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x1c]
je 0xfa360
test edx, edx
jne 0x17a0ce
mov edx, eax
mov dword [ebp - 0x28], edx
test esi, esi
je 0x176152
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x10]
jge 0x1760c4
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x176128
movzx eax, word [eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x38], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1760a0
movzx eax, word [edx + 2]
and dword [ebp - 0x38], 0x3ff
shl dword [ebp - 0x38], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x38]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x1760a3
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x18], eax
je 0x1760be
cmp dword [ebp - 0x20], eax
je 0x1760be
mov eax, dword [ebp - 0xc]
inc esi
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
mov eax, edx
cmp esi, dword [ebp - 0x10]
jl 0x176056
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
test ecx, ecx
jne 0xfa360
cmp eax, edx
je 0xfa3d1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x17611f
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x1760da
jmp 0xfa3d1
cmp dword [ebx + 0x8c], 0
je 0x1760c1
cmp eax, dword [ebx + 0x88]
jbe 0x1760c1
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
jmp 0x1760c1
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x10]
jge 0x1761aa
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x176185
movzx ebx, word [eax]
cmp esi, ebx
mov ebx, dword [ebp + 0x10]
je 0x1761aa
movzx esi, word [eax]
cmp dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x18]
je 0x1761aa
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x10]
jl 0x17615d
jmp 0x1761aa
cmp dword [ebx + 0x8c], 0
je 0x1761aa
cmp eax, dword [ebx + 0x88]
jbe 0x1761aa
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
test ecx, ecx
jne 0xfa360
mov esi, dword [ebp - 0x28]
cmp eax, esi
je 0xfa3d1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x1761c0
jmp 0xfa3d1
mov dword [ebp - 0xc], 1
test esi, esi
je 0x176279
mov ebx, dword [ebp + 0x10]
cmp eax, 1
jl 0x1762ab
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfaba5
movzx esi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], esi
jne 0x176259
movzx eax, word [eax]
mov ebx, esi
and eax, 0x3ff
and ebx, 0x3ff
shl ebx, 0xa
or eax, ebx
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x1c]
je case.0xfa384.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x17620a
jmp 0x1762ae
cmp eax, 1
jl 0x1762ab
mov esi, dword [ebp - 8]
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x18], eax
je case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x24]
jle 0x176281
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
cmp dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
je 0xfa360
test edx, edx
jne 0x17a1e0
mov edx, eax
mov dword [ebp - 0x20], edx
test esi, esi
je 0x1763d1
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x10]
jge 0x176343
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x1763a7
movzx eax, word [eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x176324
movzx eax, word [edx + 2]
and dword [ebp - 0x28], 0x3ff
shl dword [ebp - 0x28], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x28]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x176327
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x18], eax
je 0x17633d
mov eax, dword [ebp - 0xc]
inc esi
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
mov eax, edx
cmp esi, dword [ebp - 0x10]
jl 0x1762da
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0xfa360
cmp eax, edx
je 0xfa3d1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x17639e
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x176359
jmp 0xfa3d1
cmp dword [ebx + 0x8c], 0
je 0x176340
cmp eax, dword [ebx + 0x88]
jbe 0x176340
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
jmp 0x176340
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x10]
jge 0x1763f8
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x176441
movzx eax, word [eax]
cmp esi, eax
je 0x1763f5
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc edx
cmp edx, dword [ebp - 0x10]
jl 0x1763dc
mov eax, dword [ebp - 8]
test ecx, ecx
jne 0xfa360
mov esi, dword [ebp - 0x20]
cmp eax, esi
je 0xfa3d1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x17640e
jmp 0xfa3d1
cmp dword [ebx + 0x8c], 0
je 0x1763f8
cmp eax, dword [ebx + 0x88]
jbe 0x1763f8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x1763f8
mov eax, 0xfffffff4
jmp 0xfa4c7
movzx eax, word [edi + 2]
mov ecx, eax
mov edx, 1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0xfaa63
movzx eax, word [edi + 2]
mov dword [ebp - 0x10], edx
xor edx, edx
cmp ecx, 0x5c
sete dl
add edi, 4
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov dword [ebp - 0x38], edx
jmp 0xfaa63
xor ecx, ecx
mov esi, 1
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0xfaa5c
mov esi, 1
mov ecx, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0xfaa5c
mov esi, 1
xor ecx, ecx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], esi
add edi, 2
jmp 0xfaa63
movzx eax, word [edi + 2]
xor ecx, ecx
mov esi, 1
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
add edi, 4
jmp 0xfaa63
mov dword [ebp - 0x3c], 1
jmp 0x176515
mov dword [ebp - 0x3c], 0
movzx esi, word [edi + 2]
movzx eax, word [edi]
add edi, 4
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x34], edi
jmp 0xfaa84
test eax, eax
js 0x176d59
cmp eax, 0xa
ja case.default.0x174c64
jmp dword [eax*4 + 0x17b91e]
cmp dword [ebp - 0x3c], 0
jne case.0xfa384.157
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x176591
and dword [ebp - 0x14], 0xfc00
cmp dword [ebp - 0x14], 0xd800
jne 0x176591
add ecx, 2
mov dword [ebp - 8], ecx
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x176562
jmp 0xfaa95
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa92
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x176603
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x176603
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x176628
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp eax, 9
je 0x17664d
cmp eax, 5
je 0x17664d
cmp eax, 8
je 0x17664d
xor eax, eax
jmp 0x176652
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x1765b8
mov edx, dword [ebp - 0x38]
jmp 0xfaa92
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0xfaa8f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x1766d1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1766d1
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x1766f6
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp dword [eax*4 + 0x1a6180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x176683
mov edx, dword [ebp - 0x38]
jmp 0xfaa8f
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0xfaa8f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x176796
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x176796
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x1767bb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x176748
mov edx, dword [ebp - 0x38]
jmp 0xfaa8f
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0xfaa8f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x176854
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x176854
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x176879
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b108]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x176806
mov edx, dword [ebp - 0x38]
jmp 0xfaa8f
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa92
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x176912
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x176912
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x176937
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x17695e
cmp eax, 3
je 0x17695e
xor eax, eax
jmp 0x176963
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x1768c7
mov edx, dword [ebp - 0x38]
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa95
mov edx, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
test eax, eax
je 0x1769ef
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1769ec
movzx eax, word [ecx]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x180e
ja 0x176a43
je 0x176ada
cmp dword [ebp - 0x18], 0x85
ja 0x176a28
je 0x176ada
cmp dword [ebp - 0x18], 9
jb case.0x176a66.8203
cmp dword [ebp - 0x18], 0xd
jbe 0x176ada
cmp dword [ebp - 0x18], 0x20
jne case.0x176a66.8203
jmp 0x176ada
cmp dword [ebp - 0x18], 0xa0
je 0x176ada
cmp dword [ebp - 0x18], 0x1680
jne case.0x176a66.8203
jmp 0x176ada
cmp dword [ebp - 0x18], 0x202f
ja 0x176a6d
je 0x176ada
mov eax, dword [ebp - 0x18]
add eax, 0xffffe000
cmp eax, 0x29
ja case.0x176a66.8203
movzx eax, byte [eax + 0x17b952]
jmp dword [eax*4 + 0x17b94a]
cmp dword [ebp - 0x18], 0x205f
je 0x176ada
cmp dword [ebp - 0x18], 0x3000
je 0x176ada
mov ecx, dword [ebp - 0x18]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x176aa4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp dword [eax*4 + 0x1a6180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0xfa384.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x176ae4
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne case.0xfa384.157
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x17699d
mov edx, dword [ebp - 0x38]
jmp 0xfaa95
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0xfaa8f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x176b56
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x176b56
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x19c4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x176b7c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x176ba8
cmp eax, 3
je 0x176ba8
cmp edx, 0x5f
je 0x176ba8
xor eax, eax
jmp 0x176bad
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x176b08
mov edx, dword [ebp - 0x38]
jmp 0xfaa8f
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x176c2f
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x176c2f
movzx eax, word [ecx]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
mov ebx, dword [ebp - 0x44]
lea ebx, [ebx*4 + 0x19e6a0]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebx]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jb 0x176c68
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 8]
je 0x176c8a
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jae 0x176c49
cmp dword [ebp - 0x3c], 0
je case.0xfa384.157
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
jle 0x176be4
jmp 0xfaa95
cmp dword [ebp - 0x3c], 0
jne case.0xfa384.157
jmp 0x176c72
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x176cfa
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x176cf7
movzx eax, word [ecx]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x24
je 0x176d2e
cmp dword [ebp - 0x18], 0x40
je 0x176d2e
cmp dword [ebp - 0x18], 0x60
je 0x176d2e
cmp dword [ebp - 0x18], 0xa0
jb 0x176d1e
cmp dword [ebp - 0x18], 0xd7ff
jbe 0x176d2e
cmp dword [ebp - 0x18], 0xe000
mov dword [ebp - 0xc], 0
jb 0x176d35
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], esi
je case.0xfa384.157
mov ebx, dword [ebp - 0x14]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
jle 0x176cac
jmp 0xfaa95
cmp dword [ebp - 0x28], 0x16
jne 0x176eff
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], 1
jl 0xfaa92
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x20], eax
cmp ecx, eax
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x176dc6
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x176dc6
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x176deb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x18e608]
movzx edx, byte [eax*8 + 0x19b10a]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp ecx, eax
jae 0x176ebe
mov ebx, dword [ebp - 0x1c]
mov esi, edx
movzx edx, word [ecx]
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x14], edx
test ebx, ebx
je 0x176e53
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x176e53
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], 2
mov ecx, dword [ebp - 0x14]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x176e78
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx ecx, byte [eax*8 + 0x19b10a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x18e52c], eax
je 0x176eb5
mov eax, dword [ebp - 0xc]
mov esi, ecx
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 8], ecx
cmp ecx, eax
jb 0x176e10
jmp 0x176ebb
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x10]
cmp dword [ebx + 0x8c], 0
je 0x176ee7
cmp ecx, eax
jb 0x176ee7
cmp ecx, dword [ebx + 0x88]
jbe 0x176ee7
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x10]
jle 0x176d76
mov edx, dword [ebp - 0x38]
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x1776e9
mov eax, dword [ebp - 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x174c64
mov eax, dword [ebp - 0x28]
add eax, 0xfffffffa
jmp dword [eax*4 + 0x17b97e]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
lea edx, [ecx + 2]
mov dword [ebp - 0x20], edx
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x179d57
cmp dword [ebx + 0x18], 0
je 0x177000
mov eax, dword [ebp - 0x1c]
push eax
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
call fcn.000f8ffe
add esp, 0xc
test eax, eax
jne case.0xfa384.157
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebx + 0x8c], 0
je 0x176fb0
cmp edx, dword [ebx + 0x7c]
jb 0x176fb0
cmp dword [ebx + 0x18], 0
jne 0x176fb0
cmp dword [ebx + 0x1c], 2
jne 0x176fb0
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x176fb0
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebx + 0x7c]
jae 0x176fe8
mov ax, word [ecx]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xdc00
cmp ax, word [ebp - 0x14]
jne 0x176fe8
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x176f42
mov edx, dword [ebp - 0x38]
jmp 0xfaa92
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp ecx, edx
ja 0x176f76
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x176f76
cmp dword [ebx + 0x1c], 1
je case.0xfa384.157
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
je case.0xfa384.157
jmp 0x176f79
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x17708c
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jne 0x17708c
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x177054
jmp 0xfaa92
mov eax, dword [ebx + 0x7c]
add ecx, ecx
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja case.0xfa384.157
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x177113
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x177116
mov eax, dword [ebp - 0x20]
cmp eax, 0xd
ja 0x177143
je 0x177130
cmp eax, 0xa
je 0x177162
add eax, 0xfffffff5
cmp eax, 1
ja case.0xfa384.157
jmp 0x177158
cmp ecx, dword [ebx + 0x7c]
jae 0x177162
cmp word [ecx], 0xa
jne 0x177162
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x177162
cmp eax, 0x85
je 0x177158
add eax, 0xffffdfd8
cmp eax, 1
ja case.0xfa384.157
cmp dword [ebx + 0x6c], 0
jne case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x1770cf
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x1771d1
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x1771d4
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x17720f
je case.0xfa384.157
cmp eax, 0xa0
ja 0x177202
je case.0xfa384.157
cmp eax, 9
je case.0xfa384.157
cmp eax, 0x20
je case.0xfa384.157
jmp 0x177246
cmp eax, 0x1680
je case.0xfa384.157
jmp 0x177246
cmp eax, 0x205f
ja 0x17723b
je case.0xfa384.157
cmp eax, 0x2000
jb 0x177246
cmp eax, 0x200a
jbe case.0xfa384.157
cmp eax, 0x202f
je case.0xfa384.157
jmp 0x177246
cmp eax, 0x3000
je case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x17718d
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x1772b5
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x1772b8
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x1772e7
je 0x17731a
cmp eax, 0xa0
ja 0x1772da
je 0x17731a
cmp eax, 9
je 0x17731a
cmp eax, 0x20
jne case.0xfa384.157
jmp 0x17731a
cmp eax, 0x1680
jne case.0xfa384.157
jmp 0x17731a
cmp eax, 0x205f
ja 0x17730f
je 0x17731a
cmp eax, 0x2000
jb case.0xfa384.157
cmp eax, 0x200a
jbe 0x17731a
cmp eax, 0x202f
jne case.0xfa384.157
jmp 0x17731a
cmp eax, 0x3000
jne case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x177271
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x177389
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x17738c
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x1773a9
je case.0xfa384.157
cmp eax, 0xa
jb 0x1773bb
cmp eax, 0xd
jbe case.0xfa384.157
jmp 0x1773bb
cmp eax, 0x2028
jb 0x1773bb
cmp eax, 0x2029
jbe case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x177345
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x17742a
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x17742d
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x177444
je 0x177452
add eax, 0xfffffff6
cmp eax, 3
ja case.0xfa384.157
jmp 0x177452
add eax, 0xffffdfd8
cmp eax, 1
ja case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x1773e6
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x1774c3
movzx eax, word [ecx]
mov ebx, dword [ebp - 0x14]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], ecx
jmp 0x1774c6
mov eax, dword [ebp - 0x14]
cmp eax, 0x80
jae 0x1774e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x177479
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
cmp word [ecx], 0x80
jae case.0xfa384.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 4
mov ebx, dword [ebp + 0x10]
je case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x177507
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
cmp word [ecx], 0x80
mov ebx, dword [ebp + 0x10]
jae 0x177587
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 1
mov ebx, dword [ebp + 0x10]
jne case.0xfa384.157
mov eax, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x1775b6
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jne 0x1775b6
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x17755e
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
cmp word [ecx], 0x80
jae case.0xfa384.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 1
mov ebx, dword [ebp + 0x10]
je case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x1775d9
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
cmp word [ecx], 0x80
mov ebx, dword [ebp + 0x10]
jae 0x177659
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 0x10
mov ebx, dword [ebp + 0x10]
jne case.0xfa384.157
mov eax, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x177688
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jne 0x177688
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x177630
jmp 0xfaa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
cmp word [ecx], 0x80
jae case.0xfa384.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 0x10
mov ebx, dword [ebp + 0x10]
je case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x1776ab
jmp 0xfaa92
mov ebx, dword [ebp - 0x28]
add ebx, 0xfffffffa
cmp ebx, 0xf
ja case.default.0x174c64
mov ebx, dword [ebp - 0x28]
add ebx, 0xfffffffa
jmp dword [ebx*4 + 0x17b9be]
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x179d57
cmp dword [ebx + 0x18], 0
je 0x17774b
lea eax, [ebx + 0x1c]
push 0
push eax
push edx
mov edx, dword [ebx + 0x18]
call fcn.000f8ffe
add esp, 0xc
test eax, eax
jne case.0xfa384.157
mov ecx, dword [ebp - 8]
jmp 0x177777
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp ecx, edx
ja 0x177777
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x177777
cmp dword [ebx + 0x1c], 1
je case.0xfa384.157
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
je case.0xfa384.157
cmp dword [ebx + 0x8c], 0
je 0x1777b1
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x1777b1
cmp dword [ebx + 0x18], 0
jne 0x1777b1
cmp dword [ebx + 0x1c], 2
jne 0x1777b1
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x1777b1
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x17771b
mov edx, dword [ebp - 0x38]
jmp 0xfaa92
mov ebx, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [ebx + 0x7c]
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x179d57
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0xfaa92
mov ebx, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [ebx + 0x7c]
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x179d57
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0xfaa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x20], ebx
cmp ebx, 0xd
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
jg 0x17787b
cmp dword [ebp - 0x20], 0xd
je 0x177868
cmp dword [ebp - 0x20], 0xa
je 0x1778a2
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff5
cmp eax, 1
ja case.0xfa384.157
jmp 0x177895
cmp ecx, dword [ebx + 0x7c]
jae 0x1778a2
cmp word [ecx], 0xa
jne 0x1778a2
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x1778a2
cmp dword [ebp - 0x20], 0x85
je 0x177898
mov eax, dword [ebp - 0x20]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0xfa384.157
mov eax, dword [ebp - 0x10]
cmp dword [ebx + 0x6c], 0
jne case.0xfa384.157
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x17782e
jmp 0xfaa92
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
cmp eax, 0x180e
jg 0x17791f
cmp eax, 0x180e
je case.0xfa384.157
cmp eax, 0xa0
jg 0x177910
je case.0xfa384.157
cmp eax, 9
je case.0xfa384.157
cmp eax, 0x20
je case.0xfa384.157
jmp 0x177960
cmp dword [ebp - 0x18], 0x1680
je case.0xfa384.157
jmp 0x177960
cmp dword [ebp - 0x18], 0x205f
jg 0x177953
je case.0xfa384.157
cmp dword [ebp - 0x18], 0x2000
jl 0x177960
cmp dword [ebp - 0x18], 0x200a
jle case.0xfa384.157
cmp dword [ebp - 0x18], 0x202f
je case.0xfa384.157
jmp 0x177960
cmp dword [ebp - 0x18], 0x3000
je case.0xfa384.157
mov eax, dword [ebp - 0xc]
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
jle 0x1778c8
jmp 0xfaa95
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], eax
cmp eax, 0x180e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jg 0x1779e5
cmp dword [ebp - 0x18], 0x180e
je 0x177a22
cmp dword [ebp - 0x18], 0xa0
jg 0x1779d6
je 0x177a22
cmp dword [ebp - 0x18], 9
je 0x177a22
cmp dword [ebp - 0x18], 0x20
jne case.0xfa384.157
jmp 0x177a22
cmp dword [ebp - 0x18], 0x1680
jne case.0xfa384.157
jmp 0x177a22
cmp dword [ebp - 0x18], 0x205f
jg 0x177a15
je 0x177a22
cmp dword [ebp - 0x18], 0x2000
jl case.0xfa384.157
cmp dword [ebp - 0x18], 0x200a
jle 0x177a22
cmp dword [ebp - 0x18], 0x202f
jne case.0xfa384.157
jmp 0x177a22
cmp dword [ebp - 0x18], 0x3000
jne case.0xfa384.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x177991
jmp 0xfaa95
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x20], eax
cmp eax, 0x85
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jg 0x177a91
cmp dword [ebp - 0x20], 0x85
je case.0xfa384.157
cmp dword [ebp - 0x20], 0xa
jl 0x177aa7
cmp dword [ebp - 0x20], 0xd
jle case.0xfa384.157
jmp 0x177aa7
cmp dword [ebp - 0x20], 0x2028
jl 0x177aa7
cmp dword [ebp - 0x20], 0x2029
jle case.0xfa384.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x177a53
jmp 0xfaa95
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], 1
jl 0xfaa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x14], ebx
cmp ebx, 0x85
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
jg 0x177b0e
cmp dword [ebp - 0x14], 0x85
je 0x177b22
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff6
cmp eax, 3
ja case.0xfa384.157
jmp 0x177b1f
mov eax, dword [ebp - 0x14]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0xfa384.157
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x177ad4
jmp 0xfaa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx ebx, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp bx, word [ebp - 0xc]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
ja 0x177b80
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0xfa384.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], eax
jle 0x177b48
jmp 0xfaa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0xfa384.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0xfa384.157
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x177ba9
jmp 0xfaa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx ebx, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp bx, word [ebp - 0xc]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
ja 0x177c3d
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0xfa384.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], eax
jle 0x177c05
jmp 0xfaa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0xfa384.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0xfa384.157
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x177c66
jmp 0xfaa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0xfaa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx ebx, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp bx, word [ebp - 0xc]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
ja 0x177cfa
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0xfa384.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], eax
jle 0x177cc2
jmp 0xfaa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0xfaa95
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0xfa384.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0xfa384.157
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x177d23
jmp 0xfaa92
mov dword [ebp - 0x38], ecx
test edx, edx
js 0x17868b
cmp edx, 0xa
ja case.default.0x174c64
jmp dword [edx*4 + 0x17b9fe]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x178625
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebp - 0x2c]
jae 0x177df2
test eax, eax
je 0x177dce
mov ax, word [ecx]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xd800
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
jne 0x177dce
mov dword [ebp - 0xc], 2
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
jne 0x178625
mov ebx, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x177d96
jmp 0x178625
cmp dword [ebx + 0x8c], 0
je 0x178625
cmp ecx, dword [ebx + 0x88]
jbe 0x178625
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x178625
mov eax, 0xfffffff4
jmp 0xfa4c7
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x178625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x177df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x177e7d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x177e7d
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x177ea2
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp eax, 9
je 0x177ec7
cmp eax, 5
je 0x177ec7
cmp eax, 8
je 0x177ec7
xor eax, eax
jmp 0x177ecc
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x178625
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x177e35
jmp 0x178625
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x178625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x177df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x177f4e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x177f4e
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x177f73
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp dword [eax*4 + 0x1a6180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x178625
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x177f02
jmp 0x178625
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x178625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x177df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x178019
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x178019
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x17803e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x178625
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x177fcd
jmp 0x178625
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x178625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x177df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x1780dd
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1780dd
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x178102
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b108]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x178625
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x178091
jmp 0x178625
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x178625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x177df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x1781a1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1781a1
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x1781c6
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x1781ed
cmp eax, 3
je 0x1781ed
xor eax, eax
jmp 0x1781f2
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x178625
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x178155
jmp 0x178625
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x178625
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x177df2
movzx ebx, word [ecx]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x178280
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17827d
movzx eax, word [ecx + 2]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], 2
add eax, 0x10000
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x180e
ja 0x1782d4
je 0x17836b
cmp dword [ebp - 0x18], 0x85
ja 0x1782b9
je 0x17836b
cmp dword [ebp - 0x18], 9
jb case.0x1782f7.8203
cmp dword [ebp - 0x18], 0xd
jbe 0x17836b
cmp dword [ebp - 0x18], 0x20
jne case.0x1782f7.8203
jmp 0x17836b
cmp dword [ebp - 0x18], 0xa0
je 0x17836b
cmp dword [ebp - 0x18], 0x1680
jne case.0x1782f7.8203
jmp 0x17836b
cmp dword [ebp - 0x18], 0x202f
ja 0x1782fe
je 0x17836b
mov eax, dword [ebp - 0x18]
add eax, 0xffffe000
cmp eax, 0x29
ja case.0x1782f7.8203
movzx eax, byte [eax + 0x17ba32]
jmp dword [eax*4 + 0x17ba2a]
cmp dword [ebp - 0x18], 0x205f
je 0x17836b
cmp dword [ebp - 0x18], 0x3000
je 0x17836b
mov ecx, dword [ebp - 0x18]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x178335
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp dword [eax*4 + 0x1a6180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x178625
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x178375
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne 0x178625
mov esi, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + esi*2]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x178228
jmp 0x178625
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x178625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x177df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x1783eb
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1783eb
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x19c4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x178411
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x17843d
cmp eax, 3
je 0x17843d
cmp edx, 0x5f
je 0x17843d
xor eax, eax
jmp 0x178442
mov eax, 1
mov ecx, dword [ebp - 8]
cmp eax, dword [ebp - 0x3c]
je 0x178625
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x17839f
jmp 0x178625
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x178625
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x177df2
movzx ebx, word [ecx]
mov dword [ebp - 0x28], ebx
test eax, eax
je 0x1784cf
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1784cc
movzx eax, word [ecx + 2]
and dword [ebp - 0x28], 0x3ff
shl dword [ebp - 0x28], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x44]
lea ebx, [ebx*4 + 0x19e6a0]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebx]
cmp dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jb 0x178508
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 8]
je 0x178530
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp dword [ebp - 0x28], eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
jae 0x1784e9
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
je 0x178625
mov ebx, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x17847b
jmp 0x178625
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
je 0x178515
jmp 0x178625
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x178625
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x178600
movzx ebx, word [ecx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x1785a2
mov eax, dword [ebp - 0x28]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17859f
movzx eax, word [ecx + 2]
and dword [ebp - 0x28], 0x3ff
shl dword [ebp - 0x28], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], 0x24
je 0x1785d6
cmp dword [ebp - 0x28], 0x40
je 0x1785d6
cmp dword [ebp - 0x28], 0x60
je 0x1785d6
cmp dword [ebp - 0x28], 0xa0
jb 0x1785c6
cmp dword [ebp - 0x28], 0xd7ff
jbe 0x1785d6
cmp dword [ebp - 0x28], 0xe000
mov dword [ebp - 0xc], 0
jb 0x1785dd
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x30]
je 0x178625
mov ebx, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x17854a
jmp 0x178625
cmp dword [ebx + 0x8c], 0
je 0x178625
cmp ecx, dword [ebx + 0x88]
jbe 0x178625
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
test esi, esi
jne 0xfa360
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0xfa3d1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x1c], eax
je 0x178682
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x178682
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x178638
jmp 0xfa3d1
mov edx, dword [ebp - 0x28]
cmp edx, 0x16
jne 0x17889e
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jl 0x1786a7
jmp 0x178850
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], edx
cmp ecx, edx
jae 0x17882b
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
test eax, eax
je 0x1786f5
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1786f5
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x17871a
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x18e608]
movzx edx, byte [eax*8 + 0x19b10a]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp ecx, eax
jae 0x1787f0
mov ebx, dword [ebp - 0x1c]
mov esi, edx
movzx edx, word [ecx]
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x14], edx
test ebx, ebx
je 0x178782
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x178782
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], 2
mov ecx, dword [ebp - 0x14]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x1787a7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx ecx, byte [eax*8 + 0x19b10a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x18e52c], eax
je 0x1787e4
mov eax, dword [ebp - 0xc]
mov esi, ecx
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], ecx
cmp ecx, eax
jb 0x17873f
jmp 0x1787ea
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x30]
cmp dword [ebx + 0x8c], 0
je 0x178819
cmp ecx, eax
jb 0x178819
cmp ecx, dword [ebx + 0x88]
jbe 0x178819
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x24]
jl 0x1786a4
jmp 0x178850
cmp dword [ebx + 0x8c], 0
je 0x178850
cmp ecx, dword [ebx + 0x88]
jbe 0x178850
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
test esi, esi
jne 0xfa360
cmp ecx, dword [ebp - 0x38]
je 0xfa3d1
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
test esi, esi
jne 0x1797f7
movzx edx, word [ecx]
jmp 0x179840
test eax, eax
je 0x1791ad
add edx, 0xfffffffa
cmp edx, 0xf
ja case.default.0x174c64
jmp dword [edx*4 + 0x17ba5e]
cmp dword [ebp - 0x24], 0x7fffffff
mov edx, dword [ebp - 0x10]
jge 0x1789ca
cmp edx, dword [ebp - 0x24]
jge 0x17912f
lea eax, [ecx + 2]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
jae 0x178b2a
cmp dword [ebx + 0x18], 0
je 0x178912
push eax
lea edx, [ebx + 0x1c]
push edx
push dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
call fcn.000f8ffe
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x17912f
mov edx, dword [ebp - 0x10]
jmp 0x178942
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x178942
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x178942
cmp dword [ebx + 0x1c], 1
je 0x17912f
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ebx + 0x36]
je 0x17912f
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 0x18]
je 0x178982
cmp eax, dword [ebx + 0x7c]
jb 0x178982
cmp dword [ebx + 0x18], 0
jne 0x178982
cmp dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 8]
jne 0x178982
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x17897f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov eax, dword [ebp - 0x18]
add ecx, 2
add eax, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebx + 0x7c]
jae 0x1789b8
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
jne 0x1789b8
add ecx, 2
add dword [ebp - 0x18], 2
mov dword [ebp - 8], ecx
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x1788d8
jmp 0x17912f
cmp edx, dword [ebp - 0x24]
jge 0x17912f
lea eax, [ecx + 2]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
jae 0x178b2a
cmp dword [ebx + 0x18], 0
je 0x178a13
push eax
lea edx, [ebx + 0x1c]
push edx
push dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
call fcn.000f8ffe
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x17912f
mov edx, dword [ebp - 0x10]
jmp 0x178a43
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x178a43
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x178a43
cmp dword [ebx + 0x1c], 1
je 0x17912f
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ebx + 0x36]
je 0x17912f
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 0x18]
je 0x178a83
cmp eax, dword [ebx + 0x7c]
jb 0x178a83
cmp dword [ebx + 0x18], 0
jne 0x178a83
cmp dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 8]
jne 0x178a83
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x178a80
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov eax, dword [ebp - 0x18]
add ecx, 2
add eax, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebx + 0x7c]
jae 0x178ab9
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
jne 0x178ab9
add ecx, 2
add dword [ebp - 0x18], 2
mov dword [ebp - 8], ecx
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x1789d9
jmp 0x17912f
mov eax, dword [ebp - 0x24]
cmp eax, 0x7fffffff
jge 0x178b20
mov edx, dword [ebp - 0x10]
cmp edx, eax
jge 0x17912f
mov eax, dword [ebx + 0x7c]
cmp ecx, eax
jae 0x178b2a
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x178b15
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebx + 0x7c]
jne 0x178b15
add ecx, 2
mov dword [ebp - 8], ecx
inc edx
cmp edx, dword [ebp - 0x24]
jl 0x178ae3
jmp 0x17912f
mov ecx, dword [ebx + 0x7c]
jmp 0x178b27
mov ecx, edx
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x8c], 0
je 0x17912f
cmp ecx, dword [ebx + 0x88]
jbe 0x17912f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x17912f
mov eax, 0xfffffff4
jmp 0xfa4c7
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x24], eax
mov eax, edx
sub eax, ecx
sar eax, 1
cmp dword [ebp - 0x24], eax
ja 0x178b25
mov eax, dword [ebp - 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
jmp 0x17912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x17912f
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], 1
cmp ecx, eax
jae 0x178b2a
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x178bd7
movzx eax, word [ecx + 2]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x178bda
mov eax, dword [ebp - 0x20]
cmp eax, 0xd
jne 0x178bfb
mov eax, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x17912f
cmp word [ecx], 0xa
jne 0x178c39
add ecx, 2
jmp 0x178c36
cmp eax, 0xa
je 0x178c2d
cmp dword [ebx + 0x6c], 0
jne 0x17912f
cmp eax, 0xb
je 0x178c2d
cmp eax, 0xc
je 0x178c2d
cmp eax, 0x85
je 0x178c2d
cmp eax, 0x2028
je 0x178c2d
cmp eax, 0x2029
jne 0x17912f
mov eax, dword [ebp - 0xc]
lea ecx, [ecx + eax*2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 8], ecx
inc edx
cmp edx, dword [ebp - 0x24]
jl 0x178b95
jmp 0x17912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x17912f
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x178b2a
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x178c9b
movzx eax, word [ecx + 2]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
jmp 0x178c9e
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x178cf4
je 0x178cba
cmp eax, 0xa0
ja 0x178ceb
je 0x178cba
cmp eax, 9
je 0x178cba
cmp eax, 0x20
jne 0x178d1b
mov dword [ebp - 0xc], 1
xor eax, eax
cmp dword [ebp - 0x28], 0x12
sete al
cmp dword [ebp - 0xc], eax
je 0x17912f
mov eax, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x178c54
jmp 0x17912f
cmp eax, 0x1680
jne 0x178d1b
jmp 0x178cba
cmp eax, 0x205f
ja 0x178d14
je 0x178cba
cmp eax, 0x2000
jb 0x178d1b
cmp eax, 0x200a
jbe 0x178cba
cmp eax, 0x202f
jne 0x178d1b
jmp 0x178cba
cmp eax, 0x3000
je 0x178cba
mov dword [ebp - 0xc], 0
jmp 0x178cc1
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x17912f
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x178b2a
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x178d77
movzx eax, word [ecx + 2]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
jmp 0x178d7a
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x178dbe
je 0x178dc8
cmp eax, 0xa
jb 0x178d8d
cmp eax, 0xd
jbe 0x178dc8
mov dword [ebp - 0xc], 0
xor eax, eax
cmp dword [ebp - 0x28], 0x14
sete al
cmp dword [ebp - 0xc], eax
je 0x17912f
mov eax, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x178d30
jmp 0x17912f
add eax, 0xffffdfd8
cmp eax, 1
ja 0x178d8d
mov dword [ebp - 0xc], 1
jmp 0x178d94
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x17912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x178b2a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x178e2a
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x178e2d
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x178e47
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne 0x17912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x178ddd
jmp 0x17912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x17912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x178b2a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x178eb4
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x178eb7
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x17912f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
je 0x17912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x178e67
jmp 0x17912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x17912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x178b2a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x178f42
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x178f45
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x178f5f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
jne 0x17912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x178ef5
jmp 0x17912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x17912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x178b2a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x178fcc
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x178fcf
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x17912f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
je 0x17912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x178f7f
jmp 0x17912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x17912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x178b2a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17905a
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x17905d
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x179077
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
jne 0x17912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x17900d
jmp 0x17912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x17912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x17910a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1790e0
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x1790e3
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x17912f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
je 0x17912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x179097
jmp 0x17912f
cmp dword [ebx + 0x8c], 0
je 0x17912f
cmp ecx, dword [ebx + 0x88]
jbe 0x17912f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
test esi, esi
jne 0xfa360
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0xfa3d1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x179187
sub ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x28], 0x11
jne 0x1791a4
cmp ecx, esi
jbe 0x1791a6
cmp word [ecx], 0xa
jne 0x1791a4
cmp word [ecx - 2], 0xd
jne 0x1791a4
add ecx, 0xfffffffe
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x179142
jmp 0xfa3d1
lea eax, [edx - 6]
cmp eax, 0xf
ja case.default.0x174c64
jmp dword [eax*4 + 0x17ba9e]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x179702
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
jae 0x17929e
cmp dword [ebx + 0x18], 0
je 0x179202
lea edx, [ebx + 0x1c]
push 0
push edx
mov edx, dword [ebx + 0x18]
push eax
call fcn.000f8ffe
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x179702
mov edx, dword [ebp - 0x10]
jmp 0x179230
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x179230
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x179230
cmp dword [ebx + 0x1c], 1
je 0x179702
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
je 0x179702
cmp dword [ebx + 0x8c], 0
je 0x17926a
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x17926a
cmp dword [ebx + 0x18], 0
jne 0x17926a
cmp dword [ebx + 0x1c], 2
jne 0x17926a
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x17926a
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
inc edx
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x1791cc
jmp 0x179702
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x24], eax
mov eax, edx
sub eax, ecx
sar eax, 1
cmp dword [ebp - 0x24], eax
jbe 0x1792d5
mov ecx, edx
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x8c], 0
je 0x179702
cmp ecx, dword [ebx + 0x88]
jbe 0x179702
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x179702
mov eax, 0xfffffff4
jmp 0xfa4c7
mov eax, dword [ebp - 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
jmp 0x179702
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x179702
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x17929e
movzx edx, word [ecx]
cmp edx, 0xd
jne 0x179317
mov edx, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, edx
jae 0x179702
cmp word [ecx], 0xa
je 0x17934f
jmp 0x179355
cmp edx, 0xa
je 0x17934c
cmp dword [ebx + 0x6c], 0
jne 0x179702
cmp edx, 0xb
je 0x17934c
cmp edx, 0xc
je 0x17934c
cmp edx, 0x85
je 0x17934c
cmp edx, 0x2028
je 0x17934c
cmp edx, 0x2029
jne 0x179702
mov edx, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
inc eax
cmp eax, dword [ebp - 0x24]
jl 0x1792f2
jmp 0x179702
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x179702
cmp ecx, dword [ebx + 0x7c]
jae 0x17929e
movzx edx, word [ecx]
cmp edx, 0x180e
jg 0x1793b4
je 0x179702
cmp edx, 0xa0
jg 0x1793a7
je 0x179702
cmp edx, 9
je 0x179702
cmp edx, 0x20
jne 0x1793ef
jmp 0x179702
cmp edx, 0x1680
jne 0x1793ef
jmp 0x179702
cmp edx, 0x205f
jg 0x1793e3
je 0x179702
cmp edx, 0x2000
jl 0x1793ef
cmp edx, 0x200a
jle 0x179702
cmp edx, 0x202f
jne 0x1793ef
jmp 0x179702
cmp edx, 0x3000
je 0x179702
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x17936c
jmp 0x179702
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x179702
cmp ecx, dword [ebx + 0x7c]
jae 0x17929e
movzx edx, word [ecx]
cmp edx, 0x180e
jg 0x17944c
je 0x179483
cmp edx, 0xa0
jg 0x17943f
je 0x179483
cmp edx, 9
je 0x179483
cmp edx, 0x20
je 0x179483
jmp 0x179702
cmp edx, 0x1680
je 0x179483
jmp 0x179702
cmp edx, 0x205f
jg 0x179477
je 0x179483
cmp edx, 0x2000
jl 0x179702
cmp edx, 0x200a
jle 0x179483
cmp edx, 0x202f
je 0x179483
jmp 0x179702
cmp edx, 0x3000
jne 0x179702
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x179410
jmp 0x179702
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x179702
cmp ecx, dword [ebx + 0x7c]
jae 0x17929e
movzx edx, word [ecx]
cmp edx, 0x85
jg 0x1794c9
je 0x179702
cmp edx, 0xa
jl 0x1794dd
cmp edx, 0xd
jg 0x1794dd
jmp 0x179702
cmp edx, 0x2028
jl 0x1794dd
cmp edx, 0x2029
jle 0x179702
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x1794a0
jmp 0x179702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x179702
cmp ecx, dword [ebx + 0x7c]
jae 0x17929e
movzx eax, word [ecx]
cmp eax, 0x85
jg 0x17951c
je 0x17952a
add eax, 0xfffffff6
cmp eax, 3
jbe 0x17952a
jmp 0x179702
add eax, 0xffffdfd8
cmp eax, 1
ja 0x179702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x1794fa
jmp 0x179702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x179702
cmp ecx, dword [ebx + 0x7c]
jae 0x17929e
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x179572
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne 0x179702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x179547
jmp 0x179702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x179702
cmp ecx, dword [ebx + 0x7c]
jae 0x17929e
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x179702
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
je 0x179702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x17958f
jmp 0x179702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x179702
cmp ecx, dword [ebx + 0x7c]
jae 0x17929e
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x179606
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
jne 0x179702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x1795db
jmp 0x179702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x179702
cmp ecx, dword [ebx + 0x7c]
jae 0x17929e
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x179702
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
je 0x179702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x179623
jmp 0x179702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x179702
cmp ecx, dword [ebx + 0x7c]
jae 0x17929e
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x179696
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
jne 0x179702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x17966f
jmp 0x179702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x179702
cmp ecx, dword [ebx + 0x7c]
jae 0x1796dd
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x179702
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
je 0x179702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x1796ac
jmp 0x179702
cmp dword [ebx + 0x8c], 0
je 0x179702
cmp ecx, dword [ebx + 0x88]
jbe 0x179702
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
test esi, esi
jne 0xfa360
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0xfa3d1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
cmp dword [ebp - 0x28], 0x11
mov dword [ebp - 8], ecx
jne 0x17975c
cmp ecx, esi
jbe 0x17975e
cmp word [ecx], 0xa
jne 0x17975c
cmp word [ecx - 2], 0xd
jne 0x17975c
add ecx, 0xfffffffe
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x179715
jmp 0xfa3d1
mov eax, dword [ebp + 0x18]
inc eax
cmp word [edi], 0x7a
push eax
push dword [ebp + 0x14]
push ebx
push edx
push ecx
mov ecx, dword [ebp - 8]
jne 0x179794
lea edx, [edi + 4]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov edi, dword [ebp - 0xc]
jmp 0xfa3ce
mov edx, dword [ebp - 0xc]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
add edi, 4
jmp 0xfa3ce
mov edx, esi
mov esi, dword [ebp - 8]
mov ecx, esi
call fcn.000fa300
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x1797d6
mov ecx, dword [ebp - 0x20]
cmp dword [ebx + 0xb8], ecx
jne 0xfa4c7
jmp 0x1797e1
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0x179a44
add edi, 4
jmp 0xfa3ce
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x179812
sub ecx, 2
mov dword [ebp - 8], ecx
movzx edx, word [ecx]
mov eax, edx
and eax, 0xfc00
mov dword [ebp - 0x14], edx
cmp eax, 0xd800
jne 0x179843
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0x14], edx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x179868
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b10a]
mov dword [ebp - 0x2c], eax
cmp ecx, dword [ebp - 0x38]
je 0xfa3d1
lea edx, [ecx - 2]
mov dword [ebp - 0xc], edx
test esi, esi
jne 0x179895
movzx ecx, word [edx]
jmp 0x1798db
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x1798b0
sub edx, 2
mov dword [ebp - 0xc], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x1798db
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x1798fd
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx eax, word [eax*2 + 0x18e608]
movzx edx, byte [eax*8 + 0x19b10a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x18e52c], eax
je 0x179930
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x2c], edx
jmp 0x17987d
mov ecx, dword [ebp - 8]
jmp 0x178864
mov dword [ebx + 0x9c], 2
jmp 0xfac56
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x17b5ca
cmp word [edi], 0x77
je 0xfaca5
cmp word [eax], 0x77
jne 0x17b5ca
jmp 0xfaca5
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x18e560]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
lea eax, [edi + 4]
mov dword [ebx + 0x80], eax
mov eax, 0xfffffc1f
jmp 0xfa4c7
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je case.0xfa384.157
push eax
call dword [0x1ab80c]
add esp, 4
jmp case.0xfa384.157
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x154]
cmp ecx, edx
je 0xfa4c7
push ecx
call dword [0x1ab80c]
mov eax, dword [ebp - 0xc]
add esp, 4
jmp 0xfa4c7
mov eax, 0xfffffffa
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
lea edx, [edi + 4]
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0xfa4c7
mov esi, dword [ebp + 8]
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x90], edx
mov eax, 0xfffffc1a
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push edx
push dword [ebp + 8]
lea edx, [edi + 4]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov dword [ebx + 0xb8], esi
mov eax, 0xfffffc1b
jmp 0xfa4c7
mov eax, dword [ebp - 8]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x90], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x80], eax
jmp 0xfa4c2
cmp ecx, dword [ebx + 0x88]
jbe case.0xfa384.157
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0xfa384.157
mov eax, 0xfffffff4
jmp 0xfa4c7
mov eax, 0xfffffff2
jmp 0xfa4c7
cmp eax, 0xfffffffe
jne 0x179b29
mov esi, dword [ebx + 0x7c]
cmp dword [ebx + 0x8c], 0
je case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jb case.0xfa384.157
cmp esi, dword [ebx + 0x88]
jmp 0x179af3
mov dword [ebp - 0xc], eax
cmp ecx, edx
jl 0x179b53
jmp 0x179bb9
mov eax, dword [ebp - 8]
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push esi
mov edx, eax
call fcn.001610c1
add esp, 0xc
test eax, eax
js 0x179b80
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x18]
jl 0x179b50
jmp 0x179bb0
cmp eax, 0xfffffffe
jne 0x179bad
cmp dword [ebx + 0x8c], 0
je 0x179bad
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x88]
jbe 0x179bad
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jb case.0xfa384.157
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov edx, dword [ebp - 8]
mov eax, esi
neg eax
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edx, dword [ebp - 0xc]
jae 0x179bb9
xor eax, eax
jmp 0xfa4c7
cmp ecx, 0xfffffffe
jne 0x179c00
mov eax, dword [ebx + 0x7c]
jmp 0x179c03
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0xfa384.157
cmp eax, dword [ebx + 0x7c]
jb case.0xfa384.157
cmp eax, dword [ebx + 0x88]
jmp 0x179af3
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0x24]
je case.0xfa384.157
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x179c4a
sub esi, 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x179c24
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test ecx, ecx
mov ecx, dword [ebp - 8]
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
je 0x179d6f
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x18]
jge case.0xfa384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x179cf3
movzx eax, word [ecx]
mov ebx, dword [ebp - 0x20]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], ecx
jmp 0x179cf6
mov eax, dword [ebp - 0x20]
cmp eax, 0xff
jbe 0x179d08
cmp esi, 0x6e
je case.0xfa384.157
jmp 0x179d2d
shr dword [ebp - 0x20], 3
mov ebx, dword [ebp - 0x20]
mov ecx, eax
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0xfa384.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc edx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x28], edx
push dword [ebp + 8]
mov edx, edi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x179c9a
jmp 0xfa4c7
cmp dword [ebx + 0x8c], 0
je case.0xfa384.157
cmp ecx, dword [ebx + 0x88]
jmp 0x179af3
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x18]
jge case.0xfa384.157
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0xfaba5
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x179db6
cmp esi, 0x6e
je case.0xfa384.157
jmp 0x179dd6
shr dword [ebp - 0x14], 3
mov ebx, dword [ebp - 0x14]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x28], edx
push dword [ebp + 8]
mov edx, edi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x179d7f
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x28], eax
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx edx, word [esi]
mov ecx, dword [ebp - 0x1c]
add esi, 2
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x179e6e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x179e6e
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
add esi, 2
jmp 0x179e71
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00161415
add esp, 4
test eax, eax
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x28]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x179e22
jmp 0xfa4c7
cmp dword [ebx + 0x8c], 0
je case.0xfa384.157
cmp esi, dword [ebx + 0x88]
jmp 0x179af3
cmp dword [ebx + 0x8c], 0
je case.0xfa384.157
cmp edx, dword [ebx + 0x7c]
jb case.0xfa384.157
cmp edx, dword [ebx + 0x88]
jmp 0x179af3
cmp dword [ebx + 0x8c], edx
je case.0xfa384.157
cmp ecx, dword [ebx + 0x88]
jmp 0x179af3
mov ecx, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0xfa384.157
cmp ecx, dword [ebx + 0x7c]
jb case.0xfa384.157
jmp 0x179aed
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov edx, dword [ebp - 0x10]
lea ecx, [edx + edx]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x28], eax
jge case.0xfa384.157
mov eax, dword [ebx + 0x7c]
sub eax, ecx
cmp esi, eax
ja 0x179f7d
lea eax, [edx + edx]
push eax
push dword [ebp - 0x2c]
push esi
call fcn.0010f563
add esp, 0xc
test eax, eax
jne 0x179f7d
add esi, dword [ebp - 0xc]
jmp 0x179fb7
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jle 0x179b29
mov eax, dword [ebx + 0x7c]
lea edx, [ecx + ecx]
sub eax, edx
mov dword [ebp - 0x14], edx
cmp esi, eax
ja 0x179b29
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.0010f563
add esp, 0xc
test eax, eax
jne 0x179b29
add esi, dword [ebp - 0x14]
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x28]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
add esp, 0x14
test eax, eax
je 0x179f4f
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x18]
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx ecx, word [esi]
cmp dword [ebp - 0x24], ecx
je 0x17a034
cmp dword [ebp - 0x10], ecx
jne case.0xfa384.157
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
add esi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a00e
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x18]
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x24], eax
jne case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a082
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test esi, esi
mov esi, dword [ebp - 8]
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
je 0x17a17b
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x17a141
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
cmp dword [ebp - 0x18], edx
je case.0xfa384.157
cmp dword [ebp - 0x20], edx
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a0fc
jmp 0xfa4c7
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x10]
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx ecx, word [esi]
cmp dword [ebp - 0x18], ecx
je case.0xfa384.157
cmp dword [ebp - 0x20], ecx
je case.0xfa384.157
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
add esi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a18b
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test esi, esi
mov esi, dword [ebp - 8]
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
je 0x17a284
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x17a253
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
cmp dword [ebp - 0x18], edx
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a20e
jmp 0xfa4c7
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x18], eax
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a294
jmp 0xfa4c7
cmp edx, 0xa
ja case.default.0x174c64
jmp dword [edx*4 + 0x17bade]
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0xfa384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x17a34d
and edx, 0xfc00
cmp edx, 0xd800
jne 0x17a34d
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x3c], 0
jne case.0xfa384.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a312
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0xfa384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x17a3f7
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17a3f7
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x17a41c
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp eax, 9
je 0x17a441
cmp eax, 5
je 0x17a441
cmp eax, 8
je 0x17a441
xor eax, eax
jmp 0x17a446
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a39d
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x17a4e5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17a4e5
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x17a507
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp dword [eax*4 + 0x1a6180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a49a
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x17a5cb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17a5cb
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x17a5ed
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a580
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x17a6aa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17a6aa
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x17a6cc
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b108]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a65f
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0xfa384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x17a796
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17a796
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x17a7bb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x17a7e2
cmp eax, 3
je 0x17a7e2
xor eax, eax
jmp 0x17a7e7
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a73c
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x17a889
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17a886
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, dword [ebp - 0x10]
cmp ecx, 0x180e
ja 0x17a8d6
je 0x17a95b
cmp ecx, 0x85
ja 0x17a8bd
je 0x17a95b
cmp ecx, 9
jb case.0x17a8f2.8203
cmp ecx, 0xd
jbe 0x17a95b
cmp ecx, 0x20
jne case.0x17a8f2.8203
jmp 0x17a95b
cmp ecx, 0xa0
je 0x17a95b
cmp ecx, 0x1680
jne case.0x17a8f2.8203
jmp 0x17a95b
cmp ecx, 0x202f
ja 0x17a8f9
je 0x17a95b
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x17a8f2.8203
movzx eax, byte [eax + 0x17bb12]
jmp dword [eax*4 + 0x17bb0a]
cmp ecx, 0x205f
je 0x17a95b
cmp ecx, 0x3000
je 0x17a95b
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x17a92b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
cmp dword [eax*4 + 0x1a6180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp - 0x10]
jmp 0x17a965
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x3c], 0
jne case.0xfa384.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a83b
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0xfa384.157
cmp esi, dword [ebx + 0x7c]
jae 0x179eb2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], ecx
je 0x17aa06
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17aa06
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], ecx
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x19c4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x17aa2c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x18e608]
movzx eax, byte [eax*8 + 0x19b109]
mov eax, dword [eax*4 + 0x1a6180]
cmp eax, 1
je 0x17aa58
cmp eax, 3
je 0x17aa58
cmp edx, 0x5f
je 0x17aa58
xor eax, eax
jmp 0x17aa5d
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17a9b5
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0xfa384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x17ab0a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17ab07
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x44]
lea esi, [esi*4 + 0x19e6a0]
mov dword [ebp - 0x2c], esi
mov esi, dword [esi]
mov dword [ebp - 0xc], esi
cmp edx, esi
mov esi, dword [ebp + 8]
jb 0x17ab3e
add dword [ebp - 0x2c], 4
mov ebx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0xc]
je 0x17ab70
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov dword [ebp - 0xc], ecx
cmp edx, ecx
mov ecx, dword [ebp - 8]
jae 0x17ab23
cmp dword [ebp - 0x3c], 0
je case.0xfa384.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17aab3
jmp 0xfa4c7
cmp dword [ebp - 0x3c], 0
jne case.0xfa384.157
jmp 0x17ab48
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0xfa384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x179d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x17abf5
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17abf2
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x10]
cmp edx, 0x24
je 0x17ac20
cmp edx, 0x40
je 0x17ac20
cmp edx, 0x60
je 0x17ac20
cmp edx, 0xa0
jb 0x17ac14
cmp edx, 0xd7ff
jbe 0x17ac20
cmp edx, 0xe000
jae 0x17ac20
xor edx, edx
jmp 0x17ac25
mov edx, 1
cmp edx, dword [ebp - 0x3c]
je case.0xfa384.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17ab9e
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0xfa384.157
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], eax
cmp esi, eax
jae 0x179eb2
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
je 0x17acce
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17acce
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
add esi, 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x17acf3
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x18e608]
movzx edx, byte [eax*8 + 0x19b10a]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x17adba
mov ebx, dword [ebp - 0x1c]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x17ad55
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x17ad55
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x19c4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x17ad77
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x18e608]
movzx ecx, byte [eax*8 + 0x19b10a]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x18e52c], eax
je 0x17adae
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp esi, eax
jb 0x17ad18
jmp 0x17adb1
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
cmp dword [ebx + 0x8c], 0
je 0x17ade3
cmp esi, eax
jb 0x17ade3
cmp esi, dword [ebx + 0x88]
jbe 0x17ade3
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17ac78
jmp 0xfa4c7
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0xfab37
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0xfab37
cmp dword [ebx + 0x1c], 1
je case.0xfa384.157
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0xfa384.157
jmp 0xfab37
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
jmp 0xfab4f
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x174c64
jmp dword [eax*4 + 0x17bb3e]
cmp edx, 0xd
ja 0x17aeb5
je 0x17ae9a
cmp edx, 0xa
je case.0x17ae75.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0xfa384.157
jmp 0x17aecc
cmp esi, dword [ebx + 0x7c]
jae case.0x17ae75.13
cmp word [esi], 0xa
jne case.0x17ae75.13
add esi, 2
jmp case.0x17ae75.13
cmp edx, 0x85
je 0x17aecc
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0xfa384.157
cmp dword [ebx + 0x6c], 0
jne case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x180e
ja 0x17af1f
je case.0xfa384.157
cmp edx, 0xa0
ja 0x17af0e
je case.0xfa384.157
cmp edx, 9
je case.0xfa384.157
cmp edx, 0x20
je case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x1680
je case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x205f
ja 0x17af56
je case.0xfa384.157
cmp edx, 0x2000
jb case.0x17ae75.13
cmp edx, 0x200a
jbe case.0xfa384.157
cmp edx, 0x202f
je case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x3000
je case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x180e
ja 0x17afab
je case.0x17ae75.13
cmp edx, 0xa0
ja 0x17af9a
je case.0x17ae75.13
cmp edx, 9
je case.0x17ae75.13
cmp edx, 0x20
jne case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x1680
jne case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x205f
ja 0x17afe2
je case.0x17ae75.13
cmp edx, 0x2000
jb case.0xfa384.157
cmp edx, 0x200a
jbe case.0x17ae75.13
cmp edx, 0x202f
jne case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x3000
jne case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x85
ja 0x17b018
je case.0xfa384.157
cmp edx, 0xa
jb case.0x17ae75.13
cmp edx, 0xd
jbe case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x2028
jb case.0x17ae75.13
cmp edx, 0x2029
jbe case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x85
ja 0x17b054
je case.0x17ae75.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0xfa384.157
jmp case.0x17ae75.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x100
jae case.0x17ae75.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x100
jae case.0xfa384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x100
jae case.0x17ae75.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x100
jae case.0xfa384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x100
jae case.0x17ae75.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0xfa384.157
jmp case.0x17ae75.13
cmp edx, 0x100
jae case.0xfa384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0xfa384.157
jmp case.0x17ae75.13
cmp esi, dword [ebx + 0x7c]
jb case.0x17ae75.13
cmp dword [ebx + 0x18], 0
jne case.0x17ae75.13
cmp dword [ebx + 0x1c], 2
jne case.0x17ae75.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x17ae75.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
jmp case.0x17ae75.13
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0xfa384.157
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x179eb2
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x17b1f2
cmp dword [ebx + 0x18], 0
je 0x17b1c3
push 0
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.000f8ffe
add esp, 0xc
test eax, eax
jne case.0xfa384.157
mov ecx, dword [ebp - 0x10]
jmp 0x17b1ef
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x17b1ef
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x17b1ef
cmp dword [ebx + 0x1c], 1
je case.0xfa384.157
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0xfa384.157
mov eax, dword [ebp - 0x28]
movzx edx, word [esi]
add eax, 0xfffffffa
add esi, 2
cmp eax, 0xf
ja case.default.0x174c64
jmp dword [eax*4 + 0x17bb7e]
cmp dword [ebx + 0x8c], 0
je case.0x17b204.13
cmp esi, dword [ebx + 0x7c]
jb case.0x17b204.13
cmp dword [ebx + 0x18], 0
jne case.0x17b204.13
cmp dword [ebx + 0x1c], 2
jne case.0x17b204.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x17b204.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x17412d
jmp case.0x17b204.13
cmp edx, 0xd
ja 0x17b293
je 0x17b278
cmp edx, 0xa
je case.0x17b204.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0xfa384.157
jmp 0x17b2aa
cmp esi, dword [ebx + 0x7c]
jae case.0x17b204.13
cmp word [esi], 0xa
jne case.0x17b204.13
add esi, 2
jmp case.0x17b204.13
cmp edx, 0x85
je 0x17b2aa
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0xfa384.157
cmp dword [ebx + 0x6c], 0
jne case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x180e
ja 0x17b2fd
je case.0xfa384.157
cmp edx, 0xa0
ja 0x17b2ec
je case.0xfa384.157
cmp edx, 9
je case.0xfa384.157
cmp edx, 0x20
je case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x1680
je case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x205f
ja 0x17b334
je case.0xfa384.157
cmp edx, 0x2000
jb case.0x17b204.13
cmp edx, 0x200a
jbe case.0xfa384.157
cmp edx, 0x202f
je case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x3000
je case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x180e
ja 0x17b389
je case.0x17b204.13
cmp edx, 0xa0
ja 0x17b378
je case.0x17b204.13
cmp edx, 9
je case.0x17b204.13
cmp edx, 0x20
jne case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x1680
jne case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x205f
ja 0x17b3c0
je case.0x17b204.13
cmp edx, 0x2000
jb case.0xfa384.157
cmp edx, 0x200a
jbe case.0x17b204.13
cmp edx, 0x202f
jne case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x3000
jne case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x85
ja 0x17b3f6
je case.0xfa384.157
cmp edx, 0xa
jb case.0x17b204.13
cmp edx, 0xd
jbe case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x2028
jb case.0x17b204.13
cmp edx, 0x2029
jbe case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0x85
ja 0x17b432
je case.0x17b204.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0xfa384.157
jmp case.0x17b204.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0xff
ja case.0x17b204.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0xff
ja case.0xfa384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0xff
ja case.0x17b204.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0xff
ja case.0xfa384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0xff
ja case.0x17b204.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0xfa384.157
jmp case.0x17b204.13
cmp edx, 0xff
ja case.0xfa384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0xfa384.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
je 0x17b17d
jmp 0xfa4c7
mov dword [ebx + 0x9c], 2
jmp 0xfa9dc
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0xfaa25
cmp word [edi], 0x77
je 0x17b53c
cmp word [eax], 0x77
jne 0xfaa25
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x77
je 0xfa9d0
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
mov dword [eax + esi*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x44]
mov dword [eax + esi*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0xc]
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp - 0x28]
mov dword [eax + ecx*4], esi
jmp 0xfaa25
cmp edx, 0xfffffc1b
jne 0x17b5ca
movzx eax, word [edi]
mov ecx, 0x81
cmp ax, cx
je 0x17b5bc
cmp eax, 0x77
jne 0x17b5b3
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x17b5a5
movzx eax, word [edi + 2]
neg eax
lea edi, [edi + eax*2]
mov eax, dword [ebx + 0xb8]
sub eax, edi
neg eax
sbb eax, eax
and edx, eax
mov eax, edx
jmp 0xfa4c7
mov esi, dword [ebp - 8]
lea eax, [edi + 4]
mov dword [ebx + 0xb4], eax
mov dword [ebx + 0xb0], edx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x18e560]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, esi
call fcn.000fa300
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x17b621
cmp edi, 0xfffffc19
jne 0x17b63a
cmp dword [ebx + 0xb0], 0
jne 0x17b63a
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0xb0], ecx
mov eax, edi
jmp 0xfa4c7
cmp edi, 0xfffffc1f
jne 0x17b658
mov edx, dword [ebx + 0x80]
mov ecx, dword [ebp - 0xc]
call fcn.001612f7
test eax, eax
je 0x17b76b
mov eax, edi
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x18e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, 0xfffffc1c
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x18e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov eax, 0xfffffc1d
jmp 0xfa4c7
lea esi, [edi + 4]
mov dword [ebx + 0xb4], esi
mov dword [ebx + 0xb0], edx
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x18e560]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.000fa300
add esp, 0x14
cmp eax, 1
je 0x17b719
cmp eax, 0xfffffc19
jne 0x17b728
cmp dword [ebx + 0xb0], 0
jne 0x17b728
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0xfa4c7
mov eax, 0xfffffc1d
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x18e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
mov ecx, esi
call fcn.000fa300
add esp, 0x14
test eax, eax
jne 0xfa4c7
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1e
jmp 0xfa4c7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x18e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.000fa300
add esp, 0x14
jmp 0x17b7aa
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0xfa4c7
mov dword [ebx + 0x80], edi
mov eax, 0xfffffc20
jmp 0xfa4c7
lea esi, [edi + 4]
mov dword [ebx + 0xb4], esi
mov dword [ebx + 0xb0], edx
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x18e560]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.000fa300
add esp, 0x14
cmp eax, 1
je 0x17b80a
cmp eax, 0xfffffc19
jne 0x17b7aa
cmp dword [ebx + 0xb0], 0
jne 0x17b7aa
jmp 0x17b7a4
cmp esi, 0x9f
je 0xfa4a5
cmp dword [ebx + 0xa8], 0
jne 0xfa4a5
cmp dword [ebx + 0x60], 0
jne case.0xfa384.157
cmp dword [ebx + 0x64], 0
je 0xfa4a5
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp edi, eax
je case.0xfa384.157
jmp 0xfa4a5
mov eax, 0xfffffc19
jmp 0xfa4c7
mov eax, 0xfffffffb
jmp 0xfa4c7
mov eax, 0xffffffeb
jmp 0xfa4c7
inc dword [ebx]
mov eax, 0xfffffff8
jmp 0xfa4c7