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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
push ebx
mov ebx, edx
mov eax, ecx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], eax
push esi
push edi
test ebx, ebx
je 0xbc887e
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov eax, dword [esi]
mov ecx, dword [esi + 0x50]
mov dword [ebp - 0x24], ecx
cmp eax, dword [esi + 4]
jae 0xbd07d7
mov edx, dword [ebp - 8]
inc eax
mov dword [esi], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [esi + 8]
jae 0xb95583
cmp dword [esi + 0x9c], 2
je 0xbc88af
movzx ecx, word [ebx]
mov edi, ecx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], 0
cmp edi, 0xa1
ja case.0xb94bd5.98
movzx eax, byte [edi + 0xb956dc]
jmp dword [eax*4 + 0xb95590]
movzx eax, word [ebx + 2]
mov edi, ebx
add eax, eax
mov ecx, 0x88
sub edi, eax
mov dword [ebp - 0x20], edi
movzx eax, word [edi]
cmp ax, cx
jae 0xbc9543
mov ecx, 0x81
cmp ax, cx
je 0xbc9543
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
cmp eax, 0x7d
jb 0xb94c23
mov dword [ebp - 0x14], 0x80
cmp ax, word [ebp - 0x14]
jbe 0xbceb1e
mov dword [ebp - 0x14], 0x82
cmp ax, word [ebp - 0x14]
je 0xbceb1e
mov dword [ebp - 0x14], 0x85
cmp ax, word [ebp - 0x14]
je 0xb94fa0
mov dword [ebp - 0x14], 0x8a
cmp ax, word [ebp - 0x14]
je 0xb94fa0
mov dword [ebp - 0x14], 0x86
cmp ax, word [ebp - 0x14]
je 0xb94fa0
mov dword [ebp - 0x14], 0x8b
cmp ax, word [ebp - 0x14]
je 0xb94fa0
movzx eax, word [ebx]
cmp eax, 0x78
jne 0xbc95b5
mov eax, 0x81
cmp word [edi], ax
je 0xbceac4
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0xb94baf
mov edx, dword [ebp - 8]
mov ebx, dword [ebp + 8]
cmp edx, ebx
je 0xbd0791
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x84], edx
mov dword [esi + 0x90], eax
mov dword [esi + 0x80], ebx
test edi, edi
jne 0xb9556f
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0x88
jae 0xbce97b
cmp edi, 0x81
je 0xbce97b
cmp dword [esi + 0x70], 0
jne 0xb95492
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
je 0xb95492
movzx eax, word [ebx]
movzx eax, byte [eax + 0xc26760]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
mov eax, dword [esi + 0x50]
mov dword [ebp - 0x24], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jb 0xb94b93
jmp 0xbd07d7
mov edi, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], edi
cmp eax, edi
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xb94d60
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0xbca47e
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xb94d82
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f62]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
cmp eax, edi
jae 0xb94e1d
mov ebx, dword [ebp - 0x28]
mov esi, eax
cmp dword [ebp - 0x24], 0
mov edi, 1
movzx ecx, word [esi]
je 0xb94dc3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0xbca4a3
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xb94de5
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x14]
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx ecx, byte [eax*8 + 0xc23f62]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0xc26810], eax
jne 0xb94f17
mov ebx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 8], esi
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
jne 0xbca4c7
add ebx, 2
mov dword [ebp - 0x30], ebx
mov edx, dword [ebp - 8]
jmp 0xb94baf
movzx ecx, word [ebx + 0x22]
lea eax, [ebx + 2]
add ebx, 0x22
mov dword [ebp - 0x20], eax
mov edx, ecx
mov dword [ebp - 0x30], ebx
mov eax, edx
cmp eax, 0x6d
jle 0xb95352
mov edx, dword [ebp - 0x2c]
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x24], 0
je 0xbca78c
mov dword [ebp - 0x28], 1
cmp eax, 1
jl 0xb953b1
nop
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x14], ecx
cmp eax, 0xd800
je 0xbca756
cmp ecx, 0xff
ja 0xbca77e
mov esi, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x14]
shr ecx, 3
test byte [ecx + esi], al
mov esi, dword [ebp + 0x10]
je case.0xb94bd5.157
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x10]
jle 0xb94e80
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
je 0xb94e30
test edx, edx
jne 0xbceccf
mov ecx, eax
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x24], edx
je 0xbca85f
mov ecx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], ecx
jge 0xb95410
jmp 0xb953c3
lea esi, [esi + edi*2]
mov dword [ebp - 0x14], ecx
cmp esi, ebx
jb 0xb94da3
jmp 0xb94e0e
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
cmp dword [ebp - 0x24], 0
je 0xbcac90
movzx edi, word [ebx + 2]
add ebx, 2
mov eax, edi
mov edx, 1
and eax, 0xfc00
cmp eax, 0xd800
je 0xbcabdd
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp edi, 0x80
jae 0xbcac01
cmp ecx, 0xff
ja 0xb94f7f
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [esi + 0x3c]
movzx eax, byte [eax + edi]
cmp eax, ecx
jne case.0xb94bd5.157
add ebx, 2
add dword [ebp - 8], 2
mov edx, dword [ebp - 8]
mov dword [ebp - 0x30], ebx
jmp 0xb94baf
movzx ecx, word [edi + 4]
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x28], ecx
lea edi, [ecx + ecx]
mov dword [ebp - 0x14], edi
test eax, eax
jne 0xbc9559
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, ecx
mov dword [esi + 0x94], eax
cmp edi, dword [esi + 0x14]
jge 0xbc957e
mov ecx, dword [ebp + 0xc]
cmp edi, ecx
jg 0xbc958e
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, dword [ebp - 0x28]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edi*4 + 4], ecx
cmp dword [ebp + 0xc], edi
jg 0xb9500e
lea eax, [edi + 2]
mov dword [ebp + 0xc], eax
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
jmp 0xb94c78
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
je 0xb95049
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0xbca246
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0xc34b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0xb9506f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ebx + 2]
movzx ecx, word [ecx*2 + 0xc26850]
mov dword [ebp - 0x14], ecx
cmp eax, 9
jne 0xbca26e
movzx eax, word [ebx + 4]
mov ecx, dword [eax*4 + 0xc255e0]
lea eax, [eax*4 + 0xc255e0]
cmp edx, ecx
jb 0xbca470
lea eax, [eax + 4]
cmp edx, ecx
je 0xb950b5
mov ecx, dword [eax]
cmp edx, ecx
jae 0xb950a3
jmp 0xbca470
cmp edi, 0x10
jne case.0xb94bd5.157
mov edx, dword [ebp - 8]
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0xb94baf
cmp dword [ebp - 0x24], 0
je 0xbcabae
mov ax, word [ebx + 2]
add ebx, 2
mov ecx, 0xfc00
mov dword [ebp - 0x30], ebx
and ax, cx
mov edi, 1
mov ecx, 0xd800
cmp ax, cx
je 0xb95557
mov eax, dword [esi + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp edi, eax
jg 0xbceefd
test edi, edi
jle 0xb94e30
mov cx, word [ebx]
dec edi
mov ax, word [edx]
add ebx, 2
add edx, 2
mov dword [ebp - 0x30], ebx
mov dword [ebp - 8], edx
cmp cx, ax
jne case.0xb94bd5.157
test edi, edi
jle 0xb94e30
jmp 0xb95115
movzx edx, word [ebx + 4]
mov dword [ebp - 0x28], edx
lea eax, [edx + edx]
mov dword [ebp - 0x14], eax
cmp eax, dword [esi + 0x14]
jge case.0xb94bd5.129
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x28]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
mov edi, edi
cmp edi, 0x88
jae 0xbd0484
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0xc26760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00b94b50
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0xbd04db
cmp edx, 0xfffffc20
je 0xbd0493
test edx, edx
je 0xbd04b8
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [edi - 0x55]
add ebx, 2
test cl, 1
je 0xb95568
mov eax, 1
movsx edi, byte [ecx + 0xc2674c]
movsx edx, byte [ecx + 0xc26740]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], edi
test edi, edi
jne 0xb9522d
mov dword [ebp - 0x18], 0x7fffffff
movzx edi, word [ebx]
add ebx, 2
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x30], ebx
cmp edi, 0x10
je 0xbcba73
cmp edi, 0xf
je 0xbcba6a
or ecx, 0xffffffff
mov dword [ebp - 0x10], ecx
test edx, edx
jg 0xbcba92
mov edi, dword [ebp - 8]
cmp edx, dword [ebp - 0x18]
je 0xb94e30
test eax, eax
je 0xbcd014
test ecx, ecx
jns 0xbcf2e9
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
cmp dword [ebp - 0x1c], 0x16
je 0xbcfc19
cmp dword [ebp - 0x24], 0
je 0xbd00f1
test eax, eax
jne 0xb94ccd
lea esp, [esp]
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0xb94bd5.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0xbceee5
cmp dword [ebp - 0x1c], 0xc
jne 0xb952f5
mov edx, dword [esi + 0x18]
test edx, edx
je 0xbcfda2
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00b9602f
add esp, 0xc
test eax, eax
jne case.0xb94bd5.157
mov edx, dword [ebp - 0xc]
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0xbcfddb
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0xbcfdfc
cmp dword [esi + 0x8c], 0
jne 0xbd00af
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0xc], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
jmp 0xb952b0
sub eax, 0x62
cmp eax, 0xb
ja case.default.0xb95365
movzx eax, byte [eax + 0xb95788]
jmp dword [eax*4 + 0xb95780]
lea eax, [edx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jb 0xb95509
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], 1
movsx ecx, byte [eax + 0xc26740]
mov dword [ebp - 0x10], ecx
movsx ecx, byte [eax + 0xc2674c]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jne 0xb94e65
mov ecx, 0x7fffffff
jmp 0xb94e62
mov eax, dword [ebp - 8]
jmp 0xb94ee7
mov eax, dword [ebp - 8]
mov ecx, 1
mov dword [ebp - 0x14], ecx
cmp eax, dword [esi + 0x7c]
jae 0xbca832
movzx edx, word [eax]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
je 0xbca7fa
cmp edx, 0xff
ja 0xbca824
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
jne 0xb95514
cmp dword [ebp - 0x34], 0
jne 0xb94e30
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
jmp 0xbcec85
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je case.0xb94bd5.119
mov dword [ebp - 0x30], ebx
jmp 0xb94baf
mov eax, dword [ebp + 0x18]
add ebx, 2
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, ebx
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
jmp 0xbc9291
mov eax, dword [esi + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0xc26760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00b94b50
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0xbce98a
test edx, edx
jne 0xbd0505
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
jne case.0xb94bd5.157
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x94], eax
jmp case.0xb94bd5.129
test al, 1
jne 0xb9554d
xor edx, edx
jmp 0xb95388
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x1c]
jl 0xb953c0
jmp 0xb95410
add ebx, 2
jmp 0xbc92ea
mov eax, dword [ebp - 8]
jmp 0xbc95e1
mov edi, dword [ebp - 0x24]
jmp 0xbc9bee
mov edx, 1
jmp 0xb95388
mov edi, 2
jmp 0xb950fb
xor ecx, ecx
jmp 0xbcad23
xor eax, eax
jmp 0xb9520b
mov eax, 0xfffffc19
jmp 0xb94ccd
mov eax, 0xfffffffb
jmp 0xb94ccd
mov eax, 0xffffffeb
jmp 0xb94ccd
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0xbc88a0
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.00b94b50
add esp, 0x14
jmp 0xb94ccd
sub ecx, eax
test ecx, ecx
jle 0xbc88a8
neg ecx
mov eax, ecx
jmp 0xb94ccd
mov eax, dword [ebp - 8]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
mov dword [ebp + 0x14], eax
mov dword [esi + 0x9c], 0
jmp 0xb94e30
inc dword [esi + 0x28]
mov eax, dword [esi + 0x28]
cmp eax, dword [esi + 0x2c]
ja 0xbce9b6
movzx eax, word [ebx]
movzx ecx, byte [eax + 0xc26760]
movzx eax, word [ebx + 2]
add ecx, eax
lea ebx, [ebx + ecx*2]
mov dword [ebp - 0x30], ebx
jmp 0xb94baf
mov eax, dword [ebp - 8]
mov edi, dword [esi + 0xb0]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
cmp eax, 1
je 0xbc8977
cmp eax, 0xfffffc20
jne 0xbc8957
movzx ecx, word [ebx + 2]
lea ecx, [ebx + ecx*2]
cmp dword [esi + 0x80], ecx
jae 0xb94ccd
cmp word [ebx], 0x77
je 0xbc895f
cmp word [ecx], 0x77
jne 0xb94ccd
jmp 0xbc895f
test eax, eax
jne 0xb94ccd
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov dword [esi + 0xb0], edi
cmp word [ebx], 0x77
je 0xbc8909
mov ecx, dword [ebp + 8]
jmp 0xbc8980
mov ecx, dword [esi + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [ebx]
mov edx, 0x82
cmp ax, dx
je 0xbc8996
cmp eax, 0x77
jne case.0xb94bd5.157
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbc8996
cmp word [ebx], 0x78
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0x84]
mov dword [ebp + 0xc], edx
mov dword [ebp - 8], eax
je 0xbc900d
cmp eax, dword [ebp - 0x28]
jne 0xbce744
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0xb94e30
mov dword [ebp - 0x20], 0
jmp 0xbc9325
mov dword [ebp - 0x20], 0
mov eax, ebx
mov dword [ebp - 0x14], 0
sub eax, dword [esi + 0x74]
sar eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x1c], eax
cmp edi, 0x88
jb 0xbc8a13
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0xc26760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00b94b50
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0xbc9414
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x14], 1
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x84]
cmp dword [ebp - 8], eax
je 0xbc9465
mov dword [ebp - 8], eax
jmp 0xbc8a01
movzx eax, word [ebx + 2]
add ebx, 4
mov dword [ebp - 0x20], eax
cmp word [ebx], 0x76
jne 0xbc8b5c
cmp dword [0xc48524], 0
je 0xbc8b53
mov dword [ebp - 0x9c], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0x98], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0x90], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0x84], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x74], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x80], eax
movzx eax, word [esi + 0x94]
mov dword [ebp - 0x7c], eax
test eax, eax
jne 0xbc8b1d
mov dword [ebp - 0x7c], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0x78], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x9c]
push eax
call dword [0xc48524]
add esp, 4
test eax, eax
jg case.0xb94bd5.157
js 0xb94ccd
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
add ebx, 8
sub eax, 4
mov dword [ebp - 0x20], eax
movzx eax, word [ebx]
xor ecx, ecx
mov dword [ebp - 0x34], eax
add eax, 0xffffff73
mov dword [ebp - 0x1c], ecx
cmp eax, 0x10
ja case.0xbc8b7c.146
movzx eax, byte [eax + 0xbd07fe]
jmp dword [eax*4 + 0xbd07e6]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0xbc8d1d
movzx eax, word [ebx + 2]
cmp eax, 0xffff
je 0xbc8c20
cmp eax, dword [ecx + 4]
je 0xbc8c20
xor ecx, ecx
jmp case.0xbc8b7c.145
cmp dword [esi + 0xa8], ecx
je case.0xbc8b7c.145
movzx ecx, word [ebx + 2]
imul ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x28], eax
test ecx, ecx
jle 0xbc8d1d
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x1c], 0
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
dec ecx
movzx eax, word [eax]
cmp eax, dword [ebp - 0x14]
je 0xbc8c20
mov edx, dword [ebp - 0x28]
mov eax, dword [esi + 0x24]
lea edx, [edx + eax*2]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 8]
test ecx, ecx
jg 0xbc8be8
jmp 0xbc8d1d
movzx ecx, word [ebx + 2]
add ecx, ecx
cmp ecx, dword [ebp + 0xc]
jge 0xbc8ba5
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jl 0xbc8ba5
mov ecx, 1
jmp 0xbc8cff
movzx ecx, word [ebx + 2]
imul ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x30]
lea ecx, [eax + ecx*2]
movzx eax, word [ebx + 4]
mov dword [ebp - 0x14], ecx
test eax, eax
jle 0xbc8d1d
mov dword [ebp - 0x1c], 0
movzx ecx, word [ecx]
dec eax
add ecx, ecx
mov dword [ebp - 0x28], eax
cmp ecx, dword [ebp + 0xc]
jge 0xbc8c65
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0xbc8c20
mov eax, dword [esi + 0x24]
mov ecx, dword [ebp - 0x14]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], ecx
test eax, eax
jg 0xbc8c4e
jmp 0xbc8d1d
mov ecx, dword [ebp - 8]
mov edx, ebx
mov dword [esi + 0x9c], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
cmp eax, 1
jne 0xbc8d0b
mov eax, dword [esi + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0xbc8cb5
mov dword [ebp + 0xc], eax
mov eax, 0x92
mov dword [ebp - 0x1c], 1
cmp word [ebx], ax
jne 0xbc8cc9
add ebx, 2
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea edx, [ebx + eax*2]
jne 0xbc8ce5
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0xbc8cd7
mov eax, dword [ebp - 0x34]
mov ecx, 2
movzx eax, byte [eax + 0xc26760]
sub ecx, eax
lea ebx, [edx + ecx*2]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + 0xc26760]
jmp 0xbc8d23
test eax, eax
je 0xbc8d1a
cmp eax, 0xfffffc20
jne 0xb94ccd
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
lea ebx, [ebx + eax*2]
mov dword [ebp - 0x30], ebx
test ecx, ecx
jne 0xbc8d38
cmp word [ebx - 4], 0x77
jne 0xb94baf
cmp edi, 0x8c
jne 0xb94d18
mov ecx, dword [ebp - 8]
mov edx, ebx
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
jmp 0xb94ccd
movzx edi, word [ebx + 2]
mov eax, dword [esi + 0x94]
and eax, 0xffff0000
or eax, edi
lea ecx, [edi + edi]
mov dword [esi + 0x94], eax
cmp ecx, dword [esi + 0x14]
jl 0xbc8d9b
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0xbc8de4
mov eax, dword [esi + 0x10]
lea edx, [edi + edi]
mov ecx, dword [esi + 0xc]
sub eax, edi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebp + 0xc]
cmp edx, ecx
jl 0xbc8de1
mov eax, dword [esi + 0xc]
lea edi, [eax + ecx*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0xbc8ddb
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
lea eax, [edx + 2]
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 8]
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0xb94baf
cmp dword [esi + 0x9c], 1
mov eax, dword [esi + 0xb0]
mov dword [ebp - 0x14], eax
jne 0xbc8e12
mov edi, 1
mov dword [esi + 0x9c], 0
jmp 0xbc8e14
xor edi, edi
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0xbc8e8d
cmp ecx, 0xfffffc19
je 0xbc8e8d
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0xbc8e75
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0xbc88a8
cmp word [ebx], 0x77
je 0xbc8e7d
cmp word [eax], 0x77
jne 0xbc88a8
jmp 0xbc8e7d
test ecx, ecx
jne 0xbc88a8
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbc8e14
jmp 0xbc8e96
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je case.0xb94bd5.157
test edi, edi
jne 0xb94cc8
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbc8ea8
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0xc], eax
jmp 0xb94e30
cmp dword [esi + 0x9c], 1
mov edi, dword [esi + 0xb0]
jne 0xbc8eec
mov dword [ebp - 0x14], 1
mov dword [esi + 0x9c], 0
jmp 0xbc8ef3
mov dword [ebp - 0x14], 0
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
mov ecx, eax
mov dword [esi + 0xb0], edi
add esp, 0x14
cmp ecx, 0xfffffc20
jg 0xbc8f4c
jne 0xbc8f5f
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0xbc8f7a
cmp word [ebx], 0x77
je 0xbc8f3c
cmp word [eax], 0x77
jne 0xbc8f7a
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbc8ef3
jmp 0xbc8f88
mov eax, ecx
sub eax, 0
je 0xbc8f3c
dec eax
je case.0xb94bd5.157
jmp 0xbc88a8
cmp ecx, 0xfffffc19
je case.0xb94bd5.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0xbc88a8
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbc8f7a
cmp dword [ebp - 0x14], 0
jne 0xb94cc8
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0xb94e30
cmp dword [ebp - 0x24], 0
je 0xbc8fe2
movzx ecx, word [ebx + 2]
test ecx, ecx
jle 0xbc8ffc
mov eax, dword [ebp - 8]
dec ecx
sub eax, 2
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb case.0xb94bd5.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0xbc8fdc
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0xbc8fab
jmp 0xbc8fff
movzx eax, word [ebx + 2]
mov ecx, dword [ebp - 8]
neg eax
lea ecx, [ecx + eax*2]
mov eax, ecx
mov dword [ebp - 8], ecx
cmp eax, dword [esi + 0x78]
jb case.0xb94bd5.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0xbc900d
mov dword [esi + 0x88], eax
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0xb94e30
cmp dword [0xc48524], 0
je 0xbc90eb
mov dword [ebp - 0xd0], 2
movzx eax, word [ebx + 2]
mov dword [ebp - 0xcc], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xb8], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0xa8], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xb4], eax
movzx eax, word [esi + 0x94]
mov dword [ebp - 0xb0], eax
test eax, eax
jne 0xbc90b2
mov dword [ebp - 0xb0], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xd0]
push eax
call dword [0xc48524]
add esp, 4
test eax, eax
jg case.0xb94bd5.157
js 0xb94ccd
mov edx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x30], ebx
jmp 0xb94baf
mov ecx, dword [esi + 0x74]
movzx eax, word [ebx + 2]
lea edi, [ecx + eax*2]
mov dword [ebp - 0x14], edi
cmp edi, ecx
jne 0xbc910b
xor edx, edx
jmp 0xbc910f
movzx edx, word [edi + 4]
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0xbc9136
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0xbc9130
cmp eax, dword [ecx + 0x14]
jne 0xbc9130
mov eax, 0xffffffe6
jmp 0xb94ccd
mov ecx, dword [ecx]
test ecx, ecx
jne 0xbc911c
mov dword [ebp - 0x50], edx
add ebx, 4
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x40], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
mov dword [esi + 0xa8], eax
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x48], ecx
cmp ecx, 0x1e
jg 0xbc9176
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x4c], eax
jmp 0xbc9195
lea eax, [ecx*4]
push eax
call dword [0xc2675c]
add esp, 4
mov dword [ebp - 0x4c], eax
test eax, eax
je 0xbcea50
mov ecx, dword [ebp - 0x48]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call fcn.00ba1950
mov eax, 0x88
add esp, 0xc
cmp word [edi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x28], eax
test eax, eax
je 0xbc91c1
mov dword [esi + 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 esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0xc26760]
push dword [ebp + 8]
lea edx, [edi + eax*2]
call fcn.00b94b50
mov ecx, dword [ebp - 0x48]
add esp, 0x14
shl ecx, 2
mov edi, eax
push ecx
push dword [ebp - 0x4c]
push dword [esi + 0xc]
call fcn.00ba1950
mov eax, dword [ebp - 0x44]
add esp, 0xc
mov dword [esi + 0x94], eax
mov eax, dword [ebp - 0x54]
mov dword [esi + 0xa8], eax
cmp edi, 1
je 0xbc9263
cmp edi, 0xfffffc19
je 0xbc9263
cmp edi, 0xfffffc1c
jl 0xbc9232
cmp edi, 0xfffffc20
jle 0xbcea07
test edi, edi
jne 0xbcea27
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x54]
mov dword [esi + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
mov dword [ebp - 0x14], edi
jne 0xbce9fe
mov eax, dword [ebp - 0x28]
jmp 0xbc91b3
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0xbc927a
push eax
call dword [0xc26758]
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0xb94e30
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbc9291
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0xb94e30
add ebx, 2
mov dword [ebp - 0x30], ebx
mov edx, ebx
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0xbc92b2
mov eax, dword [ebp + 0x18]
add edx, 4
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
jmp 0xb94e30
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbc92ea
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0xb94baf
movzx edi, word [ebx + 2]
add ebx, 2
mov dword [ebp - 0x20], 1
cmp edi, 0x86
je 0xbc9325
cmp edi, 0x8b
jne 0xbc89e7
movzx edx, word [ebx + 4]
mov dword [ebp - 0x28], edx
lea eax, [edx + edx]
cmp eax, dword [esi + 0x14]
jge 0xbc89e7
mov ecx, ebx
shl eax, 2
sub ecx, dword [esi + 0x74]
sar ecx, 1
mov dword [ebp - 0x34], ecx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x10]
mov edx, eax
sub edx, dword [esi + 0x78]
sub ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp edi, 0x88
jb 0xbc939c
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0xc26760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00b94b50
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0xbc9497
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x34]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x74]
lea ebx, [eax + ecx*2]
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x14], eax
mov ecx, 1
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 8], eax
je 0xbc9518
mov dword [ebp - 8], eax
jmp 0xbc9377
cmp ecx, 0xfffffc20
jne 0xbc9441
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0xbc88a8
cmp word [ebx], 0x77
je 0xbc9449
cmp word [eax], 0x77
jne 0xbc88a8
jmp 0xbc9449
test ecx, ecx
jne 0xbc88a8
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
jne 0xbc9478
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0x94], eax
jmp 0xbc8a01
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbc9465
jmp 0xbc900d
cmp dword [ebp - 0x14], 0
jne 0xbc900d
cmp dword [ebp - 0x20], 0
je case.0xb94bd5.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0xb94e30
cmp ecx, 0xfffffc20
jne 0xbc94c4
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0xbc88a8
cmp word [ebx], 0x77
je 0xbc94cc
cmp word [eax], 0x77
jne 0xbc88a8
jmp 0xbc94cc
test ecx, ecx
jne 0xbc88a8
mov eax, dword [ebp - 0x14]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbc9374
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jne 0xbc9526
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
mov dword [ecx + eax], edx
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x30]
mov dword [ecx + eax + 4], edx
mov ecx, dword [esi + 0x10]
sub ecx, dword [ebp - 0x28]
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x18]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x1c]
jmp 0xbc9526
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbc9518
cmp dword [ebp - 0x20], 0
jne 0xbc900d
test ecx, ecx
je case.0xb94bd5.157
add ebx, 4
mov dword [ebp - 0x30], ebx
jmp 0xb94e30
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x14]
mov edx, dword [edx]
mov ecx, dword [ecx + 4]
mov dword [ebp + 0x14], edx
mov edx, dword [ebp - 8]
jmp 0xb94c0a
cmp dword [eax + 4], ecx
jne 0xb94fbb
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, 1
jmp 0xb94ccd
or eax, 0x10000
mov dword [esi + 0x94], eax
jmp 0xb9500e
mov eax, dword [esi + 0xc]
lea edx, [eax + ecx*4]
lea ecx, [eax + edi*4]
cmp edx, ecx
jae 0xb94fe2
sub ecx, edx
mov edi, edx
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x14]
jmp 0xb94fe2
cmp eax, 0x7b
je 0xbceaf9
cmp dword [ebp - 8], ecx
jne 0xbce78e
mov edx, dword [ebp - 8]
jmp 0xb94c84
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0xbc95e1
cmp eax, dword [esi + 0x78]
je case.0xb94bd5.157
cmp eax, dword [esi + 0x78]
jne case.0xb94bd5.157
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0xb94e30
cmp dword [esi + 0x48], 0
mov eax, dword [ebp - 8]
je 0xbc9607
cmp eax, dword [esi + 0x78]
je case.0xb94bd5.157
mov ecx, dword [esi + 0x78]
cmp eax, ecx
je 0xb94e2a
cmp eax, dword [esi + 0x7c]
je case.0xb94bd5.157
mov edx, dword [esi + 0x18]
test edx, edx
je 0xbc964a
cmp eax, ecx
jbe case.0xb94bd5.157
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00c0eaee
add esp, 0xc
test eax, eax
je case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [esi + 0x1c]
lea edi, [eax + eax]
lea eax, [edi + ecx]
cmp dword [ebp - 8], eax
jb case.0xb94bd5.157
mov ecx, dword [ebp - 8]
sub ecx, edi
mov ax, word [ecx]
cmp ax, word [esi + 0x34]
jne case.0xb94bd5.157
cmp dword [esi + 0x1c], 1
je 0xb94e2a
mov ax, word [ecx + 2]
cmp ax, word [esi + 0x36]
jne case.0xb94bd5.157
jmp 0xb94e2a
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp edx, eax
jne case.0xb94bd5.157
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0xb94baf
mov eax, dword [ebp - 8]
add ebx, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x30], ebx
jmp 0xb94e30
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0xbc9780
mov edx, dword [esi + 0x18]
test edx, edx
je 0xbc9749
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00b9602f
add esp, 0xc
test eax, eax
jne 0xb94e2a
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0xb94bd5.157
add eax, 2
cmp eax, dword [esi + 0x7c]
jb case.0xb94bd5.157
cmp dword [esi + 0x18], 0
jne case.0xb94bd5.157
cmp dword [esi + 0x1c], 2
jne case.0xb94bd5.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne case.0xb94bd5.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0xb94bd5.157
mov eax, 0xfffffff4
jmp 0xb94ccd
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0xbc96ee
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0xbc96eb
cmp edx, 1
je 0xb94e2a
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0xbc96eb
jmp 0xb94e2a
cmp dword [esi + 0x4c], 0
jne case.0xb94bd5.157
cmp dword [esi + 0x8c], 0
je 0xb94e2a
cmp eax, dword [esi + 0x88]
jbe 0xb94e2a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
add ebx, 2
mov dword [ebp - 0x30], ebx
jmp 0xb94e30
cmp dword [esi + 0x4c], 0
jne case.0xb94bd5.157
cmp dword [esi + 0x5c], 0
je case.0xb94bd5.23
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jb case.0xb94bd5.157
jmp 0xbc978a
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0xbc978a
mov edx, dword [esi + 0x18]
lea edi, [esi + 0x1c]
test edx, edx
je 0xbc9808
push dword [ebp - 0x24]
push edi
push ecx
mov ecx, eax
call fcn.00b9602f
add esp, 0xc
test eax, eax
jne 0xbc983d
jmp 0xbc96eb
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0xbc96ee
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0xbc96eb
cmp edx, 1
je 0xbc983d
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
jne 0xbc96eb
mov ecx, dword [edi]
mov eax, dword [esi + 0x7c]
add ecx, ecx
sub eax, ecx
cmp dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jne 0xbc96ee
jmp 0xbc978a
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp - 8]
je 0xbc9a09
cmp eax, dword [esi + 0x78]
je 0xbc9941
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbc9888
sub edx, 2
cmp edx, dword [esi + 0x88]
jae 0xbc9896
mov dword [esi + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbc98c1
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [esi + 0x58], 0
je 0xbc9923
cmp ecx, 0x5f
jne 0xbc98d4
mov eax, dword [ebp - 8]
lea edi, [ecx - 0x5e]
jmp 0xbc9943
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbc98f6
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbc9919
cmp eax, 3
jne 0xbc993e
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0xbc9943
cmp ecx, 0x100
jae 0xbc993e
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0xbc993e
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0xbc9943
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0xbc99ab
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbc9976
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax + 2]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
cmp dword [esi + 0x58], 0
je 0xbc99f2
cmp ecx, 0x5f
je 0xbc9b33
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
js 0xbc9adf
jmp 0xbc9ae4
cmp dword [esi + 0x8c], 0
je 0xbc99d0
cmp eax, dword [esi + 0x88]
jbe 0xbc99d0
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
xor ecx, ecx
mov ax, word [ebx]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp ax, 5
jne 0xbc9b3d
cmp ecx, edi
je case.0xb94bd5.157
jmp 0xb94e30
cmp ecx, 0x100
jae 0xbc99d0
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0xbc9b33
jmp 0xbc99d0
cmp eax, dword [esi + 0x78]
je 0xbc9aa9
cmp eax, dword [esi + 0x88]
ja 0xbc9a26
add eax, 0xfffffffe
mov dword [esi + 0x88], eax
mov eax, dword [ebp - 8]
cmp dword [esi + 0x58], 0
movzx ecx, word [eax - 2]
je 0xbc9a89
cmp ecx, 0x5f
jne 0xbc9a3a
lea edi, [ecx - 0x5e]
jmp 0xbc9aab
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbc9a5c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbc9a7f
cmp eax, 3
jne 0xbc9aa6
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0xbc9aab
mov edx, 0xff
cmp cx, dx
ja 0xbc9aa9
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0xbc9aa6
mov eax, dword [ebp - 8]
mov edi, 1
jmp 0xbc9aab
mov eax, dword [ebp - 8]
xor edi, edi
cmp eax, dword [esi + 0x7c]
jae 0xbc99ab
cmp dword [esi + 0x58], 0
je 0xbc9b13
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0xbc9b33
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbc9ae4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbc9b33
cmp eax, 3
jne 0xbc99d0
lea ecx, [eax - 2]
jmp 0xbc99d2
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0xbc99d0
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0xbc99d0
mov ecx, 1
jmp 0xbc99d2
cmp ecx, edi
jne case.0xb94bd5.157
jmp 0xb94e30
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x7c]
test edx, edx
je 0xbc9b79
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0x24]
cmp eax, ecx
jae 0xbc9bb1
push edi
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00b9602f
add esp, 0xc
test eax, eax
jne case.0xb94bd5.157
jmp 0xbc9bae
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0xbc9bab
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0xbc9bab
cmp edx, 1
je case.0xb94bd5.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [esi + 0x36]
je case.0xb94bd5.157
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je 0xbc9bf1
add eax, 2
cmp eax, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
jb 0xbc9bf1
cmp dword [esi + 0x18], 0
jne 0xbc9bf1
cmp dword [esi + 0x1c], 2
jne 0xbc9bf1
mov ax, word [eax]
cmp ax, word [esi + 0x34]
jne 0xbc9bee
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov eax, dword [ebp - 8]
mov ecx, dword [esi + 0x7c]
cmp eax, ecx
jae 0xbceb3e
add eax, 2
mov dword [ebp - 8], eax
test edi, edi
je 0xb94e2a
cmp eax, ecx
jae 0xb94e2a
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xb94e2a
add dword [ebp - 8], 2
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
add eax, 2
mov dword [ebp - 8], eax
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbc9c94
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbc9c94
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0xb94e2a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbc9cfb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbc9cfb
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbc9d62
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbc9d62
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0xb94e2a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbc9dc9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbc9dc9
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbc9e30
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbc9e30
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0xb94e2a
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbc9e97
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbc9e97
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0xb94bd5.157
jmp 0xb94e2a
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbc9f03
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0xbc9f03
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 0xbc9f6f
je 0xbc9f24
cmp ecx, 0xa
je 0xb94e2a
jbe case.0xb94bd5.157
cmp ecx, 0xc
ja case.0xb94bd5.157
jmp 0xbc9f86
cmp eax, edx
jb 0xbc9f5a
cmp dword [esi + 0x8c], 0
je 0xb94e2a
cmp eax, dword [esi + 0x88]
jbe 0xb94e2a
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
jmp 0xb94e2a
cmp word [eax], 0xa
jne 0xb94e2a
add eax, 2
mov dword [ebp - 8], eax
jmp 0xb94e2a
cmp ecx, 0x85
je 0xbc9f86
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0xb94bd5.157
cmp dword [esi + 0x6c], 0
jne case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbc9fde
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbc9fde
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0xbca022
je case.0xb94bd5.157
cmp ecx, 0xa0
ja 0xbca011
je case.0xb94bd5.157
cmp ecx, 9
je case.0xb94bd5.157
cmp ecx, 0x20
je case.0xb94bd5.157
jmp 0xb94e2a
cmp ecx, 0x1680
je case.0xb94bd5.157
jmp 0xb94e2a
cmp ecx, 0x205f
ja 0xbca059
je case.0xb94bd5.157
cmp ecx, 0x2000
jb 0xb94e2a
cmp ecx, 0x200a
jbe case.0xb94bd5.157
cmp ecx, 0x202f
je case.0xb94bd5.157
jmp 0xb94e2a
cmp ecx, 0x3000
je case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbca0b3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbca0b3
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0xbca0f7
je 0xb94e2a
cmp ecx, 0xa0
ja 0xbca0e6
je 0xb94e2a
cmp ecx, 9
je 0xb94e2a
cmp ecx, 0x20
jne case.0xb94bd5.157
jmp 0xb94e2a
cmp ecx, 0x1680
jne case.0xb94bd5.157
jmp 0xb94e2a
cmp ecx, 0x205f
ja 0xbca12e
je 0xb94e2a
cmp ecx, 0x2000
jb case.0xb94bd5.157
cmp ecx, 0x200a
jbe 0xb94e2a
cmp ecx, 0x202f
jne case.0xb94bd5.157
jmp 0xb94e2a
cmp ecx, 0x3000
jne case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbca188
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbca188
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0xbca1ad
je case.0xb94bd5.157
cmp ecx, 0xa
jb 0xb94e2a
cmp ecx, 0xd
jbe case.0xb94bd5.157
jmp 0xb94e2a
cmp ecx, 0x2028
jb 0xb94e2a
cmp ecx, 0x2029
jbe case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0xbca213
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbca213
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0xbca232
je 0xb94e2a
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0xb94bd5.157
jmp 0xb94e2a
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0xb94bd5.157
jmp 0xb94e2a
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x14], ecx
jmp 0xb95049
cmp eax, 0xa
ja case.default.0xbca277
jmp dword [eax*4 + 0xbd0812]
mov al, byte [ecx*8 + 0xc23f61]
cmp al, 9
je 0xbca2a3
cmp al, 5
je 0xbca2a3
cmp al, 8
je 0xbca2a3
xor ecx, ecx
jmp 0xbca2bf
cmp edi, 0xf
je case.0xb94bd5.157
jmp 0xb950be
mov ecx, 1
jmp 0xbca2bf
movzx eax, byte [ecx*8 + 0xc23f61]
xor ecx, ecx
cmp dword [eax*4 + 0xc399b0], 6
sete cl
xor eax, eax
cmp edi, 0xf
sete al
cmp ecx, eax
je case.0xb94bd5.157
jmp 0xb950be
mov eax, dword [ebp - 0x14]
xor edx, edx
movzx ecx, word [ebx + 4]
movzx eax, byte [eax*8 + 0xc23f61]
cmp ecx, dword [eax*4 + 0xc399b0]
setne dl
xor eax, eax
cmp edi, 0x10
sete al
cmp edx, eax
je case.0xb94bd5.157
jmp 0xb950be
movzx eax, byte [ecx*8 + 0xc23f61]
jmp 0xbca316
movzx eax, byte [ecx*8 + 0xc23f60]
xor ecx, ecx
cmp word [ebx + 4], ax
setne cl
xor eax, eax
cmp edi, 0x10
sete al
cmp ecx, eax
je case.0xb94bd5.157
jmp 0xb950be
movzx eax, byte [ecx*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbca2a3
cmp eax, 3
je 0xbca2a3
xor ecx, ecx
jmp 0xbca2bf
cmp edx, 0x180e
ja 0xbca3b5
je case.0xbca277.0
cmp edx, 0x85
ja 0xbca398
je case.0xbca277.0
cmp edx, 9
jb case.0xbca3d9.8203
cmp edx, 0xd
jbe case.0xbca277.0
cmp edx, 0x20
je case.0xbca277.0
jmp case.0xbca3d9.8203
cmp edx, 0xa0
je case.0xbca277.0
cmp edx, 0x1680
je case.0xbca277.0
jmp case.0xbca3d9.8203
cmp edx, 0x202f
ja 0xbca3e0
je case.0xbca277.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0xbca3d9.8203
movzx eax, byte [edx + 0xbd0846]
jmp dword [eax*4 + 0xbd083e]
cmp edx, 0x205f
je case.0xbca277.0
cmp edx, 0x3000
je case.0xbca277.0
jmp case.0xbca3d9.8203
movzx eax, byte [ecx*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbca2a3
cmp eax, 3
je 0xbca2a3
cmp edx, 0x5f
je 0xbca2a3
xor ecx, ecx
jmp 0xbca2bf
cmp edx, 0x24
je 0xbca2a3
cmp edx, 0x40
je 0xbca2a3
cmp edx, 0x60
je 0xbca2a3
cmp edx, 0xa0
jb 0xbca45d
cmp edx, 0xd7ff
jbe 0xbca2a3
cmp edx, 0xe000
jae 0xbca2a3
xor ecx, ecx
jmp 0xbca2bf
cmp edi, 0x10
je case.0xb94bd5.157
jmp 0xb950be
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
jmp 0xb94d60
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edi, 2
add ecx, 0x10000
jmp 0xb94dc3
cmp eax, edi
jb 0xb94e2a
jmp 0xbc9797
movzx ecx, word [ebx + 2]
xor eax, eax
cmp edi, 0x74
sete al
imul ecx, dword [esi + 0x24]
mov dword [ebp - 0x34], eax
movzx eax, word [ebx + 4]
add ebx, 6
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x30], ebx
lea eax, [eax + ecx*2]
mov ecx, dword [esi + 0x54]
neg ecx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
sbb ecx, ecx
xor edi, edi
neg ecx
mov dword [ebp - 0x10], edi
dec ecx
mov dword [ebp - 0x20], ecx
test eax, eax
jle 0xbca592
dec eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x28]
movzx edi, word [eax]
add edi, edi
mov dword [ebp - 0x10], edi
cmp edi, dword [ebp + 0xc]
jge 0xbca53c
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0xbca53c
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0xbca58f
mov eax, dword [esi + 0x24]
mov edx, dword [ebp - 0x28]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 8]
test eax, eax
jg 0xbca516
jmp 0xbca592
xor eax, eax
cmp edi, 0x72
movzx edi, word [ebx + 2]
sete al
add edi, edi
add ebx, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x30], ebx
cmp edi, dword [ebp + 0xc]
jge 0xbca585
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jl 0xbca585
mov ecx, dword [eax + edi*4 + 4]
sub ecx, dword [eax + edi*4]
jmp 0xbca58f
mov ecx, dword [esi + 0x54]
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x20], ecx
movzx eax, word [ebx]
mov dword [ebp - 0x14], eax
add eax, 0xffffff9e
cmp eax, 7
ja case.default.0xbca5ab
movzx eax, byte [eax + 0xbd087a]
jmp dword [eax*4 + 0xbd0872]
mov eax, dword [ebp - 0x14]
add ebx, 2
add eax, 0xffffff9e
mov dword [ebp - 0x30], ebx
movzx edi, al
and edi, 1
mov dword [ebp - 0x2c], edi
movsx edi, byte [eax + 0xc26740]
movsx eax, byte [eax + 0xc2674c]
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0xbca613
mov dword [ebp - 0x1c], 0x7fffffff
jmp 0xbca613
movzx edi, word [ebx + 2]
xor eax, eax
cmp word [ebx], 0x69
mov dword [ebp - 0x28], edi
sete al
mov dword [ebp - 0x2c], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0xbca60d
mov dword [ebp - 0x1c], 0x7fffffff
add ebx, 6
mov dword [ebp - 0x30], ebx
test ecx, ecx
je 0xb94baf
jns 0xbca625
test edi, edi
je 0xb94baf
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0xbca667
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.00c0e87e
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0xbcec5d
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x14], ecx
cmp ecx, edi
mov ecx, dword [ebp - 0x20]
jle 0xbca634
mov edx, dword [ebp - 0x1c]
cmp edi, edx
je 0xb94e30
cmp dword [ebp - 0x2c], 0
je 0xbcebad
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], eax
jge case.0xb94bd5.157
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
mov edx, edi
push esi
push dword [ebp - 0x20]
call fcn.00c0e87e
add esp, 0xc
test eax, eax
js 0xbceb87
inc dword [ebp - 0x28]
lea edi, [edi + eax*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbca6a2
jmp 0xb94ccd
push dword [ebp - 0x34]
mov edx, dword [ebp - 8]
push esi
push ecx
mov ecx, edi
call fcn.00c0e87e
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0xbcec5d
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0xb94e30
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [ebx + 4]
mov dword [ebp - 0x1c], ecx
sete al
mov dword [ebp - 0x34], eax
movzx eax, word [ebx + 2]
mov dword [ebp - 0x10], eax
test ecx, ecx
jne 0xbca74b
mov ecx, 0x7fffffff
mov dword [ebp - 0x1c], ecx
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0xb94e65
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x14], ecx
jmp 0xb94eaa
cmp edi, 0x6e
je case.0xb94bd5.157
jmp 0xb94ed5
cmp eax, 1
mov dword [ebp - 0x14], 1
mov eax, dword [ebp - 8]
jl 0xb94ee7
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x28], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0xbca7c7
cmp edi, 0x6e
je case.0xb94bd5.157
jmp 0xbca7e9
mov esi, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x28]
shr ecx, 3
test byte [ecx + esi], al
mov esi, dword [ebp + 0x10]
je case.0xb94bd5.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x10]
jle 0xbca79f
jmp 0xb94ee4
mov eax, dword [ebp - 8]
and edx, 0x3ff
shl edx, 0xa
mov ecx, 2
mov dword [ebp - 0x14], ecx
movzx eax, word [eax + 2]
and eax, 0x3ff
or edx, eax
add edx, 0x10000
jmp 0xb953e9
cmp edi, 0x6e
je 0xb95410
jmp 0xb95517
cmp dword [esi + 0x8c], 0
je 0xb95410
cmp eax, dword [esi + 0x88]
jbe 0xb95410
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jg 0xbc973f
jmp 0xb95410
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], edx
jge 0xbca8d7
mov ecx, dword [ebp - 0x10]
cmp eax, dword [esi + 0x7c]
jae 0xbca8af
movzx edx, word [eax]
cmp edx, 0xff
jbe 0xbca881
cmp edi, 0x6e
jne 0xbca89e
jmp 0xbca8d4
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
mov eax, dword [ebp - 8]
je 0xbca8d4
mov ecx, dword [ebp - 0x10]
inc ecx
add eax, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], ecx
cmp ecx, dword [ebp - 0x1c]
jl 0xbca86a
jmp 0xbca8d4
cmp dword [esi + 0x8c], 0
je 0xbca8d4
cmp eax, dword [esi + 0x88]
jbe 0xbca8d4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x34], 0
jne 0xb94e30
cmp eax, ecx
jb case.0xb94bd5.157
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
sub edi, 2
cmp edi, dword [ebp - 0x2c]
jae 0xbca8ec
jmp 0xb94ccd
lea eax, [ebx + 4]
mov dword [ebp - 0x28], eax
movzx eax, word [ebx + 2]
movzx edi, word [ebx + eax*2]
lea ebx, [ebx + eax*2]
mov ecx, edi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ecx
lea eax, [ecx - 0x62]
cmp eax, 0xb
ja case.default.0xbca948
movzx eax, byte [eax + 0xbd088a]
jmp dword [eax*4 + 0xbd0882]
lea eax, [ecx - 0x62]
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp eax, 8
jae 0xbca96b
mov ecx, dword [ebp - 0x34]
movzx eax, al
and eax, 1
mov dword [ebp - 0x2c], eax
jmp 0xbca976
mov eax, dword [ebp - 0x2c]
mov ecx, 1
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
movsx esi, byte [esi + 0xc266ea]
movsx edi, byte [edi + 0xc266de]
test esi, esi
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x20], edi
jne 0xbca9f2
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1c], 0x7fffffff
jmp 0xbca9f2
movzx esi, word [ebx + 4]
xor eax, eax
cmp edi, 0x69
mov dword [ebp - 0x1c], esi
sete al
xor ecx, ecx
cmp edi, 0x6d
mov dword [ebp - 0x2c], eax
movzx edi, word [ebx + 2]
sete cl
mov dword [ebp - 0x20], edi
test esi, esi
mov dword [ebp - 0x34], ecx
mov esi, dword [ebp + 0x10]
jne 0xbca9d5
mov dword [ebp - 0x1c], 0x7fffffff
add ebx, 6
mov dword [ebp - 0x30], ebx
jmp 0xbca9f2
mov eax, dword [ebp - 0x2c]
mov edi, 1
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14], 1
cmp edi, 1
jl 0xbcaa70
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
mov edx, dword [ebp - 0x24]
mov dword [ebp - 8], eax
test edx, edx
je 0xbcaa48
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcaa48
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
push edx
mov edx, dword [ebp - 0x28]
call fcn.00c0eba7
add esp, 4
test eax, eax
je case.0xb94bd5.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, edi
jle 0xbca9fe
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
cmp edi, dword [ebp - 0x1c]
je 0xb94baf
test eax, eax
jne 0xbcee3c
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
cmp edi, dword [ebp - 0x1c]
jl 0xbcaa96
mov edi, eax
jmp 0xbcab33
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp eax, dword [esi + 0x7c]
jae 0xbcab08
mov edx, dword [ebp - 0x24]
movzx ecx, word [eax]
mov edi, dword [ebp - 8]
test edx, edx
je 0xbcaade
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcaade
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
push edx
mov edx, dword [ebp - 0x28]
call fcn.00c0eba7
add esp, 4
test eax, eax
je 0xbcab30
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x1c]
jl 0xbcaa93
jmp 0xbcab2d
cmp dword [esi + 0x8c], 0
je 0xbcab2d
cmp eax, dword [esi + 0x88]
jbe 0xbcab2d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0xb94e30
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x10]
je case.0xb94bd5.157
cmp dword [ebp - 0x24], 0
je 0xbcab8a
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbcab8a
sub edi, 2
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcab5e
jmp 0xb94ccd
mov eax, dword [esi + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0xbceda5
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [ebx + 2], ax
jne case.0xb94bd5.157
add ebx, 4
jmp 0xb94e2d
movzx eax, word [ebx + 2]
and edi, 0x3ff
and eax, 0x3ff
shl edi, 0xa
or edi, eax
mov edx, 2
add edi, 0x10000
jmp 0xb94f5e
add eax, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcac3b
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x14], ecx
lea ebx, [ebx + edx*2]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x30], ebx
cmp edi, ecx
je 0xb94baf
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0xc34b50]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0xbcac6f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0xc26850]
mov eax, dword [eax*8 + 0xc23f64]
add eax, edi
cmp dword [ebp - 0x14], eax
jne case.0xb94bd5.157
jmp 0xb94e30
movzx ecx, word [ebx + 2]
mov edx, 0xff
cmp cx, dx
ja 0xbcacaa
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0xbcacac
mov edx, ecx
movzx ecx, word [eax]
mov edi, 0xff
cmp cx, di
ja 0xbcacc3
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0xb94bd5.157
add eax, 2
add ebx, 4
mov dword [ebp - 8], eax
jmp 0xb94e2d
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, dword [ebp - 0x2c]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], ecx
jmp 0xbcad84
mov dword [ebp - 0x34], 1
xor eax, eax
mov dword [ebp - 0x10], eax
movzx eax, word [ebx + 2]
mov dword [ebp - 0x18], eax
cmp ecx, 0x28
je 0xbcad11
cmp ecx, 0x35
je 0xbcad11
xor edx, edx
jmp 0xbcad16
mov edx, 1
mov dword [ebp - 0x2c], edx
add ebx, 4
jmp 0xbcad81
mov ecx, 1
mov dword [ebp - 0x18], 0x7fffffff
jmp 0xbcad35
xor ecx, ecx
mov dword [ebp - 0x18], 1
mov edx, dword [ebp - 0x2c]
add ebx, 2
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x10], ecx
jmp 0xbcad84
cmp edi, 0x2e
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
movzx edx, cl
and edx, 1
mov dword [ebp - 0x2c], edx
movsx eax, byte [ecx + 0xc26740]
mov dword [ebp - 0x10], eax
movsx eax, byte [ecx + 0xc2674c]
mov dword [ebp - 0x18], eax
test eax, eax
jne 0xbcad81
mov dword [ebp - 0x18], 0x7fffffff
mov ecx, dword [ebp - 0x10]
cmp dword [ebp - 0x24], 0
movzx eax, word [ebx]
mov dword [ebp - 0xc], eax
je 0xbcaff1
and eax, 0xfc00
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x14], ebx
cmp eax, 0xd800
jne 0xbcadd0
and dword [ebp - 0xc], 0x3ff
movzx eax, word [ebx + 2]
shl dword [ebp - 0xc], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0xc]
add eax, 0x10000
mov dword [ebp - 0x1c], 2
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 0x1c]
lea eax, [esi + esi]
add ebx, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xc]
cmp esi, 1
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
jle 0xbcaff7
cmp edi, 0x2e
jb 0xbcae45
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0xc34b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0xbcae16
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0xc26850]
mov ecx, dword [eax*8 + 0xc23f64]
add ecx, edx
cmp ecx, edx
je 0xbcae3f
lea edx, [ebp - 0x68]
call fcn.00c0efeb
mov edx, dword [ebp - 0x2c]
mov edi, eax
mov ecx, dword [ebp - 0x10]
jmp 0xbcae47
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0xc], 1
cmp ecx, 1
jge 0xbcae5b
mov eax, dword [ebp - 8]
jmp 0xbcaed7
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0xbcae8c
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.00ba1f94
add esp, 0xc
test eax, eax
jne 0xbcae89
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
jmp 0xbcaec6
mov ecx, dword [ebp - 8]
test edi, edi
jle 0xbcef21
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0xbcef21
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00ba1f94
add esp, 0xc
test eax, eax
jne 0xbcef1e
lea eax, [edi + edi]
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, ecx
jle 0xbcae5b
mov edx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x18]
je 0xb94e30
test edx, edx
jne 0xbcef3c
mov edx, eax
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebp - 0x18]
jge 0xbcaf8d
mov eax, dword [esi + 0x7c]
sub eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0xbcaf21
mov eax, dword [ebp - 0x1c]
add eax, eax
push eax
push dword [ebp - 0x14]
push ecx
call fcn.00ba1f94
add esp, 0xc
test eax, eax
jne 0xbcaf1e
mov eax, dword [ebp - 0x28]
jmp 0xbcaf49
mov ecx, dword [ebp - 8]
test edi, edi
jle 0xbcaf5a
mov eax, dword [esi + 0x7c]
lea edx, [edi + edi]
sub eax, edx
cmp ecx, eax
ja 0xbcaf5a
lea eax, [edi + edi]
push eax
lea eax, [ebp - 0x68]
push eax
push ecx
call fcn.00ba1f94
add esp, 0xc
test eax, eax
jne 0xbcaf5a
lea eax, [edi + edi]
add dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcaef6
jmp 0xbcaf87
cmp dword [esi + 0x8c], 0
mov eax, dword [ebp - 8]
je 0xbcaf8a
cmp eax, dword [esi + 0x7c]
jb 0xbcaf87
cmp eax, dword [esi + 0x88]
jbe 0xbcaf87
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0xb94e30
cmp eax, edx
jbe 0xb94d15
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbcafe7
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x20]
ja 0xbcafa2
jmp 0xb94d15
add ebx, 2
mov dword [ebp - 0x30], ebx
cmp edi, 0x2e
jb 0xbcb14a
cmp dword [ebp - 0x24], 0
je 0xbcb04a
cmp eax, 0x7f
jbe 0xbcb04a
mov edi, dword [ebp - 0xc]
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0xc34b50]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0xbcb02f
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x2c]
add ecx, eax
movzx eax, word [ecx*2 + 0xc26850]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax*8 + 0xc23f64]
add eax, edi
jmp 0xbcb05b
mov edi, dword [ebp - 0xc]
cmp eax, 0xff
ja 0xbcb05b
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edi]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], 1
cmp ecx, 1
jl 0xbcb0a0
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx esi, word [eax]
mov dword [ebp - 0x14], esi
cmp edi, esi
mov esi, dword [ebp + 0x10]
je 0xbcb092
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x14]
mov edi, dword [ebp - 0xc]
jne case.0xb94bd5.157
inc dword [ebp - 0x28]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x28], ecx
jle 0xbcb06d
cmp ecx, dword [ebp - 0x18]
je 0xb94e30
test edx, edx
jne 0xbcf004
mov edx, eax
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebp - 0x18]
jge 0xbcb102
cmp eax, dword [esi + 0x7c]
jae 0xbcb0da
movzx edx, word [eax]
cmp edi, edx
je 0xbcb0cc
cmp dword [ebp - 0x1c], edx
jne 0xbcb0ff
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0x18]
jl 0xbcb0bb
jmp 0xbcb0ff
cmp dword [esi + 0x8c], 0
je 0xbcb0ff
cmp eax, dword [esi + 0x88]
jbe 0xbcb0ff
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0xb94e30
cmp eax, edx
je 0xb94d15
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0xb94ccd
cmp edi, dword [ebp - 0x20]
jne 0xbcb117
jmp 0xb94d15
mov dword [ebp - 0x14], 1
cmp ecx, 1
jge 0xbcb15b
mov edi, dword [ebp - 8]
jmp 0xbcb187
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
mov edi, dword [ebp - 8]
movzx eax, word [eax]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0xc], eax
jne case.0xb94bd5.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, ecx
jle 0xbcb15b
cmp ecx, dword [ebp - 0x18]
je 0xb94e30
test edx, edx
jne 0xbcf07b
mov eax, dword [ebp - 8]
mov edx, eax
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x20], edx
cmp ecx, edi
jge 0xbcb1c8
mov edx, dword [ebp - 0xc]
cmp eax, dword [esi + 0x7c]
jae 0xbcb210
movzx eax, word [eax]
cmp edx, eax
jne 0xbcb1c2
add dword [ebp - 8], 2
inc ecx
mov eax, dword [ebp - 8]
cmp ecx, edi
jl 0xbcb1aa
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebp - 0x34], 0
jne 0xb94e30
cmp eax, edx
je 0xb94d15
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
sub edi, 2
add esp, 0x14
mov dword [ebp - 8], edi
test eax, eax
jne 0xb94ccd
cmp edi, dword [ebp - 0x20]
jne 0xbcb1dd
jmp 0xb94d15
cmp dword [esi + 0x8c], 0
je 0xbcb1c5
cmp eax, dword [esi + 0x88]
jbe 0xbcb1c5
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
jmp 0xbcb1c5
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
cmp dword [ebp - 0x24], 0
je 0xbcb347
movzx edx, word [ebx + 2]
add ebx, 4
mov eax, edx
mov dword [ebp - 0x14], edx
and eax, 0xfc00
mov dword [ebp - 0x30], ebx
cmp eax, 0xd800
jne 0xbcb28a
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x28], ecx
cmp eax, 0xd800
jne 0xbcb2ca
mov eax, dword [ebp - 8]
and ecx, 0x3ff
shl ecx, 0xa
movzx eax, word [eax]
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x28], ecx
cmp edi, 0x1f
jne 0xbcb2dc
cmp edx, ecx
je case.0xb94bd5.157
jmp 0xb94e30
cmp edx, 0x7f
jbe 0xbcb31f
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0xc34b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0xbcb307
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0xc26850]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax*8 + 0xc23f64]
add eax, edx
jmp 0xbcb332
cmp edx, 0xff
ja 0xbcb330
mov eax, dword [esi + 0x40]
movzx eax, byte [eax + edx]
jmp 0xbcb332
mov eax, edx
cmp edx, ecx
je case.0xb94bd5.157
cmp eax, ecx
je case.0xb94bd5.157
jmp 0xb94e30
movzx edx, word [eax]
add eax, 2
movzx ecx, word [ebx + 2]
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0xb94bd5.157
cmp edi, 0x20
jne 0xbc900d
cmp ecx, 0xff
ja 0xbcb374
mov eax, dword [esi + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0xb94bd5.157
add ebx, 4
jmp 0xb94e2d
movzx eax, word [ebx + 2]
add ebx, 4
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
jmp 0xbcb43e
movzx edx, word [ebx + 2]
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], edx
cmp ecx, 0x42
je 0xbcb3b3
cmp ecx, 0x4f
je 0xbcb3b3
xor edx, edx
jmp 0xbcb3b8
mov edx, 1
mov dword [ebp - 0x2c], edx
add ebx, 4
jmp 0xbcb43e
mov ecx, 1
xor eax, eax
jmp 0xbcb3d0
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x18], 0x7fffffff
jmp 0xbcb3e3
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x18], ecx
add ebx, 2
jmp 0xbcb3f9
movzx edx, word [ebx + 2]
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x18], edx
add ebx, 4
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x10], eax
jmp 0xbcb441
cmp edi, 0x48
mov ecx, edi
sbb eax, eax
add ebx, 2
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
movzx edx, cl
and edx, 1
mov dword [ebp - 0x2c], edx
movsx eax, byte [ecx + 0xc26740]
movsx ecx, byte [ecx + 0xc2674c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0xbcb43e
mov dword [ebp - 0x18], 0x7fffffff
mov ecx, dword [ebp - 0x34]
movzx esi, word [ebx]
add ebx, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0xc], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
je 0xbcb48f
mov eax, dword [ebp - 0xc]
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcb48c
mov esi, dword [ebp - 0xc]
movzx eax, word [ebx]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or eax, esi
mov esi, dword [ebp + 0x10]
add eax, 0x10000
add ebx, 2
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x10]
cmp edi, 0x48
jb 0xbcb784
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp - 0xc]
je 0xbcb4ea
cmp edi, 0x7f
jbe 0xbcb4ea
mov eax, edi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0xc34b50]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0xbcb4c9
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x2c]
add ecx, eax
movzx eax, word [ecx*2 + 0xc26850]
mov ecx, dword [ebp - 0x34]
mov eax, dword [eax*8 + 0xc23f64]
add eax, edi
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
jmp 0xbcb4ff
cmp edi, 0xff
ja 0xbcb4fc
mov eax, dword [esi + 0x40]
movzx edi, byte [eax + edi]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x28], 1
je 0xbcb594
cmp eax, 1
jl 0xbcb5d4
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x1c], ecx
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0xbcb56c
movzx eax, word [eax]
and dword [ebp - 0x1c], 0x3ff
and eax, 0x3ff
shl dword [ebp - 0x1c], 0xa
or eax, dword [ebp - 0x1c]
add eax, 0x10000
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0xc]
cmp esi, dword [ebp - 0x1c]
mov esi, dword [ebp + 0x10]
je case.0xb94bd5.157
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
je case.0xb94bd5.157
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jle 0xbcb51c
jmp 0xbcb5d7
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0xbcb5d7
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx ecx, word [eax]
cmp dword [ebp - 0xc], ecx
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x34]
je case.0xb94bd5.157
mov esi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0x14]
mov esi, dword [ebp + 0x10]
je case.0xb94bd5.157
inc dword [ebp - 0x28]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x28], edi
jle 0xbcb59c
mov eax, dword [ebp - 8]
cmp edi, dword [ebp - 0x18]
je 0xb94e30
test edx, edx
jne 0xbcf0ea
cmp dword [ebp - 0x24], 0
mov edx, eax
mov dword [ebp - 0x10], edx
je 0xbcb6f1
cmp edi, dword [ebp - 0x18]
jge 0xbcb665
mov dword [ebp - 0x14], 1
cmp eax, dword [esi + 0x7c]
jae 0xbcb6c7
movzx edx, word [eax]
mov ecx, dword [ebp - 8]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcb641
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, 2
add edx, 0x10000
jmp 0xbcb644
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], edx
je 0xbcb65c
cmp dword [ebp - 0x20], edx
je 0xbcb65c
lea ecx, [ecx + eax*2]
inc edi
mov eax, ecx
mov dword [ebp - 8], ecx
cmp edi, dword [ebp - 0x18]
jl 0xbcb5fc
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
jne 0xb94e30
cmp eax, edx
jbe 0xb94d15
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbcb6bd
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0xbcb678
jmp 0xb94d15
cmp dword [esi + 0x8c], 0
je 0xbcb65f
cmp eax, dword [esi + 0x88]
jbe 0xbcb65f
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
jmp 0xbcb65f
cmp edi, dword [ebp - 0x18]
jge 0xbcb73e
cmp eax, dword [esi + 0x7c]
jae 0xbcb716
movzx edx, word [eax]
cmp dword [ebp - 0xc], edx
je 0xbcb73b
cmp dword [ebp - 0x20], edx
je 0xbcb73b
add eax, 2
inc edi
mov dword [ebp - 8], eax
cmp edi, dword [ebp - 0x18]
jl 0xbcb6f6
jmp 0xbcb73b
cmp dword [esi + 0x8c], 0
je 0xbcb73b
cmp eax, dword [esi + 0x88]
jbe 0xbcb73b
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov edx, dword [ebp - 0x10]
test ecx, ecx
jne 0xb94e30
cmp eax, edx
je 0xb94d15
mov edi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
jne 0xbcb751
jmp 0xb94d15
cmp dword [ebp - 0x24], 0
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
je 0xbcb7fa
cmp eax, 1
jl 0xbcb825
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 0x20], eax
and eax, 0xfc00
mov dword [ebp - 8], edi
cmp eax, 0xd800
jne 0xbcb7e1
movzx eax, word [edi]
and dword [ebp - 0x20], 0x3ff
and eax, 0x3ff
shl dword [ebp - 0x20], 0xa
or eax, dword [ebp - 0x20]
add eax, 0x10000
add edi, 2
mov dword [ebp - 8], edi
jmp 0xbcb7e4
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0xc], eax
je case.0xb94bd5.157
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x28], eax
jle 0xbcb79d
jmp 0xbcb825
cmp eax, 1
jl 0xbcb825
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0xc], eax
je case.0xb94bd5.157
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x28], eax
jle 0xbcb7ff
cmp eax, dword [ebp - 0x18]
je 0xb94e30
test edx, edx
jne 0xbcf1f6
cmp dword [ebp - 0x24], 0
mov edx, edi
mov dword [ebp - 0x1c], edx
je 0xbcb92f
cmp eax, dword [ebp - 0x18]
jge 0xbcb8d0
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0xbcb8a8
movzx edx, word [edi]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcb88c
movzx eax, word [edi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov eax, 2
add edx, 0x10000
jmp 0xbcb88f
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0xc], edx
je 0xbcb8cd
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcb84e
jmp 0xbcb8cd
cmp dword [esi + 0x8c], 0
je 0xbcb8cd
cmp edi, dword [esi + 0x88]
jbe 0xbcb8cd
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov edx, dword [ebp - 0x1c]
test ecx, ecx
jne 0xb94e30
cmp edi, edx
jbe 0xb94d15
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbcb925
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
ja 0xbcb8e0
jmp 0xb94d15
cmp eax, dword [ebp - 0x18]
jge 0xbcb97f
mov edx, dword [ebp - 0xc]
cmp edi, dword [esi + 0x7c]
jae 0xbcb957
movzx eax, word [edi]
cmp edx, eax
je 0xbcb97c
mov eax, dword [ebp - 0x10]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcb937
jmp 0xbcb97c
cmp dword [esi + 0x8c], 0
je 0xbcb97c
cmp edi, dword [esi + 0x88]
jbe 0xbcb97c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov edx, dword [ebp - 0x1c]
test ecx, ecx
jne 0xb94e30
cmp edi, edx
je 0xb94d15
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x1c]
jne 0xbcb98f
jmp 0xb94d15
movzx edi, word [ebx + 2]
mov eax, 1
mov edx, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xc], edx
add ebx, 4
mov dword [ebp - 0x2c], eax
jmp 0xb9522d
movzx edi, word [ebx + 2]
xor eax, eax
xor edx, edx
mov dword [ebp - 0x18], edi
cmp ecx, 0x5c
mov dword [ebp - 0xc], edx
sete al
add ebx, 4
mov dword [ebp - 0x2c], eax
jmp 0xb9522d
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0xb95226
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
jmp 0xb95226
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x34], 1
add ebx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], 1
jmp 0xb9522d
movzx ecx, word [ebx + 2]
xor edx, edx
mov eax, dword [ebp - 0x2c]
add ebx, 4
mov dword [ebp - 0x34], 1
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x18], ecx
jmp 0xb9522d
mov dword [ebp - 0x38], 1
jmp 0xbcba7a
mov dword [ebp - 0x38], 0
movzx esi, word [ebx + 2]
movzx ecx, word [ebx]
add ebx, 4
mov dword [ebp - 0x3c], esi
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x30], ebx
jmp 0xb9524e
test ecx, ecx
js 0xbcc22f
cmp ecx, 0xa
ja case.default.0xbca277
jmp dword [ecx*4 + 0xbd0896]
cmp dword [ebp - 0x38], 0
jne case.0xb94bd5.157
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcd00c
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xbcbaf1
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0xbcbaf1
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbcbac5
jmp 0xbcc224
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xb9525c
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xbcbb54
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcbb54
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcbb76
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp eax, 9
je 0xbcbb9b
cmp eax, 5
je 0xbcbb9b
cmp eax, 8
je 0xbcbb9b
xor eax, eax
jmp 0xbcbba0
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0xb94bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0xbcbb0f
mov eax, dword [ebp - 0x2c]
jmp 0xbcc227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xb9525c
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xbcbc1b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcbc1b
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcbc3d
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp dword [eax*4 + 0xc399b0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0xb94bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0xbcbbd6
mov eax, dword [ebp - 0x2c]
jmp 0xbcc227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xb9525c
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xbcbcd9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcbcd9
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcbcfb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0xb94bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0xbcbc94
mov eax, dword [ebp - 0x2c]
jmp 0xbcc227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xb9525c
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xbcbd90
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcbd90
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcbdb2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f60]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0xb94bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0xbcbd4b
mov eax, dword [ebp - 0x2c]
jmp 0xbcc227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xb9525c
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xbcbe47
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcbe47
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcbe69
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbcbe90
cmp eax, 3
je 0xbcbe90
xor eax, eax
jmp 0xbcbe95
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0xb94bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0xbcbe02
mov eax, dword [ebp - 0x2c]
jmp 0xbcc227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xb9525c
mov eax, dword [ebp - 0x24]
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
test eax, eax
je 0xbcbf14
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcbf11
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x24]
cmp ecx, 0x180e
ja 0xbcbf61
je 0xbcbfe9
cmp ecx, 0x85
ja 0xbcbf48
je 0xbcbfe9
cmp ecx, 9
jb case.0xbcbf7d.8203
cmp ecx, 0xd
jbe 0xbcbfe9
cmp ecx, 0x20
jne case.0xbcbf7d.8203
jmp 0xbcbfe9
cmp ecx, 0xa0
je 0xbcbfe9
cmp ecx, 0x1680
jne case.0xbcbf7d.8203
jmp 0xbcbfe9
cmp ecx, 0x202f
ja 0xbcbf84
je 0xbcbfe9
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0xbcbf7d.8203
movzx eax, byte [eax + 0xbd08ca]
jmp dword [eax*4 + 0xbd08c2]
cmp ecx, 0x205f
je 0xbcbfe9
cmp ecx, 0x3000
je 0xbcbfe9
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcbfb6
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp dword [eax*4 + 0xc399b0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0xb94bd5.157
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x24]
jmp 0xbcbff3
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x38], 0
jne case.0xb94bd5.157
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0xbcbece
mov eax, dword [ebp - 0x2c]
jmp 0xbcc227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
cmp edx, 1
jl 0xb9525c
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edi
je 0xbcc068
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc068
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0xc34b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0xbcc08e
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbcc0ba
cmp eax, 3
je 0xbcc0ba
cmp edx, 0x5f
je 0xbcc0ba
xor eax, eax
jmp 0xbcc0bf
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0xb94bd5.157
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, edx
jle 0xbcc01d
mov eax, dword [ebp - 0x2c]
jmp 0xbcc227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xb9525c
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xbcc13a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc13a
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0xc255e0]
lea eax, [eax*4 + 0xc255e0]
cmp ecx, edx
jb 0xbcc15c
lea eax, [eax + 4]
cmp ecx, edx
je 0xbcc17c
mov edx, dword [eax]
cmp ecx, edx
jae 0xbcc14f
cmp dword [ebp - 0x38], 0
je case.0xb94bd5.157
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
jle 0xbcc0f5
mov eax, dword [ebp - 0x2c]
jmp 0xbcc227
cmp dword [ebp - 0x38], 0
jne case.0xb94bd5.157
jmp 0xbcc166
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcd00c
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xbcc1de
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc1de
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x24
je 0xbcc209
cmp ecx, 0x40
je 0xbcc209
cmp ecx, 0x60
je 0xbcc209
cmp ecx, 0xa0
jb 0xbcc1fd
cmp ecx, 0xd7ff
jbe 0xbcc209
cmp ecx, 0xe000
jae 0xbcc209
xor eax, eax
jmp 0xbcc20e
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0xb94bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbcc199
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
jmp 0xb9525c
cmp edi, 0x16
jne 0xbcc3c1
mov edi, dword [ebp - 8]
mov dword [ebp - 0x20], 1
cmp edx, 1
jl 0xb9525c
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x28], eax
cmp edi, eax
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xbcc295
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc295
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcc2b7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx ecx, byte [eax*8 + 0xc23f62]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0xbcc37e
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0xbcc319
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc319
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcc33b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx ecx, byte [eax*8 + 0xc23f62]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0xc26810], eax
je 0xbcc372
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x28]
cmp edi, eax
jb 0xbcc2dc
jmp 0xbcc375
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0xbcc3a7
cmp edi, eax
jb 0xbcc3a7
cmp edi, dword [esi + 0x88]
jbe 0xbcc3a7
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, edx
jle 0xbcc24b
mov eax, dword [ebp - 0x2c]
jmp 0xbcc227
cmp dword [ebp - 0x24], 0
lea ecx, [edi - 6]
je 0xbccaee
cmp ecx, 0xf
ja case.default.0xbca277
jmp dword [ecx*4 + 0xbd08f6]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xbcc227
lea eax, [edi + 2]
mov dword [ebp - 0x20], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0xbceee5
mov edx, dword [esi + 0x18]
test edx, edx
je 0xbcc4a8
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00b9602f
add esp, 0xc
test eax, eax
jne case.0xb94bd5.157
mov edx, dword [ebp - 0x20]
cmp dword [esi + 0x8c], 0
je 0xbcc461
cmp edx, dword [esi + 0x7c]
jb 0xbcc461
cmp dword [esi + 0x18], 0
jne 0xbcc461
cmp dword [esi + 0x1c], 2
jne 0xbcc461
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0xbcc461
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
cmp edi, dword [esi + 0x7c]
jae 0xbcc493
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbcc493
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x14]
inc edx
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0xc]
jle 0xbcc3f7
jmp 0xbcc221
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0xbcc427
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0xbcc427
cmp edx, 1
je case.0xb94bd5.157
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
je case.0xb94bd5.157
jmp 0xbcc42a
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, ecx
jae 0xbceee5
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0xbcc530
mov ax, word [edi]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xdc00
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0xc]
jne 0xbcc530
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jle 0xbcc4fa
jmp 0xbcc221
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja case.0xb94bd5.157
mov eax, dword [ebp - 0x2c]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0xbcc227
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xbcc227
mov edx, dword [esi + 0x7c]
cmp edi, edx
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc5ae
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0xd
ja 0xbcc5da
je 0xbcc5c8
cmp ecx, 0xa
je 0xbcc5fb
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0xb94bd5.157
jmp 0xbcc5f1
cmp edi, edx
jae 0xbcc5fb
cmp word [edi], 0xa
jne 0xbcc5fb
add edi, 2
mov dword [ebp - 8], edi
jmp 0xbcc5fb
cmp ecx, 0x85
je 0xbcc5f1
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0xb94bd5.157
cmp dword [esi + 0x6c], 0
jne case.0xb94bd5.157
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0xc]
jle 0xbcc570
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc660
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
ja 0xbcc69e
je case.0xb94bd5.157
cmp ecx, 0xa0
ja 0xbcc690
je case.0xb94bd5.157
cmp ecx, 9
je case.0xb94bd5.157
cmp ecx, 0x20
je case.0xb94bd5.157
jmp 0xbcc6da
cmp ecx, 0x1680
je case.0xb94bd5.157
jmp 0xbcc6da
cmp ecx, 0x205f
ja 0xbcc6ce
je case.0xb94bd5.157
cmp ecx, 0x2000
jb 0xbcc6da
cmp ecx, 0x200a
jbe case.0xb94bd5.157
cmp ecx, 0x202f
je case.0xb94bd5.157
jmp 0xbcc6da
cmp ecx, 0x3000
je case.0xb94bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbcc621
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc739
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
ja 0xbcc76b
je 0xbcc7a3
cmp ecx, 0xa0
ja 0xbcc75d
je 0xbcc7a3
cmp ecx, 9
je 0xbcc7a3
cmp ecx, 0x20
jne case.0xb94bd5.157
jmp 0xbcc7a3
cmp ecx, 0x1680
jne case.0xb94bd5.157
jmp 0xbcc7a3
cmp ecx, 0x205f
ja 0xbcc797
je 0xbcc7a3
cmp ecx, 0x2000
jb case.0xb94bd5.157
cmp ecx, 0x200a
jbe 0xbcc7a3
cmp ecx, 0x202f
jne case.0xb94bd5.157
jmp 0xbcc7a3
cmp ecx, 0x3000
jne case.0xb94bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbcc6fa
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc802
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
ja 0xbcc820
je case.0xb94bd5.157
cmp ecx, 0xa
jb 0xbcc834
cmp ecx, 0xd
jbe case.0xb94bd5.157
jmp 0xbcc834
cmp ecx, 0x2028
jb 0xbcc834
cmp ecx, 0x2029
jbe case.0xb94bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbcc7c3
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc88f
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
ja 0xbcc8a7
je 0xbcc8b6
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0xb94bd5.157
jmp 0xbcc8b6
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0xb94bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbcc850
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
mov dword [ebp - 8], edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcc911
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x80
jae 0xbcc926
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0xb94bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbcc8d2
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0xb94bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0xbcc942
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xbcc227
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0xbceee5
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0xbcc9b4
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0xb94bd5.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0xbcc9dc
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0xbcc9dc
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0xbcc991
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0xb94bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0xbcc9fd
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xbcc227
mov edx, dword [esi + 0x7c]
mov eax, dword [ebp - 0xc]
cmp edi, edx
jae 0xbceee5
movzx ecx, word [edi]
cmp ecx, 0x80
jae 0xbcca6f
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0xb94bd5.157
mov eax, dword [ebp - 0xc]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, edx
jae 0xbcca97
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
mov eax, dword [ebp - 0xc]
jne 0xbcca97
add edi, 2
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, eax
jle 0xbcca4c
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
cmp ecx, 0x80
jae case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0xb94bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0xbccab8
jmp 0xbcc221
cmp ecx, 0xf
ja case.default.0xbca277
jmp dword [ecx*4 + 0xbd0936]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp edx, 1
jl 0xbcc227
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0xbceee5
mov edx, dword [esi + 0x18]
test edx, edx
je 0xbccb3e
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00b9602f
add esp, 0xc
test eax, eax
jne case.0xb94bd5.157
jmp 0xbccb6a
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0xbccb6a
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0xbccb6a
cmp edx, 1
je case.0xb94bd5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0xb94bd5.157
cmp dword [esi + 0x8c], 0
je 0xbccba4
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0xbccba4
cmp dword [esi + 0x18], 0
jne 0xbccba4
cmp dword [esi + 0x1c], 2
jne 0xbccba4
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0xbccba4
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov edx, dword [ebp - 0x14]
add edi, 2
inc edx
mov dword [ebp - 8], edi
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0xc]
jle 0xbccb11
jmp 0xbcc221
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
mov edi, dword [ebp - 8]
sub eax, ecx
cmp edi, eax
ja 0xbceee5
mov eax, dword [ebp - 0x2c]
add edi, ecx
mov dword [ebp - 8], edi
jmp 0xbcc227
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0xbceee5
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0xd
jg 0xbccc30
je 0xbccc1e
cmp eax, 0xa
je 0xbccc4f
add eax, 0xfffffff5
cmp eax, 1
ja case.0xb94bd5.157
jmp 0xbccc45
cmp edi, ecx
jae 0xbccc4f
cmp word [edi], 0xa
jne 0xbccc4f
add edi, 2
mov dword [ebp - 8], edi
jmp 0xbccc4f
cmp eax, 0x85
je 0xbccc45
add eax, 0xffffdfd8
cmp eax, 1
ja case.0xb94bd5.157
cmp dword [esi + 0x6c], 0
jne case.0xb94bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbccbf3
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0xbcccbb
je case.0xb94bd5.157
cmp ecx, 0xa0
jg 0xbcccad
je case.0xb94bd5.157
cmp ecx, 9
je case.0xb94bd5.157
cmp ecx, 0x20
je case.0xb94bd5.157
jmp 0xbcccf7
cmp ecx, 0x1680
je case.0xb94bd5.157
jmp 0xbcccf7
cmp ecx, 0x205f
jg 0xbccceb
je case.0xb94bd5.157
cmp ecx, 0x2000
jl 0xbcccf7
cmp ecx, 0x200a
jle case.0xb94bd5.157
cmp ecx, 0x202f
je case.0xb94bd5.157
jmp 0xbcccf7
cmp ecx, 0x3000
je case.0xb94bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbccc6b
jmp 0xbcc224
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x180e
jg 0xbccd5b
je 0xbccd93
cmp ecx, 0xa0
jg 0xbccd4d
je 0xbccd93
cmp ecx, 9
je 0xbccd93
cmp ecx, 0x20
jne case.0xb94bd5.157
jmp 0xbccd93
cmp ecx, 0x1680
jne case.0xb94bd5.157
jmp 0xbccd93
cmp ecx, 0x205f
jg 0xbccd87
je 0xbccd93
cmp ecx, 0x2000
jl case.0xb94bd5.157
cmp ecx, 0x200a
jle 0xbccd93
cmp ecx, 0x202f
jne case.0xb94bd5.157
jmp 0xbccd93
cmp ecx, 0x3000
jne case.0xb94bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbccd17
jmp 0xbcc224
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp ecx, 0x85
jg 0xbccde3
je case.0xb94bd5.157
cmp ecx, 0xa
jl 0xbccdf7
cmp ecx, 0xd
jle case.0xb94bd5.157
jmp 0xbccdf7
cmp ecx, 0x2028
jl 0xbccdf7
cmp ecx, 0x2029
jle case.0xb94bd5.157
inc edx
cmp edx, dword [ebp - 0xc]
jle 0xbccdb3
jmp 0xbcc224
mov edi, dword [ebp - 8]
mov ecx, 1
cmp edx, ecx
jl 0xbcc227
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 8], edi
cmp eax, 0x85
jg 0xbcce3b
je 0xbcce49
add eax, 0xfffffff6
cmp eax, 3
ja case.0xb94bd5.157
jmp 0xbcce49
add eax, 0xffffdfd8
cmp eax, 1
ja case.0xb94bd5.157
inc ecx
cmp ecx, edx
jle 0xbcce12
mov eax, dword [ebp - 0x2c]
jmp 0xbcc227
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0xbcce8c
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0xb94bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0xbcce67
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0xb94bd5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0xb94bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0xbcceae
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0xbccf1e
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0xb94bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0xbccef9
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0xb94bd5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0xb94bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0xbccf40
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0xbccfb0
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0xb94bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0xbccf8b
jmp 0xbcc221
mov edi, dword [ebp - 8]
mov edx, 1
cmp dword [ebp - 0xc], edx
jl 0xbcc224
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja case.0xb94bd5.157
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0xb94bd5.157
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0xc]
jle 0xbccfd2
jmp 0xbcc221
mov edx, dword [ebp - 0xc]
jmp 0xb9525c
mov eax, edi
mov dword [ebp - 0x10], eax
test ecx, ecx
js 0xbcd8ab
cmp ecx, 0xa
ja case.default.0xbca277
jmp dword [ecx*4 + 0xbd0976]
cmp edx, dword [ebp - 0x18]
jge 0xbcd846
mov eax, dword [ebp - 0x18]
mov ecx, 1
cmp edi, dword [esi + 0x7c]
jae 0xbcd08a
cmp dword [ebp - 0x24], 0
je 0xbcd070
mov ax, word [edi]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xd800
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jne 0xbcd070
mov ecx, 2
cmp dword [ebp - 0x38], 0
jne 0xbcd843
inc edx
lea edi, [edi + ecx*2]
mov dword [ebp - 8], edi
cmp edx, eax
jl 0xbcd03d
jmp 0xbcd843
cmp dword [esi + 0x8c], 0
je 0xbcd843
cmp edi, dword [esi + 0x88]
jbe 0xbcd843
mov dword [esi + 0x68], ecx
cmp dword [esi + 0x8c], ecx
jle 0xbcd843
jmp 0xbc973f
cmp edx, dword [ebp - 0x18]
jge 0xbcd846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0xbcd17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0xbcd108
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd108
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcd12a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp eax, 9
je 0xbcd14f
cmp eax, 5
je 0xbcd14f
cmp eax, 8
je 0xbcd14f
xor eax, eax
jmp 0xbcd154
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0xbcd843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcd0c0
jmp 0xbcd843
cmp dword [esi + 0x8c], 0
je 0xbcd843
cmp edi, dword [esi + 0x88]
jbe 0xbcd843
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0xbcd843
jmp 0xbc973f
cmp edx, dword [ebp - 0x18]
jge 0xbcd846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0xbcd17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0xbcd1fa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd1fa
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcd21c
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp dword [eax*4 + 0xc399b0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je 0xbcd843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcd1b6
jmp 0xbcd843
cmp edx, dword [ebp - 0x18]
jge 0xbcd846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0xbcd17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0xbcd2b5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd2b5
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcd2d7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0xbcd843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcd26d
jmp 0xbcd843
cmp edx, dword [ebp - 0x18]
jge 0xbcd846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0xbcd17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0xbcd369
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd369
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcd38b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f60]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je 0xbcd843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcd321
jmp 0xbcd843
cmp edx, dword [ebp - 0x18]
jge 0xbcd846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0xbcd17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0xbcd41d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd41d
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcd43f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbcd466
cmp eax, 3
je 0xbcd466
xor eax, eax
jmp 0xbcd46b
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0xbcd843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcd3d5
jmp 0xbcd843
cmp edx, dword [ebp - 0x18]
jge 0xbcd846
mov eax, 1
mov dword [ebp - 0x28], eax
cmp edi, dword [esi + 0x7c]
jae 0xbcd5e1
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0xbcd4ea
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd4e7
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 2
add ecx, 0x10000
mov dword [ebp - 0x28], eax
jmp 0xbcd4ea
mov eax, dword [ebp - 0x28]
cmp ecx, 0x180e
ja 0xbcd537
je 0xbcd5bf
cmp ecx, 0x85
ja 0xbcd51e
je 0xbcd5bf
cmp ecx, 9
jb case.0xbcd553.8203
cmp ecx, 0xd
jbe 0xbcd5bf
cmp ecx, 0x20
jne case.0xbcd553.8203
jmp 0xbcd5bf
cmp ecx, 0xa0
je 0xbcd5bf
cmp ecx, 0x1680
jne case.0xbcd553.8203
jmp 0xbcd5bf
cmp ecx, 0x202f
ja 0xbcd55a
je 0xbcd5bf
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0xbcd553.8203
movzx eax, byte [eax + 0xbd09aa]
jmp dword [eax*4 + 0xbd09a2]
cmp ecx, 0x205f
je 0xbcd5bf
cmp ecx, 0x3000
je 0xbcd5bf
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcd58c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp dword [eax*4 + 0xc399b0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je 0xbcd843
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0xc]
jmp 0xbcd5c9
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x38], 0
jne 0xbcd843
inc edx
lea edi, [edi + eax*2]
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x18]
jl 0xbcd49b
jmp 0xbcd843
cmp dword [esi + 0x8c], 0
je 0xbcd843
cmp edi, dword [esi + 0x88]
jbe 0xbcd843
mov dword [esi + 0x68], eax
cmp dword [esi + 0x8c], eax
jle 0xbcd843
jmp 0xbc973f
cmp edx, dword [ebp - 0x18]
jge 0xbcd846
mov dword [ebp - 0x28], 1
cmp edi, dword [esi + 0x7c]
jae 0xbcd17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], ecx
je 0xbcd665
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd665
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x28], 2
add ecx, 0x10000
mov dword [ebp - 0x14], ecx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0xc34b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0xbcd68b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbcd6b7
cmp eax, 3
je 0xbcd6b7
cmp edx, 0x5f
je 0xbcd6b7
xor eax, eax
jmp 0xbcd6bc
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0xbcd843
mov eax, dword [ebp - 0x28]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcd617
jmp 0xbcd843
cmp edx, dword [ebp - 0x18]
jge 0xbcd846
mov dword [ebp - 0x14], 1
cmp edi, dword [esi + 0x7c]
jae 0xbcd17b
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0xbcd734
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd734
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0xc255e0]
lea eax, [eax*4 + 0xc255e0]
cmp ecx, edx
jb 0xbcd756
lea eax, [eax + 4]
cmp ecx, edx
je 0xbcd77e
mov edx, dword [eax]
cmp ecx, edx
jae 0xbcd749
cmp dword [ebp - 0x38], 0
je 0xbcd843
mov eax, dword [ebp - 0x14]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcd6ec
jmp 0xbcd843
cmp dword [ebp - 0x38], 0
je 0xbcd760
jmp 0xbcd843
cmp edx, dword [ebp - 0x18]
jge 0xbcd846
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0xbcd823
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
je 0xbcd7d6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd7d6
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x24
je 0xbcd801
cmp ecx, 0x40
je 0xbcd801
cmp ecx, 0x60
je 0xbcd801
cmp ecx, 0xa0
jb 0xbcd7f5
cmp ecx, 0xd7ff
jbe 0xbcd801
cmp ecx, 0xe000
jae 0xbcd801
xor eax, eax
jmp 0xbcd806
mov eax, 1
cmp eax, dword [ebp - 0x38]
je 0xbcd843
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcd792
jmp 0xbcd843
cmp dword [esi + 0x8c], 0
je 0xbcd843
cmp edi, dword [esi + 0x88]
jbe 0xbcd843
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0xbc973f
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0xb94e30
cmp edi, eax
jbe 0xb94d15
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
je 0xbcd8a1
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbcd8a1
sub edi, 2
mov dword [ebp - 8], edi
cmp edi, dword [ebp - 0x10]
ja 0xbcd858
jmp 0xb94d15
mov ecx, dword [ebp - 0x1c]
cmp ecx, 0x16
jne 0xbcdaa2
cmp edx, dword [ebp - 0x18]
jge 0xbcda56
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x28], eax
cmp edi, eax
jae 0xbcda2e
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], edi
je 0xbcd90a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd90a
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 8], edi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcd92c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx ecx, byte [eax*8 + 0xc23f62]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0xbcd9f3
mov ebx, dword [ebp - 0x24]
mov esi, ecx
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
test ebx, ebx
je 0xbcd98e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcd98e
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcd9b0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx ecx, byte [eax*8 + 0xc23f62]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0xc26810], eax
je 0xbcd9e7
mov eax, dword [ebp - 0x14]
mov esi, ecx
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x28]
cmp edi, eax
jb 0xbcd951
jmp 0xbcd9ea
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0xbcda1c
cmp edi, eax
jb 0xbcda1c
cmp edi, dword [esi + 0x88]
jbe 0xbcda1c
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcd8c0
jmp 0xbcda53
cmp dword [esi + 0x8c], 0
je 0xbcda53
cmp edi, dword [esi + 0x88]
jbe 0xbcda53
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x34], 0
jne 0xb94e30
cmp edi, eax
jbe 0xb94d15
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x24], eax
jne 0xbce845
movzx ecx, word [edi]
jmp 0xbce88b
cmp dword [ebp - 0x24], 0
lea eax, [ecx - 6]
je 0xbce202
cmp eax, 0xf
ja case.default.0xbca277
jmp dword [eax*4 + 0xbd09d6]
cmp edx, dword [ebp - 0x18]
jge 0xbce17d
lea eax, [edi + 2]
mov dword [ebp - 0x20], eax
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0xbcdc19
mov edx, dword [esi + 0x18]
test edx, edx
je 0xbcdb7f
push dword [ebp - 0x24]
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00b9602f
add esp, 0xc
test eax, eax
jne 0xbce17d
mov edx, dword [ebp - 0x20]
cmp dword [esi + 0x8c], 0
je 0xbcdb38
cmp edx, dword [esi + 0x7c]
jb 0xbcdb38
cmp dword [esi + 0x18], 0
jne 0xbcdb38
cmp dword [esi + 0x1c], 2
jne 0xbcdb38
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0xbcdb38
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
cmp edi, dword [esi + 0x7c]
jae 0xbcdb6a
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbcdb6a
add edi, 2
add edx, 2
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcdace
jmp 0xbce17d
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0xbcdafe
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0xbcdafe
cmp edx, 1
je 0xbce17d
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [esi + 0x36]
jne 0xbcdb01
jmp 0xbce17d
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x7fffffff
jge 0xbcdc0f
cmp edx, ecx
jge 0xbce17d
mov ecx, dword [esi + 0x7c]
mov eax, dword [ebp - 0x18]
cmp edi, ecx
jae 0xbcdc19
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0xbcdc05
mov ax, word [edi]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xdc00
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0x18]
jne 0xbcdc05
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, eax
jl 0xbcdbd3
jmp 0xbce17d
mov edi, dword [esi + 0x7c]
jmp 0xbcdc16
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0xbce17d
cmp edi, dword [esi + 0x88]
jbe 0xbce17d
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0xbce17d
jmp 0xbc973f
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub dword [ebp - 0x18], edx
sub eax, edi
mov edx, dword [ebp - 0x18]
sar eax, 1
cmp edx, eax
ja 0xbcdc14
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0xbce17d
cmp edx, dword [ebp - 0x18]
jge 0xbce17d
mov eax, dword [esi + 0x7c]
mov edx, 1
cmp edi, eax
jae 0xbcdd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcdcb2
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0xd
jne 0xbcdcd3
mov eax, dword [esi + 0x7c]
add edi, 2
mov dword [ebp - 8], edi
cmp edi, eax
jae 0xbce17d
cmp word [edi], 0xa
jne 0xbcdd11
add edi, 2
jmp 0xbcdd0e
cmp ecx, 0xa
je 0xbcdd08
cmp dword [esi + 0x6c], 0
jne 0xbce17d
cmp ecx, 0xb
je 0xbcdd08
cmp ecx, 0xc
je 0xbcdd08
cmp ecx, 0x85
je 0xbcdd08
cmp ecx, 0x2028
je 0xbcdd08
cmp ecx, 0x2029
jne 0xbce17d
mov eax, dword [esi + 0x7c]
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, dword [ebp - 0x18]
jl 0xbcdc75
jmp 0xbce17d
cmp dword [esi + 0x8c], 0
je 0xbce17d
cmp edi, dword [esi + 0x88]
jbe 0xbce17d
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jle 0xbce17d
jmp 0xbc973f
cmp edx, dword [ebp - 0x18]
jge 0xbce17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0xbcdd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcdd96
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x180e
ja 0xbcddeb
je 0xbcddb4
cmp ecx, 0xa0
ja 0xbcdde1
je 0xbcddb4
cmp ecx, 9
je 0xbcddb4
cmp ecx, 0x20
jne 0xbcde17
mov ecx, 1
xor eax, eax
cmp dword [ebp - 0x1c], 0x12
sete al
cmp ecx, eax
je 0xbce17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcdd5c
jmp 0xbce17d
cmp ecx, 0x1680
jne 0xbcde17
jmp 0xbcddb4
cmp ecx, 0x205f
ja 0xbcde0f
je 0xbcddb4
cmp ecx, 0x2000
jb 0xbcde17
cmp ecx, 0x200a
jbe 0xbcddb4
cmp ecx, 0x202f
jne 0xbcde17
jmp 0xbcddb4
cmp ecx, 0x3000
je 0xbcddb4
xor ecx, ecx
jmp 0xbcddb9
cmp edx, dword [ebp - 0x18]
jge 0xbce17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0xbcdd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcde62
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x85
ja 0xbcdea0
je 0xbcdeab
cmp ecx, 0xa
jb 0xbcde76
cmp ecx, 0xd
jbe 0xbcdeab
xor ecx, ecx
xor eax, eax
cmp dword [ebp - 0x1c], 0x14
sete al
cmp ecx, eax
je 0xbce17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcde24
jmp 0xbce17d
lea eax, [ecx - 0x2028]
cmp eax, 1
ja 0xbcde76
mov ecx, 1
jmp 0xbcde78
cmp edx, dword [ebp - 0x18]
jge 0xbce17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0xbcdd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcdef9
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0xbcdf0e
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0xbce17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcdebb
jmp 0xbce17d
cmp edx, dword [ebp - 0x18]
jge 0xbce17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0xbcdd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcdf6c
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0xbce17d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0xbce17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcdf2e
jmp 0xbce17d
cmp edx, dword [ebp - 0x18]
jge 0xbce17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0xbcdd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcdfe3
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0xbcdff8
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0xbce17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbcdfa5
jmp 0xbce17d
cmp edx, dword [ebp - 0x18]
jge 0xbce17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0xbcdd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbce056
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0xbce17d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0xbce17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbce018
jmp 0xbce17d
cmp edx, dword [ebp - 0x18]
jge 0xbce17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0xbcdd26
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbce0cd
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0xbce0e2
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0xbce17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbce08f
jmp 0xbce17d
cmp edx, dword [ebp - 0x18]
jge 0xbce17d
mov edx, 1
cmp edi, dword [esi + 0x7c]
jae 0xbce15d
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbce138
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0xbce17d
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0xbce17d
mov eax, dword [ebp - 0xc]
lea edi, [edi + edx*2]
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbce0fe
jmp 0xbce17d
cmp dword [esi + 0x8c], 0
je 0xbce17d
cmp edi, dword [esi + 0x88]
jbe 0xbce17d
mov dword [esi + 0x68], edx
cmp dword [esi + 0x8c], edx
jg 0xbc973f
cmp dword [ebp - 0x34], 0
jne 0xb94e30
cmp edi, dword [ebp - 0x10]
jbe 0xb94d15
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov ax, word [edi - 2]
sub edi, 2
mov ecx, 0xfc00
mov dword [ebp - 8], edi
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbce1d5
sub edi, 2
mov dword [ebp - 8], edi
cmp dword [ebp - 0x1c], 0x11
mov ecx, dword [ebp - 0x10]
jne 0xbce1f9
cmp edi, ecx
jbe 0xb94d15
cmp word [edi], 0xa
jne 0xbce1f9
cmp word [edi - 2], 0xd
jne 0xbce1f9
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
ja 0xbce190
jmp 0xb94d15
cmp eax, 0xf
ja case.default.0xbca277
jmp dword [eax*4 + 0xbd0a16]
cmp edx, dword [ebp - 0x18]
jge 0xbce6df
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0xbce2e0
mov edx, dword [esi + 0x18]
test edx, edx
je 0xbce247
lea eax, [esi + 0x1c]
push 0
push eax
push ecx
mov ecx, edi
call fcn.00b9602f
add esp, 0xc
test eax, eax
je 0xbce273
jmp 0xbce6df
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0xbce273
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0xbce273
cmp edx, 1
je 0xbce6df
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je 0xbce6df
cmp dword [esi + 0x8c], 0
je 0xbce2ad
lea eax, [edi + 2]
cmp eax, dword [esi + 0x7c]
jb 0xbce2ad
cmp dword [esi + 0x18], 0
jne 0xbce2ad
cmp dword [esi + 0x1c], 2
jne 0xbce2ad
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0xbce2ad
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov eax, dword [ebp - 0xc]
add edi, 2
inc eax
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x18]
jl 0xbce21b
jmp 0xbce6df
mov ecx, dword [esi + 0x7c]
mov eax, ecx
sub dword [ebp - 0x18], edx
sub eax, edi
mov edx, dword [ebp - 0x18]
sar eax, 1
cmp edx, eax
jbe 0xbce312
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [esi + 0x8c], 0
je 0xbce6df
cmp edi, dword [esi + 0x88]
jbe 0xbce6df
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle 0xbce6df
jmp 0xbc973f
lea edi, [edi + edx*2]
mov dword [ebp - 8], edi
jmp 0xbce6df
cmp edx, dword [ebp - 0x18]
jge 0xbce6df
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0xbce2e0
movzx eax, word [edi]
cmp eax, 0xd
jne 0xbce34b
add edi, 2
mov dword [ebp - 8], edi
cmp edi, ecx
jae 0xbce6df
cmp word [edi], 0xa
je 0xbce37d
jmp 0xbce383
cmp eax, 0xa
je 0xbce37d
cmp dword [esi + 0x6c], 0
jne 0xbce6df
cmp eax, 0xb
je 0xbce37d
cmp eax, 0xc
je 0xbce37d
cmp eax, 0x85
je 0xbce37d
cmp eax, 0x2028
je 0xbce37d
cmp eax, 0x2029
jne 0xbce6df
add edi, 2
mov dword [ebp - 8], edi
inc edx
cmp edx, dword [ebp - 0x18]
jl 0xbce329
jmp 0xbce6df
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0xbce6df
cmp edi, dword [esi + 0x7c]
jae 0xbce2e0
movzx eax, word [edi]
cmp eax, 0x180e
jg 0xbce3de
je 0xbce6df
cmp eax, 0xa0
jg 0xbce3d2
je 0xbce6df
cmp eax, 9
je 0xbce6df
cmp eax, 0x20
jne 0xbce414
jmp 0xbce6df
cmp eax, 0x1680
jne 0xbce414
jmp 0xbce6df
cmp eax, 0x205f
jg 0xbce409
je 0xbce6df
cmp eax, 0x2000
jl 0xbce414
cmp eax, 0x200a
jle 0xbce6df
cmp eax, 0x202f
jne 0xbce414
jmp 0xbce6df
cmp eax, 0x3000
je 0xbce6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0xbce399
jmp 0xbce6df
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0xbce6df
cmp edi, dword [esi + 0x7c]
jae 0xbce2e0
movzx eax, word [edi]
cmp eax, 0x180e
jg 0xbce46c
je 0xbce49e
cmp eax, 0xa0
jg 0xbce460
je 0xbce49e
cmp eax, 9
je 0xbce49e
cmp eax, 0x20
je 0xbce49e
jmp 0xbce6df
cmp eax, 0x1680
je 0xbce49e
jmp 0xbce6df
cmp eax, 0x205f
jg 0xbce493
je 0xbce49e
cmp eax, 0x2000
jl 0xbce6df
cmp eax, 0x200a
jle 0xbce49e
cmp eax, 0x202f
je 0xbce49e
jmp 0xbce6df
cmp eax, 0x3000
jne 0xbce6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0xbce433
jmp 0xbce6df
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0xbce6df
cmp edi, dword [esi + 0x7c]
jae 0xbce2e0
movzx eax, word [edi]
cmp eax, 0x85
jg 0xbce4e1
je 0xbce6df
cmp eax, 0xa
jl 0xbce4f3
cmp eax, 0xd
jg 0xbce4f3
jmp 0xbce6df
cmp eax, 0x2028
jl 0xbce4f3
cmp eax, 0x2029
jle 0xbce6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0xbce4b9
jmp 0xbce6df
mov ecx, dword [ebp - 0x18]
cmp edx, ecx
jge 0xbce6df
cmp edi, dword [esi + 0x7c]
jae 0xbce2e0
movzx eax, word [edi]
cmp eax, 0x85
jg 0xbce530
je 0xbce53e
add eax, 0xfffffff6
cmp eax, 3
jbe 0xbce53e
jmp 0xbce6df
add eax, 0xffffdfd8
cmp eax, 1
ja 0xbce6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, ecx
jl 0xbce50e
jmp 0xbce6df
cmp edx, dword [ebp - 0x18]
jge 0xbce6df
cmp edi, dword [esi + 0x7c]
jae 0xbce2e0
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0xbce57c
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne 0xbce6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0xbce557
jmp 0xbce6df
cmp edx, dword [ebp - 0x18]
jge 0xbce6df
cmp edi, dword [esi + 0x7c]
jae 0xbce2e0
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0xbce6df
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je 0xbce6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0xbce596
jmp 0xbce6df
cmp edx, dword [ebp - 0x18]
jge 0xbce6df
cmp edi, dword [esi + 0x7c]
jae 0xbce2e0
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0xbce5fe
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne 0xbce6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0xbce5d9
jmp 0xbce6df
cmp edx, dword [ebp - 0x18]
jge 0xbce6df
cmp edi, dword [esi + 0x7c]
jae 0xbce2e0
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0xbce6df
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je 0xbce6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0xbce618
jmp 0xbce6df
cmp edx, dword [ebp - 0x18]
jge 0xbce6df
cmp edi, dword [esi + 0x7c]
jae 0xbce2e0
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0xbce67c
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne 0xbce6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0xbce65b
jmp 0xbce6df
cmp edx, dword [ebp - 0x18]
jge 0xbce6df
cmp edi, dword [esi + 0x7c]
jae 0xbce6ba
movzx eax, word [edi]
mov ecx, 0xff
cmp ax, cx
ja 0xbce6df
mov ecx, eax
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je 0xbce6df
add edi, 2
inc edx
mov dword [ebp - 8], edi
cmp edx, dword [ebp - 0x18]
jl 0xbce68f
jmp 0xbce6df
cmp dword [esi + 0x8c], 0
je 0xbce6df
cmp edi, dword [esi + 0x88]
jbe 0xbce6df
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
cmp dword [ebp - 0x34], 0
jne 0xb94e30
cmp edi, dword [ebp - 0x10]
je 0xb94d15
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov ecx, dword [ebp - 0x10]
sub edi, 2
cmp dword [ebp - 0x1c], 0x11
mov dword [ebp - 8], edi
jne 0xbce73b
cmp edi, ecx
jbe 0xbce73d
cmp word [edi], 0xa
jne 0xbce73b
cmp word [edi - 2], 0xd
jne 0xbce73b
add edi, 0xfffffffe
mov dword [ebp - 8], edi
cmp edi, ecx
jne 0xbce6f2
jmp 0xb94d15
mov eax, dword [ebp + 0x18]
inc eax
cmp word [ebx], 0x7a
push eax
push dword [ebp + 0x14]
push esi
push edx
push ecx
mov ecx, dword [ebp - 8]
jne 0xbce773
lea edx, [ebx + 4]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov ebx, dword [ebp - 0x14]
jmp 0xb94d12
mov edx, dword [ebp - 0x14]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
add ebx, 4
jmp 0xb94d12
mov eax, dword [ebp + 0x18]
inc eax
cmp word [ebx], 0x7a
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
jne 0xbce7fd
mov edi, dword [ebp - 8]
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov ebx, dword [ebp - 0x20]
mov ecx, 0x81
movzx eax, word [ebx]
cmp ax, cx
je 0xbcea5a
mov ecx, 0x88
cmp ax, cx
jb 0xb94d12
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
jmp 0xb94ccd
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00b94b50
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0xbce824
mov ecx, dword [ebp - 0x20]
cmp dword [esi + 0xb8], ecx
jne 0xb94ccd
jmp 0xbce82f
test eax, eax
jne 0xb94ccd
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0xbcea8d
add ebx, 4
jmp 0xb94d12
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbce860
sub edi, 2
mov dword [ebp - 8], edi
movzx ecx, word [edi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbce88b
movzx eax, word [edi + 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 + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbce8ad
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f62]
mov dword [ebp - 0x28], eax
cmp edi, dword [ebp - 0x10]
jbe 0xb94d15
cmp dword [ebp - 0x24], 0
lea edx, [edi - 2]
mov dword [ebp - 0x14], edx
jne 0xbce8dc
movzx ecx, word [edx]
jmp 0xbce922
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbce8f7
sub edx, 2
mov dword [ebp - 0x14], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbce922
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 + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbce944
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x28]
movzx eax, word [eax*2 + 0xc26850]
movzx edx, byte [eax*8 + 0xc23f62]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0xc26810], eax
je 0xbcda68
mov edi, dword [ebp - 0x14]
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
jmp 0xbce8c2
mov dword [esi + 0x9c], 2
jmp 0xb95492
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0xbd0544
cmp word [ebx], 0x77
je 0xb954e1
cmp word [eax], 0x77
jne 0xbd0544
jmp 0xb954e1
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0xc26760]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
lea eax, [ebx + 4]
mov dword [esi + 0x80], eax
mov eax, 0xfffffc1f
jmp 0xb94ccd
mov eax, dword [ebp - 0x54]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je case.0xb94bd5.157
push eax
call dword [0xc26758]
add esp, 4
jmp case.0xb94bd5.157
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0xbcea49
push eax
call dword [0xc26758]
add esp, 4
jmp 0xbcea49
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0xb0], ecx
mov eax, edi
jmp 0xb94ccd
mov eax, 0xfffffffa
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov dword [esi + 0xb8], ebx
mov eax, 0xfffffc1b
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x20]
mov dword [esi + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov dword [esi + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0xb94ccd
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x90], eax
mov eax, 0xfffffc1a
jmp 0xb94ccd
mov eax, dword [ebp - 8]
mov dword [esi + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x80], eax
jmp 0xb94cc8
cmp dword [esi + 0x8c], 0
je case.0xb94bd5.157
cmp eax, dword [esi + 0x88]
jmp 0xbceb59
cmp ecx, dword [esi + 0x88]
jbe case.0xb94bd5.157
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jle case.0xb94bd5.157
mov eax, 0xfffffff4
jmp 0xb94ccd
mov eax, 0xfffffff2
jmp 0xb94ccd
cmp eax, 0xfffffffe
jne 0xbceb8f
mov edi, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jb case.0xb94bd5.157
cmp edi, dword [esi + 0x88]
jmp 0xbceb59
mov dword [ebp - 0x14], eax
cmp edi, edx
jl 0xbcebbb
mov edi, eax
jmp 0xbcec20
mov eax, dword [ebp - 8]
push dword [ebp - 0x34]
mov edx, eax
push esi
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.00c0e87e
add esp, 0xc
test eax, eax
js 0xbcebe5
mov edx, dword [ebp - 8]
inc edi
mov ecx, dword [ebp - 0x20]
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edi, dword [ebp - 0x1c]
jl 0xbcebb8
jmp 0xbcec15
cmp eax, 0xfffffffe
jne 0xbcec12
cmp dword [esi + 0x8c], 0
je 0xbcec12
mov eax, dword [esi + 0x7c]
cmp eax, dword [esi + 0x88]
jbe 0xbcec12
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x14]
cmp edx, edi
jb case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 8]
neg eax
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edx, edi
jae 0xbcec20
xor eax, eax
jmp 0xb94ccd
cmp ecx, 0xfffffffe
jne 0xbcec67
mov eax, dword [esi + 0x7c]
jmp 0xbcec6a
mov eax, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0xb94bd5.157
cmp eax, dword [esi + 0x7c]
jb case.0xb94bd5.157
jmp 0xbceb4b
mov eax, edi
sub edi, 2
cmp eax, dword [ebp - 0x2c]
je case.0xb94bd5.157
mov ax, word [edi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0xbcecab
sub edi, 2
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcec85
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0xbcedbd
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0xb94bd5.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [esi + 0x7c]
jae 0xbceda5
movzx edx, word [ecx]
add ecx, 2
mov eax, edx
mov dword [ebp - 8], ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbced4b
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
cmp edx, 0xff
jbe 0xbced5e
cmp edi, 0x6e
je case.0xb94bd5.157
jmp 0xbced7c
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
je case.0xb94bd5.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcecfd
jmp 0xb94ccd
cmp dword [esi + 0x8c], 0
je case.0xb94bd5.157
cmp ecx, dword [esi + 0x88]
jmp 0xbceb59
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], eax
jge case.0xb94bd5.157
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x7c]
jae 0xbceb3e
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp edx, 0xff
jbe 0xbcedf9
cmp edi, 0x6e
je case.0xb94bd5.157
jmp 0xbcee14
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [ebp - 0x20]
test byte [edx + ecx], al
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov ecx, dword [ebp - 8]
inc eax
inc dword [ebp - 0x10]
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcedc5
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x20], eax
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov edx, dword [ebp - 0x24]
test edx, edx
je 0xbceeaa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbceeaa
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
push edx
mov edx, dword [ebp - 0x28]
call fcn.00c0eba7
add esp, 4
test eax, eax
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x20]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcee62
jmp 0xb94ccd
cmp dword [esi + 0x8c], 0
je case.0xb94bd5.157
cmp edi, dword [esi + 0x88]
jmp 0xbceb59
cmp dword [esi + 0x8c], 0
je case.0xb94bd5.157
cmp edx, dword [esi + 0x7c]
jb case.0xb94bd5.157
cmp edx, dword [esi + 0x88]
jmp 0xbceb59
mov ecx, dword [ebp - 8]
cmp dword [esi + 0x8c], 0
je case.0xb94bd5.157
cmp ecx, dword [esi + 0x7c]
jb case.0xb94bd5.157
jmp 0xbceb53
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov edx, dword [ebp - 0x1c]
lea ecx, [edx + edx]
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0xb94bd5.157
mov eax, dword [esi + 0x7c]
sub eax, ecx
cmp edi, eax
ja 0xbcef99
lea eax, [edx + edx]
push eax
push dword [ebp - 0x14]
push edi
call fcn.00ba1f94
add esp, 0xc
test eax, eax
jne 0xbcef99
add edi, dword [ebp - 0x28]
jmp 0xbcefd3
mov edx, dword [ebp - 0x20]
test edx, edx
jle 0xbceb8f
mov eax, dword [esi + 0x7c]
lea ecx, [edx + edx]
sub eax, ecx
cmp edi, eax
ja 0xbceb8f
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x68]
push eax
push edi
call fcn.00ba1f94
add esp, 0xc
test eax, eax
jne 0xbceb8f
mov ecx, dword [ebp - 0x20]
lea edi, [edi + ecx*2]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
mov ecx, dword [ebp - 0x28]
add esp, 0x14
mov edx, dword [ebp - 0x1c]
test eax, eax
je 0xbcef6b
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
cmp dword [ebp - 0xc], ecx
je 0xbcf050
cmp dword [ebp - 0x1c], ecx
jne case.0xb94bd5.157
inc eax
add edi, 2
mov dword [ebp - 0x10], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf02a
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0xc], eax
jne case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x10], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf09e
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
mov edi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0xbcf199
test eax, eax
jne 0xb94ccd
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcf15f
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0xc], ecx
je case.0xb94bd5.157
cmp dword [ebp - 0x20], ecx
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0x10], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf11a
jmp 0xb94ccd
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x18]
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
cmp dword [ebp - 0xc], ecx
je case.0xb94bd5.157
cmp dword [ebp - 0x20], ecx
je case.0xb94bd5.157
inc eax
add edi, 2
mov dword [ebp - 0x10], eax
mov edx, ebx
mov eax, dword [ebp + 0x18]
mov ecx, edi
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf1a1
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
cmp dword [ebp - 0x24], 0
je 0xbcf295
test eax, eax
jne 0xb94ccd
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x18]
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcf264
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp dword [ebp - 0xc], ecx
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0x10], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf21f
jmp 0xb94ccd
test eax, eax
jne 0xb94ccd
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x18]
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0xc], eax
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0x10], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf29d
jmp 0xb94ccd
cmp ecx, 0xa
ja case.default.0xbca277
jmp dword [ecx*4 + 0xbd0a56]
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x18]
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx eax, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0xbcf34c
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcf34c
add edi, 2
cmp dword [ebp - 0x38], 0
jne case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
inc ecx
inc eax
mov dword [ebp - 0xc], ecx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf31c
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0xbcf3ec
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcf3ec
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcf40e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp eax, 9
je 0xbcf433
cmp eax, 5
je 0xbcf433
cmp eax, 8
je 0xbcf433
xor eax, eax
jmp 0xbcf438
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf3a1
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0xbcf4da
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcf4da
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcf4fc
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x3c]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp dword [eax*4 + 0xc399b0], edx
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf48f
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0xbcf5bf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcf5bf
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcf5e1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf574
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0xbcf69d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcf69d
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcf6bf
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f60]
cmp eax, dword [ebp - 0x3c]
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf652
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0xbcf77b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcf77b
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcf79d
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbcf7c4
cmp eax, 3
je 0xbcf7c4
xor eax, eax
jmp 0xbcf7c9
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf730
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x18]
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0xbcf86e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcf86b
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, dword [ebp - 0xc]
cmp ecx, 0x180e
ja 0xbcf8bb
je 0xbcf940
cmp ecx, 0x85
ja 0xbcf8a2
je 0xbcf940
cmp ecx, 9
jb case.0xbcf8d7.8203
cmp ecx, 0xd
jbe 0xbcf940
cmp ecx, 0x20
jne case.0xbcf8d7.8203
jmp 0xbcf940
cmp ecx, 0xa0
je 0xbcf940
cmp ecx, 0x1680
jne case.0xbcf8d7.8203
jmp 0xbcf940
cmp ecx, 0x202f
ja 0xbcf8de
je 0xbcf940
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0xbcf8d7.8203
movzx eax, byte [eax + 0xbd0a8a]
jmp dword [eax*4 + 0xbd0a82]
cmp ecx, 0x205f
je 0xbcf940
cmp ecx, 0x3000
je 0xbcf940
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcf910
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
cmp dword [eax*4 + 0xc399b0], 6
sete cl
cmp ecx, dword [ebp - 0x38]
je case.0xb94bd5.157
mov eax, dword [ebp - 0xc]
jmp 0xbcf94a
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x38], 0
jne case.0xb94bd5.157
inc eax
mov edx, ebx
mov dword [ebp - 0xc], eax
mov ecx, edi
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf820
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
mov dword [ebp - 0x14], ecx
je 0xbcf9ea
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcf9ea
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov dword [ebp - 0x14], ecx
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx ecx, byte [eax + 0xc34b50]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0xbcfa10
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0xc26850]
movzx eax, byte [eax*8 + 0xc23f61]
mov eax, dword [eax*4 + 0xc399b0]
cmp eax, 1
je 0xbcfa3c
cmp eax, 3
je 0xbcfa3c
cmp edx, 0x5f
je 0xbcfa3c
xor eax, eax
jmp 0xbcfa41
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcf999
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0xbcfae3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcfae3
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax*4 + 0xc255e0]
lea eax, [eax*4 + 0xc255e0]
cmp ecx, edx
jb 0xbcfb05
lea eax, [eax + 4]
cmp ecx, edx
je 0xbcfb3a
mov edx, dword [eax]
cmp ecx, edx
jae 0xbcfaf8
cmp dword [ebp - 0x38], 0
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcfa98
jmp 0xb94ccd
cmp dword [ebp - 0x38], 0
jne case.0xb94bd5.157
jmp 0xbcfb0f
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc eax
mov ecx, edi
push eax
push dword [ebp + 0x14]
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0xbcfbb4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcfbb4
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
cmp ecx, 0x24
je 0xbcfbdf
cmp ecx, 0x40
je 0xbcfbdf
cmp ecx, 0x60
je 0xbcfbdf
cmp ecx, 0xa0
jb 0xbcfbd3
cmp ecx, 0xd7ff
jbe 0xbcfbdf
cmp ecx, 0xe000
jae 0xbcfbdf
xor eax, eax
jmp 0xbcfbe4
mov eax, 1
cmp eax, dword [ebp - 0x38]
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0xc], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcfb69
jmp 0xb94ccd
test eax, eax
jne 0xb94ccd
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0xc], eax
jge case.0xb94bd5.157
cmp edi, dword [esi + 0x7c]
jae 0xbceee5
movzx ecx, word [edi]
add edi, 2
cmp dword [ebp - 0x24], 0
je 0xbcfc6c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcfc6c
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcfc8e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx ecx, byte [eax*8 + 0xc23f62]
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], ecx
cmp edi, eax
jae 0xbcfd4e
mov ebx, ecx
cmp dword [ebp - 0x24], 0
movzx ecx, word [edi]
mov dword [ebp - 0x14], 1
je 0xbcfcef
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0xbcfcef
movzx eax, word [edi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [ebp - 0x14], 2
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0xc34b50]
shl eax, 7
and ecx, 0x8000007f
jns 0xbcfd11
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0xc26850]
movzx ecx, byte [eax*8 + 0xc23f62]
mov eax, 1
shl eax, cl
test dword [ebx*4 + 0xc26810], eax
je 0xbcfd48
mov eax, dword [ebp - 0x14]
mov ebx, ecx
lea edi, [edi + eax*2]
mov eax, dword [esi + 0x7c]
cmp edi, eax
jb 0xbcfcb0
jmp 0xbcfd4b
mov eax, dword [esi + 0x7c]
mov ebx, dword [ebp - 0x30]
cmp dword [esi + 0x8c], 0
je 0xbcfd77
cmp edi, eax
jb 0xbcfd77
cmp edi, dword [esi + 0x88]
jbe 0xbcfd77
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
mov eax, dword [ebp + 0x18]
mov edx, ebx
inc dword [ebp - 0xc]
inc eax
push eax
push dword [ebp + 0x14]
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbcfc21
jmp 0xb94ccd
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0xb952f2
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0xb952f2
cmp edx, 1
je case.0xb94bd5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0xb94bd5.157
jmp 0xb952f2
movzx eax, word [edi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edi, 2
jmp 0xb9530d
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0xbca277
jmp dword [eax*4 + 0xbd0ab6]
cmp ecx, 0xd
ja 0xbcfe48
je 0xbcfe2d
cmp ecx, 0xa
je case.0xbcfe08.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0xb94bd5.157
jmp 0xbcfe5f
cmp edi, dword [esi + 0x7c]
jae case.0xbcfe08.13
cmp word [edi], 0xa
jne case.0xbcfe08.13
add edi, 2
jmp case.0xbcfe08.13
cmp ecx, 0x85
je 0xbcfe5f
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0xb94bd5.157
cmp dword [esi + 0x6c], 0
jne case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x180e
ja 0xbcfeb2
je case.0xb94bd5.157
cmp ecx, 0xa0
ja 0xbcfea1
je case.0xb94bd5.157
cmp ecx, 9
je case.0xb94bd5.157
cmp ecx, 0x20
je case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x1680
je case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x205f
ja 0xbcfee9
je case.0xb94bd5.157
cmp ecx, 0x2000
jb case.0xbcfe08.13
cmp ecx, 0x200a
jbe case.0xb94bd5.157
cmp ecx, 0x202f
je case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x3000
je case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x180e
ja 0xbcff3e
je case.0xbcfe08.13
cmp ecx, 0xa0
ja 0xbcff2d
je case.0xbcfe08.13
cmp ecx, 9
je case.0xbcfe08.13
cmp ecx, 0x20
jne case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x1680
jne case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x205f
ja 0xbcff75
je case.0xbcfe08.13
cmp ecx, 0x2000
jb case.0xb94bd5.157
cmp ecx, 0x200a
jbe case.0xbcfe08.13
cmp ecx, 0x202f
jne case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x3000
jne case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x85
ja 0xbcffab
je case.0xb94bd5.157
cmp ecx, 0xa
jb case.0xbcfe08.13
cmp ecx, 0xd
jbe case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x2028
jb case.0xbcfe08.13
cmp ecx, 0x2029
jbe case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x85
ja 0xbcffe7
je case.0xbcfe08.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0xb94bd5.157
jmp case.0xbcfe08.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x100
jae case.0xbcfe08.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x100
jae case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x100
jae case.0xbcfe08.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x100
jae case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x100
jae case.0xbcfe08.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp ecx, 0x100
jae case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0xb94bd5.157
jmp case.0xbcfe08.13
cmp edi, dword [esi + 0x7c]
jb case.0xbcfe08.13
cmp dword [esi + 0x18], 0
jne case.0xbcfe08.13
cmp dword [esi + 0x1c], 2
jne case.0xbcfe08.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0xbcfe08.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
jmp case.0xbcfe08.13
test eax, eax
jne 0xb94ccd
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 0x18]
jge case.0xb94bd5.157
mov ecx, dword [esi + 0x7c]
cmp edi, ecx
jae 0xbceee5
mov eax, dword [ebp - 0x1c]
cmp eax, 0xc
jne 0xbd016c
mov edx, dword [esi + 0x18]
test edx, edx
je 0xbd013a
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
mov ecx, edi
call fcn.00b9602f
add esp, 0xc
test eax, eax
jne case.0xb94bd5.157
jmp 0xbd0166
mov edx, dword [esi + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp edi, ecx
ja 0xbd0166
mov ax, word [edi]
cmp ax, word [esi + 0x34]
jne 0xbd0166
cmp edx, 1
je case.0xb94bd5.157
mov ax, word [edi + 2]
cmp ax, word [esi + 0x36]
je case.0xb94bd5.157
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xc]
movzx ecx, word [edi]
add eax, 0xfffffffa
add edi, 2
cmp eax, 0xf
ja case.default.0xbca277
jmp dword [eax*4 + 0xbd0af6]
cmp dword [esi + 0x8c], 0
je case.0xbd017e.13
cmp edi, dword [esi + 0x7c]
jb case.0xbd017e.13
cmp dword [esi + 0x18], 0
jne case.0xbd017e.13
cmp dword [esi + 0x1c], 2
jne case.0xbd017e.13
movzx eax, word [esi + 0x34]
cmp ecx, eax
jne case.0xbd017e.13
mov dword [esi + 0x68], 1
cmp dword [esi + 0x8c], 1
jg 0xbc973f
jmp case.0xbd017e.13
cmp ecx, 0xd
ja 0xbd020d
je 0xbd01f2
cmp ecx, 0xa
je case.0xbd017e.13
lea eax, [ecx - 0xb]
cmp eax, 1
ja case.0xb94bd5.157
jmp 0xbd0224
cmp edi, dword [esi + 0x7c]
jae case.0xbd017e.13
cmp word [edi], 0xa
jne case.0xbd017e.13
add edi, 2
jmp case.0xbd017e.13
cmp ecx, 0x85
je 0xbd0224
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0xb94bd5.157
cmp dword [esi + 0x6c], 0
jne case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x180e
ja 0xbd0277
je case.0xb94bd5.157
cmp ecx, 0xa0
ja 0xbd0266
je case.0xb94bd5.157
cmp ecx, 9
je case.0xb94bd5.157
cmp ecx, 0x20
je case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x1680
je case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x205f
ja 0xbd02ae
je case.0xb94bd5.157
cmp ecx, 0x2000
jb case.0xbd017e.13
cmp ecx, 0x200a
jbe case.0xb94bd5.157
cmp ecx, 0x202f
je case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x3000
je case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x180e
ja 0xbd0303
je case.0xbd017e.13
cmp ecx, 0xa0
ja 0xbd02f2
je case.0xbd017e.13
cmp ecx, 9
je case.0xbd017e.13
cmp ecx, 0x20
jne case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x1680
jne case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x205f
ja 0xbd033a
je case.0xbd017e.13
cmp ecx, 0x2000
jb case.0xb94bd5.157
cmp ecx, 0x200a
jbe case.0xbd017e.13
cmp ecx, 0x202f
jne case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x3000
jne case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x85
ja 0xbd0370
je case.0xb94bd5.157
cmp ecx, 0xa
jb case.0xbd017e.13
cmp ecx, 0xd
jbe case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x2028
jb case.0xbd017e.13
cmp ecx, 0x2029
jbe case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0x85
ja 0xbd03ac
je case.0xbd017e.13
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0xb94bd5.157
jmp case.0xbd017e.13
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0xff
ja case.0xbd017e.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
jne case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0xff
ja case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 4
je case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0xff
ja case.0xbd017e.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
jne case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0xff
ja case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 1
je case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0xff
ja case.0xbd017e.13
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
jne case.0xb94bd5.157
jmp case.0xbd017e.13
cmp ecx, 0xff
ja case.0xb94bd5.157
mov eax, dword [esi + 0x44]
test byte [ecx + eax], 0x10
je case.0xb94bd5.157
mov eax, dword [ebp + 0x18]
inc edx
inc eax
mov dword [ebp - 0xc], edx
push eax
push dword [ebp + 0x14]
mov edx, ebx
mov ecx, edi
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00b94b50
add esp, 0x14
test eax, eax
je 0xbd00f9
jmp 0xb94ccd
mov dword [esi + 0x9c], 2
jmp 0xb9519c
movzx ecx, word [ebx + 2]
lea eax, [ebx + ecx*2]
cmp dword [esi + 0x80], eax
jae 0xb951e5
cmp word [ebx], 0x77
je 0xbd04b6
cmp word [eax], 0x77
jne 0xb951e5
xor edx, edx
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x94], eax
movzx eax, word [ebx + 2]
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x1c]
mov dword [esi + 0xb0], eax
cmp word [ebx], 0x77
je 0xb95190
mov eax, dword [esi + 0xc]
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + ebx*4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [eax + ebx*4 + 4], ecx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x34]
mov dword [eax + ecx*4], esi
jmp 0xb951e5
cmp edx, 0xfffffc1b
jne 0xbd0544
movzx eax, word [ebx]
mov ecx, 0x81
cmp ax, cx
je 0xbd0536
cmp eax, 0x77
jne 0xbd052d
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0xbd051f
movzx eax, word [ebx + 2]
neg eax
lea ebx, [ebx + eax*2]
mov eax, dword [esi + 0xb8]
sub eax, ebx
neg eax
sbb eax, eax
and edx, eax
mov eax, edx
jmp 0xb94ccd
lea eax, [ebx + 4]
mov dword [esi + 0xb4], eax
mov dword [ebp - 0x14], eax
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0xc26760]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00b94b50
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0xbd059f
cmp edi, 0xfffffc19
jne 0xbd05ac
cmp dword [esi + 0xb0], 0
je 0xbcea40
cmp edi, 0xfffffc1f
jne 0xbcea49
mov edx, dword [esi + 0x80]
mov ecx, dword [ebp - 0x14]
call fcn.00c0ea89
test eax, eax
jne 0xbcea49
jmp 0xbd06e3
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0xc26760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, 0xfffffc1c
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0xc26760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov eax, 0xfffffc1d
jmp 0xb94ccd
lea edi, [ebx + 4]
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0xc26760]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00b94b50
add esp, 0x14
cmp eax, 1
je 0xbd0691
cmp eax, 0xfffffc19
jne 0xbd06a0
cmp dword [esi + 0xb0], 0
jne 0xbd06a0
mov dword [esi + 0xb0], edi
test eax, eax
jne 0xb94ccd
mov eax, 0xfffffc1d
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx eax, byte [eax + 0xc26760]
push dword [ebp + 0xc]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
mov ebx, dword [ebp - 8]
mov ecx, ebx
call fcn.00b94b50
add esp, 0x14
test eax, eax
jne 0xb94ccd
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1e
jmp 0xb94ccd
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [ebx]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0xc26760]
push dword [ebp + 8]
lea edx, [ebx + eax*2]
call fcn.00b94b50
add esp, 0x14
jmp 0xbd0722
mov dword [esi + 0xb0], edi
test eax, eax
jne 0xb94ccd
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc20
jmp 0xb94ccd
lea edi, [ebx + 4]
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb0], 0
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [ebx]
push dword [ebp + 0x14]
push esi
movzx ecx, byte [eax + 0xc26760]
movzx eax, word [ebx + 2]
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [ebx + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00b94b50
add esp, 0x14
cmp eax, 1
je 0xbd0786
cmp eax, 0xfffffc19
jne 0xbd0722
cmp dword [esi + 0xb0], 0
jne 0xbd0722
jmp 0xbd071c
cmp edi, 0x9f
je 0xb94cab
cmp dword [esi + 0xa8], 0
jne 0xb94cab
cmp dword [esi + 0x60], 0
jne case.0xb94bd5.157
cmp dword [esi + 0x64], 0
je 0xb94cab
mov ecx, dword [esi + 0x98]
mov eax, dword [esi + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
je case.0xb94bd5.157
jmp 0xb94cab
inc dword [esi]
mov eax, 0xfffffff8
jmp 0xb94ccd