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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
push ebx
push esi
push edi
mov edi, edx
mov eax, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 8], eax
test edi, edi
je 0x485740
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x44], 0
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x50]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x1c], ecx
cmp eax, dword [ebx + 4]
jae 0x48dd06
inc eax
mov dword [ebx], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebx + 8]
jae 0x48dcfc
cmp dword [ebx + 0x9c], 2
je 0x485771
lea esp, [esp]
movzx ecx, word [edi]
xor edx, edx
mov esi, ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], edx
cmp esi, 0xa1
ja case.0x411054.98
movzx eax, byte [esi + 0x411bbc]
jmp dword [eax*4 + 0x411a70]
cmp esi, 0x88
jae 0x48bdc5
cmp esi, 0x81
je 0x48bdc5
cmp dword [ebx + 0x70], 0
jne 0x411996
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
je 0x411996
movzx eax, word [edi]
movzx eax, byte [eax + 0x4a0710]
lea edi, [edi + eax*2]
mov dword [ebp - 0x34], edi
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
jb 0x411010
jmp 0x48dd06
movzx eax, word [edi + 2]
add eax, eax
mov esi, edi
sub esi, eax
mov ecx, 0x88
movzx eax, word [esi]
mov dword [ebp - 0x20], esi
cmp ax, cx
jae 0x486398
mov ecx, 0x81
cmp ax, cx
je 0x486398
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp eax, 0x7d
jb 0x4110fb
mov edx, 0x80
cmp ax, dx
jbe 0x48bf5a
mov edx, 0x82
cmp ax, dx
je 0x48bf5a
mov edx, 0x85
cmp ax, dx
je 0x41151a
mov edx, 0x8a
cmp ax, dx
je 0x41151a
mov edx, 0x86
cmp ax, dx
je 0x41151a
mov edx, 0x8b
cmp ax, dx
je 0x41151a
mov edx, dword [ebp + 0xc]
cmp word [edi], 0x78
jne 0x48640e
mov eax, 0x81
cmp word [esi], ax
je 0x48bf27
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x411030
mov edx, dword [ebp - 8]
mov edi, dword [ebp + 8]
cmp edx, edi
je 0x48dca2
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x80], edi
test esi, esi
jne 0x48dce8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, word [edi + 0x22]
lea eax, [edi + 2]
add edi, 0x22
mov dword [ebp - 0x38], eax
mov eax, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0xc], eax
cmp eax, 0x6d
jle 0x4118ee
mov eax, 1
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], 1
test ecx, ecx
je 0x4875f1
cmp eax, 1
jl 0x41194c
mov ecx, dword [ebx + 0x7c]
lea esp, [esp]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x4118d4
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
je 0x4875bb
cmp ecx, 0xff
ja 0x4875e3
mov ebx, dword [ebp - 0x38]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x2c]
shr ecx, 3
test byte [ecx + ebx], al
mov ebx, dword [ebp + 0x10]
jne 0x411351
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], esi
cmp eax, esi
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x41127e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4872f5
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x4112a0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2ba]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
cmp eax, esi
jae 0x411339
mov edi, dword [ebp - 0x1c]
mov ebx, eax
movzx ecx, word [ebx]
mov esi, 1
test edi, edi
je 0x4112df
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x48731a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x411301
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x2c]
add eax, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx ecx, byte [eax*8 + 0x4ad2ba]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a06dc], eax
jne 0x41141d
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x34]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
jne 0x48733e
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x411030
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x7c]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x28]
jle 0x4111f0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
cmp dword [ebp - 0x28], ebx
mov ebx, dword [ebp + 0x10]
je 0x411030
test edx, edx
jne 0x48c0fb
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
test ecx, ecx
je 0x4876cd
cmp edx, dword [ebp - 0x18]
jge 0x4113e8
mov dword [ebp - 0x2c], 1
cmp eax, dword [ebx + 0x7c]
jae 0x48769b
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x20], ecx
cmp eax, 0xd800
je 0x487661
cmp ecx, 0xff
ja 0x48768d
shr dword [ebp - 0x20], 3
mov ebx, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
jne 0x411a19
cmp dword [ebp - 0x30], 0
jne 0x411030
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
jmp 0x48c0b1
lea ebx, [ebx + esi*2]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
cmp ebx, esi
jb 0x4112c1
jmp 0x41132d
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
cmp dword [ebp - 0x1c], edx
je 0x487ae7
movzx esi, word [edi + 2]
add edi, 2
mov eax, esi
and eax, 0xfc00
mov edx, 1
cmp eax, 0xd800
je 0x487a37
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp esi, 0x80
jae 0x487a5b
cmp ecx, 0xff
ja 0x411487
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebx + 0x3c]
movzx eax, byte [eax + esi]
cmp eax, ecx
jne case.0x411054.157
add edi, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x34], edi
jmp 0x411030
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x4118d4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], eax
je 0x4114d7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
je 0x486d7c
cmp ecx, 0xe
jb 0x4114e8
cmp ecx, 0x85
jb case.0x411054.157
cmp ecx, 0xd
ja 0x486ded
jne 0x486da1
cmp eax, edx
jae 0x486dbb
cmp word [eax], 0xa
jne 0x411346
add eax, 2
add edi, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x34], edi
jmp 0x411030
movzx edx, word [esi + 4]
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x4863a8
mov eax, dword [ebx + 0x94]
mov esi, dword [ebp - 0x40]
and eax, 0xffff0000
or eax, edx
mov dword [ebx + 0x94], eax
cmp esi, dword [ebx + 0x14]
mov esi, dword [ebp - 0x20]
jge 0x4863cd
mov ecx, dword [ebp + 0xc]
cmp dword [ebp - 0x40], ecx
jg 0x4863dd
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x14]
cmp edx, eax
jg 0x411144
lea edx, [eax + 2]
mov dword [ebp + 0xc], edx
jmp 0x411144
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4115cb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4870c0
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x2c]
sar eax, 7
movzx ecx, byte [eax + 0x4ae650]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4115f1
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [edi + 2]
movzx ecx, word [ecx*2 + 0x4a07b8]
cmp eax, 9
jne 0x4870e8
movzx eax, word [edi + 4]
mov ecx, dword [eax*4 + 0x4b0850]
lea eax, [eax*4 + 0x4b0850]
cmp edx, ecx
jb 0x4872e7
lea eax, [eax + 4]
cmp edx, ecx
je 0x411634
mov ecx, dword [eax]
cmp edx, ecx
jae 0x411622
jmp 0x4872e7
cmp esi, 0x10
jne case.0x411054.157
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x411030
cmp dword [ebp - 0x1c], edx
je 0x487a08
mov ax, word [edi + 2]
add edi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xd800
mov esi, 1
mov dword [ebp - 0x34], edi
cmp ax, cx
je 0x411a5e
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp esi, eax
jg 0x48c357
test esi, esi
jle 0x411030
mov cx, word [edi]
mov ax, word [edx]
add edx, 2
add edi, 2
dec esi
mov dword [ebp - 8], edx
mov dword [ebp - 0x34], edi
cmp cx, ax
jne case.0x411054.157
test esi, esi
jle 0x411030
jmp 0x411690
movzx edx, word [edi + 4]
mov dword [ebp - 0xc], edx
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
cmp eax, dword [ebx + 0x14]
jge case.0x411054.129
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0xc]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ecx], eax
lea esp, [esp]
cmp esi, 0x88
jae 0x48d997
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x4a0710]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00410fd0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x48d9ee
cmp edx, 0xfffffc20
je 0x48d9a6
test edx, edx
je 0x48d9cb
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esi - 0x55]
add edi, 2
test al, 1
je 0x411a68
mov edx, 1
movsx ecx, byte [eax + 0x4a062c]
movsx eax, byte [eax + 0x4a06d0]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x4117a3
mov dword [ebp - 0x24], SysReAllocString
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], edi
cmp eax, 0x10
je 0x48899b
cmp eax, 0xf
je 0x488992
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x4889b7
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x30]
je 0x411030
test edx, edx
mov edx, dword [ebp - 0x2c]
je 0x48a1f3
test edx, edx
jns 0x48c76d
cmp dword [ebp - 0x28], 0x16
mov edx, edi
je 0x48d0e3
test eax, eax
mov eax, dword [ebp + 0x18]
je 0x48d5eb
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov esi, dword [ebp - 8]
lea ecx, [ecx]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x411054.157
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48c33f
cmp dword [ebp - 0x28], 0xc
jne 0x411877
cmp dword [ebx + 0x18], 0
je 0x48d29c
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040f317
add esp, 0xc
test eax, eax
jne case.0x411054.157
mov ecx, dword [ebp - 0x10]
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
je 0x48d2d5
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x48d2f6
cmp dword [ebx + 0x8c], 0
jne 0x48d5a9
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
jmp 0x411830
cmp dword [ebx + 0x8c], 0
je case.0x411054.157
jmp 0x48c0a6
cmp dword [ebx + 0x8c], edx
jmp 0x4118db
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x411901
movzx eax, byte [eax + 0x411c68]
jmp dword [eax*4 + 0x411c60]
mov ecx, dword [ebp - 0xc]
add ecx, 0xffffff9e
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jb 0x411a0d
mov dword [ebp - 0x30], 1
movsx eax, byte [ecx + 0x4a062c]
movsx ecx, byte [ecx + 0x4a06d0]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x4111cb
mov dword [ebp - 0x18], SysReAllocString
jmp 0x4111cb
mov eax, dword [ebp - 8]
jmp 0x41136a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je case.0x411054.119
mov dword [ebp - 0x34], edi
jmp 0x411030
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
add edi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
jmp 0x486086
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x4a0710]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00410fd0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x48bdd4
test edx, edx
jne 0x48da18
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x77
jne case.0x411054.157
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
jmp case.0x411054.129
test cl, 1
jne 0x411a54
xor edx, edx
jmp 0x411924
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x2c]
inc edx
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jge 0x4113e8
jmp 0x411394
mov dword [ebp - 0x20], edx
jmp 0x48611a
add edi, 2
jmp 0x4860df
mov eax, dword [ebp - 8]
jmp 0x4864a6
mov esi, dword [ebp - 0x1c]
jmp 0x486abb
mov edx, 1
jmp 0x411924
mov esi, 2
jmp 0x411676
xor edx, edx
jmp 0x411781
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x485762
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.00410fd0
add esp, 0x14
jmp 0x411197
sub ecx, eax
test ecx, ecx
jle 0x48576a
neg ecx
mov eax, ecx
jmp 0x411197
mov eax, dword [ebp - 8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
mov dword [ebp + 0x14], eax
mov dword [ebx + 0x9c], 0
jmp 0x411030
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x48be00
movzx eax, word [edi]
movzx ecx, byte [eax + 0x4a0710]
movzx eax, word [edi + 2]
add ecx, eax
lea edi, [edi + ecx*2]
mov dword [ebp - 0x34], edi
jmp 0x411030
mov eax, dword [ebp - 8]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
lea edx, [edi + 4]
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
cmp eax, 1
je 0x485840
cmp eax, 0xfffffc20
jne 0x48581d
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x411197
cmp word [edi], 0x77
je 0x485825
cmp word [ecx], 0x77
jne 0x411197
jmp 0x485825
test eax, eax
jne 0x411197
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x77
je 0x4857d1
mov ecx, dword [ebp + 8]
jmp 0x485849
mov ecx, dword [ebx + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [edi]
mov edx, 0x82
cmp ax, dx
je 0x48585f
cmp eax, 0x77
jne case.0x411054.157
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48585f
cmp word [edi], 0x78
mov edx, dword [ebx + 0x90]
mov eax, dword [ebx + 0x84]
mov dword [ebp + 0xc], edx
mov dword [ebp - 8], eax
je 0x488227
cmp eax, dword [ebp - 0x14]
jne 0x48bbf2
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x411030
movzx ecx, word [edi + 2]
add edi, 4
mov dword [ebp - 0x28], ecx
cmp word [edi], 0x76
jne 0x485980
cmp dword [0x4c530c], edx
je 0x485977
mov dword [ebp - 0xa4], 2
movzx eax, word [edi + 2]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x8c], eax
movzx eax, word [edi + 4]
mov dword [ebp - 0x7c], eax
movzx eax, word [edi + 6]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x88], eax
movzx eax, word [ebx + 0x94]
mov dword [ebp - 0x84], eax
test eax, eax
jne 0x485944
mov dword [ebp - 0x84], 0xffffffff
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0xa4]
push eax
call dword [0x4c530c]
add esp, 4
test eax, eax
jg case.0x411054.157
js 0x411197
mov ecx, dword [ebp - 0x28]
add edi, 8
sub ecx, 4
mov dword [ebp - 0x28], ecx
movzx eax, word [edi]
mov dword [ebp - 0x14], eax
xor edx, edx
add eax, 0xffffff73
mov dword [ebp - 0x2c], edx
cmp eax, 4
ja case.default.0x485999
jmp dword [eax*4 + 0x48dd14]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x485b40
movzx eax, word [edi + 2]
cmp eax, 0xffff
je 0x485a3f
cmp eax, dword [ecx + 4]
je 0x485a3f
xor edx, edx
jmp 0x485b40
mov eax, dword [ebx + 0xa8]
test eax, eax
je case.0x485999.145
mov eax, dword [ebx + 0x24]
movzx ecx, word [edi + 2]
imul ecx, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [edi + 4]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jle 0x485b40
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 4]
mov dword [ebp - 0xc], edx
xor edx, edx
movzx eax, word [eax]
dec ecx
cmp eax, dword [ebp - 0xc]
je 0x485a3f
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x20]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x485a07
jmp 0x485b40
movzx edx, word [edi + 2]
add edx, edx
mov dword [ebp - 0x40], edx
cmp edx, dword [ebp + 0xc]
jge 0x485a53
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jl 0x485a53
mov eax, dword [ebp - 0x14]
mov edx, 1
movzx ecx, byte [eax + 0x4a0710]
jmp case.0x485999.145
xor edx, edx
jmp case.0x485999.145
mov eax, dword [ebx + 0x24]
movzx ecx, word [edi + 2]
imul ecx, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [edi + 4]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jle 0x485b40
xor edx, edx
movzx ebx, word [eax]
add ebx, ebx
dec ecx
cmp ebx, dword [ebp + 0xc]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp + 0x10]
jge 0x485aa0
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x40]
cmp dword [eax + ebx*4], edx
mov ebx, dword [ebp + 0x10]
jge 0x485a3f
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0xc]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x485a7e
jmp 0x485b40
mov ecx, dword [ebp - 8]
mov dword [ebx + 0x9c], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
cmp eax, 1
jne 0x485b2e
mov eax, dword [ebx + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x485aed
mov dword [ebp + 0xc], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
mov edx, 1
jne 0x485b0e
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x485b00
mov eax, dword [ebp - 0x14]
mov ecx, 2
movzx eax, byte [eax + 0x4a0710]
sub ecx, eax
mov eax, dword [ebp - 0x14]
lea edi, [edi + ecx*2]
movzx ecx, byte [eax + 0x4a0710]
jmp case.0x485999.145
test eax, eax
je 0x485b3d
cmp eax, 0xfffffc20
jne 0x411197
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
lea edi, [edi + ecx*2]
mov dword [ebp - 0x34], edi
test edx, edx
jne 0x485b58
cmp word [edi - 4], 0x77
jne 0x411030
cmp esi, 0x8c
jne 0x4110a1
mov ecx, dword [ebp - 8]
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
jmp 0x411197
movzx edx, word [edi + 2]
mov eax, dword [ebx + 0x94]
and eax, 0xffff0000
or eax, edx
lea esi, [edx + edx]
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x40], esi
cmp esi, dword [ebx + 0x14]
jl 0x485bc7
or eax, 0x10000
add edi, 4
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x34], edi
jmp 0x411030
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + esi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0xc]
sar ecx, 1
mov dword [eax + esi*4 + 4], ecx
cmp dword [ebp + 0xc], esi
jg 0x485bef
lea eax, [esi + 2]
mov dword [ebp + 0xc], eax
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x411030
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x485c19
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x485c1b
xor esi, esi
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push ebx
push dword [ebp + 0xc]
lea edx, [edi + 4]
push dword [ebp + 8]
call fcn.00410fd0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x485c94
cmp ecx, 0xfffffc19
je 0x485c94
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x485c7c
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x48576a
cmp word [edi], 0x77
je 0x485c84
cmp word [eax], 0x77
jne 0x48576a
jmp 0x485c84
test ecx, ecx
jne 0x48576a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x485c1b
jmp 0x485c9d
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
cmp word [edi], 0x78
je case.0x411054.157
test esi, esi
jne 0x411192
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x485caf
mov eax, dword [ebx + 0x90]
add edi, 4
mov dword [ebp - 0x34], edi
mov dword [ebp + 0xc], eax
jmp 0x411030
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x485cf0
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x485cf2
xor esi, esi
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push ebx
push dword [ebp + 0xc]
lea edx, [edi + 4]
push dword [ebp + 8]
call fcn.00410fd0
mov ecx, eax
mov eax, dword [ebp - 0xc]
add esp, 0x14
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jg 0x485d4e
jne 0x485d63
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x485d7e
cmp word [edi], 0x77
je 0x485d3e
cmp word [eax], 0x77
jne 0x485d7e
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x485cf2
jmp 0x485d8c
mov eax, ecx
sub eax, 0
je 0x485d3e
dec eax
je case.0x411054.157
mov eax, ecx
jmp 0x411197
cmp ecx, 0xfffffc19
je case.0x411054.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x48576a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x485d7e
test esi, esi
jne 0x411192
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x411030
cmp dword [ebp - 0x1c], edx
je 0x485de3
movzx ecx, word [edi + 2]
test ecx, ecx
jle 0x485dfd
mov eax, dword [ebp - 8]
sub eax, 2
dec ecx
mov dword [ebp - 8], eax
cmp eax, dword [ebx + 0x78]
jb case.0x411054.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x485ddd
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x485dac
jmp 0x485e00
movzx eax, word [edi + 2]
mov ecx, dword [ebp - 8]
neg eax
lea ecx, [ecx + eax*2]
mov eax, ecx
mov dword [ebp - 8], ecx
cmp eax, dword [ebx + 0x78]
jb case.0x411054.157
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x88]
jae 0x485e0e
mov dword [ebx + 0x88], eax
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x411030
cmp dword [0x4c530c], edx
je 0x485ee8
mov dword [ebp - 0xd8], 2
movzx eax, word [edi + 2]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp + 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc0], eax
movzx eax, word [edi + 4]
mov dword [ebp - 0xb0], eax
movzx eax, word [edi + 6]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xbc], eax
movzx eax, word [ebx + 0x94]
mov dword [ebp - 0xb8], eax
test eax, eax
jne 0x485eb2
mov dword [ebp - 0xb8], 0xffffffff
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xd8]
push eax
call dword [0x4c530c]
add esp, 4
test eax, eax
jg case.0x411054.157
js 0x411197
add edi, 8
mov dword [ebp - 0x34], edi
jmp 0x411030
movzx eax, word [edi + 2]
mov ecx, dword [ebx + 0x74]
lea esi, [ecx + eax*2]
cmp esi, ecx
jne 0x485f05
xor edx, edx
jmp 0x485f09
movzx edx, word [esi + 4]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x485f30
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x485f2a
cmp eax, dword [ecx + 0x14]
jne 0x485f2a
mov eax, 0xffffffe6
jmp 0x411197
mov ecx, dword [ecx]
test ecx, ecx
jne 0x485f16
mov dword [ebp - 0x58], edx
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov ecx, dword [ebx + 0x10]
add edi, 4
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x50], ecx
cmp ecx, 0x1e
jg 0x485f70
lea eax, [ebp - 0x154]
mov dword [ebp - 0x54], eax
jmp 0x485f8f
lea eax, [ecx*4]
push eax
call dword [0x4be15c]
add esp, 4
mov dword [ebp - 0x54], eax
test eax, eax
je 0x48be94
mov ecx, dword [ebp - 0x50]
shl ecx, 2
push ecx
push dword [ebx + 0xc]
push eax
call fcn.004229c0
mov eax, 0x88
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x485fbb
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [esi]
push ebx
movzx eax, byte [eax + 0x4a0710]
push dword [ebp + 0xc]
lea edx, [esi + eax*2]
push dword [ebp + 8]
call fcn.00410fd0
mov ecx, dword [ebp - 0x50]
add esp, 0x14
shl ecx, 2
push ecx
push dword [ebp - 0x54]
mov dword [ebp - 0xc], eax
push dword [ebx + 0xc]
call fcn.004229c0
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 0x94], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0xc]
add esp, 0xc
cmp eax, 1
je 0x486058
cmp eax, 0xfffffc19
je 0x486058
cmp eax, 0xfffffc1c
jl 0x48602d
cmp eax, 0xfffffc20
jle case.0x411054.157
test eax, eax
jne 0x48be71
lea eax, [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x77
lea esi, [esi + eax*2]
jne 0x48be48
mov eax, dword [ebp - 0x2c]
jmp 0x485fad
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je 0x48606f
push eax
call dword [0x4bdb8c]
add esp, 4
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x411030
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x486086
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x411030
add edi, 2
mov dword [ebp - 0x34], edi
mov edx, edi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x4860a7
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
add edx, 4
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x411030
jmp 0x411197
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x4860df
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x411030
movzx esi, word [edi + 2]
add edi, 2
mov dword [ebp - 0x20], 1
cmp esi, 0x86
je 0x48611a
cmp esi, 0x8b
jne 0x48629e
movzx edx, word [edi + 4]
mov dword [ebp - 0x14], edx
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
cmp eax, dword [ebx + 0x14]
jge case.0x411054.132
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, edi
sub eax, dword [ebx + 0x74]
sar eax, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0x14]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 8]
sub edx, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp esi, 0x88
jb 0x486190
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x4a0710]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00410fd0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x4861fb
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x74]
lea edi, [eax + ecx*2]
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x48616a
cmp ecx, 0xfffffc20
jne 0x486228
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x48576a
cmp word [edi], 0x77
je 0x486230
cmp word [eax], 0x77
jne 0x48576a
jmp 0x486230
test ecx, ecx
jne 0x48576a
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48616a
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x48627a
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x18]
mov dword [eax + edx*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x34]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x20], 0
jne 0x488227
test eax, eax
je case.0x411054.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x411030
mov dword [ebp - 0x20], 0
mov eax, edi
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0x2c], 0
sar eax, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x14], eax
cmp esi, 0x88
jb 0x4862ca
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x4a0710]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00410fd0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x486328
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x74]
mov dword [ebp - 0x2c], 1
lea edi, [eax + ecx*2]
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x4862b8
cmp ecx, 0xfffffc20
jne 0x486355
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x48576a
cmp word [edi], 0x77
je 0x48635d
cmp word [eax], 0x77
jne 0x48576a
jmp 0x48635d
test ecx, ecx
jne 0x48576a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
jne 0x486379
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x94], eax
jmp 0x4862b8
cmp dword [ebp - 0x2c], 0
jne 0x488227
cmp dword [ebp - 0x20], 0
je case.0x411054.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x411030
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov dword [ebp + 0x14], edx
jmp 0x4110e5
cmp dword [eax + 4], edx
jne 0x411532
mov eax, dword [ebp - 8]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x80], eax
mov eax, 1
jmp 0x411197
or eax, 0x10000
mov dword [ebx + 0x94], eax
jmp 0x411141
mov eax, dword [ebx + 0xc]
lea ecx, [eax + ecx*4]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x40]
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
jae 0x411560
mov edi, dword [ebp - 0x2c]
sub ecx, eax
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
jmp 0x411560
mov eax, dword [ebp - 8]
cmp eax, ecx
je 0x41114e
movzx ecx, word [edi]
cmp ecx, 0x7b
je 0x48bf08
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push edx
push dword [ebp + 8]
cmp ecx, 0x7a
jne 0x48bc3c
mov esi, dword [ebp - 8]
lea edx, [edi + 4]
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov edi, dword [ebp - 0x20]
mov ecx, 0x81
movzx eax, word [edi]
cmp ax, cx
je 0x48be9e
mov ecx, 0x88
cmp ax, cx
jb 0x41109e
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
jmp 0x411197
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x4864a6
cmp eax, dword [ebx + 0x78]
je case.0x411054.157
cmp eax, dword [ebx + 0x78]
jne case.0x411054.157
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x411030
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x4864cb
cmp eax, dword [ebx + 0x78]
je case.0x411054.157
mov ecx, dword [ebx + 0x78]
cmp eax, ecx
je 0x411346
cmp eax, dword [ebx + 0x7c]
je case.0x411054.157
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x48650e
cmp eax, ecx
jbe case.0x411054.157
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00471f8c
add esp, 0xc
test eax, eax
je case.0x411054.157
jmp 0x411346
mov esi, dword [ebx + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp dword [ebp - 8], eax
jb case.0x411054.157
mov ecx, dword [ebp - 8]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne case.0x411054.157
cmp esi, 1
je 0x411346
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
jne case.0x411054.157
jmp 0x411346
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp dword [ebp - 8], eax
jne case.0x411054.157
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x411030
mov eax, dword [ebp - 8]
add edi, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x34], edi
jmp 0x411030
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x486644
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x48660d
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0040f317
add esp, 0xc
test eax, eax
jne 0x411346
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x411054.157
add eax, 2
cmp eax, dword [ebx + 0x7c]
jb case.0x411054.157
cmp dword [ebx + 0x18], 0
jne case.0x411054.157
cmp dword [ebx + 0x1c], 2
jne case.0x411054.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne case.0x411054.157
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x411054.157
mov eax, 0xfffffff4
jmp 0x411197
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4865b2
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x4865af
cmp edx, 1
je 0x411346
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x4865af
jmp 0x411346
cmp dword [ebx + 0x4c], edx
jne case.0x411054.157
cmp dword [ebx + 0x8c], edx
jmp 0x48665c
cmp dword [ebx + 0x8c], 0
je 0x411346
cmp eax, dword [ebx + 0x88]
jbe 0x411346
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x411030
cmp dword [ebx + 0x4c], edx
jne case.0x411054.157
cmp dword [ebx + 0x5c], edx
je case.0x411054.23
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jb case.0x411054.157
cmp dword [ebx + 0x8c], edx
jmp 0x48665c
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x486655
mov edx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
test edx, edx
je 0x4866d7
push dword [ebp - 0x1c]
push esi
push ecx
mov ecx, eax
call fcn.0040f317
add esp, 0xc
test eax, eax
jne 0x48670c
jmp 0x4865af
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4865b2
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x4865af
cmp edx, 1
je 0x48670c
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x4865af
mov ecx, dword [esi]
mov eax, dword [ebx + 0x7c]
add ecx, ecx
sub eax, ecx
cmp dword [ebp - 8], eax
mov eax, dword [ebp - 8]
jne 0x4865b2
jmp 0x486655
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x1c], edx
je 0x4868d7
cmp eax, dword [ebx + 0x78]
je 0x48680f
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x486756
sub edx, 2
cmp edx, dword [ebx + 0x88]
jae 0x486764
mov dword [ebx + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48678f
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebx + 0x58], 0
je 0x4867f1
cmp ecx, 0x5f
jne 0x4867a2
mov eax, dword [ebp - 8]
lea esi, [ecx - 0x5e]
jmp 0x486811
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x4867c4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x4867e7
cmp eax, 3
jne 0x48680c
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x486811
cmp ecx, 0x100
jae 0x48680c
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x48680c
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x486811
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x486879
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486844
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax + 2]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebx + 0x58], 0
je 0x4868c0
cmp ecx, 0x5f
je 0x486a00
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
js 0x4869ac
jmp 0x4869b1
cmp dword [ebx + 0x8c], 0
je 0x48689e
cmp eax, dword [ebx + 0x88]
jbe 0x48689e
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
xor ecx, ecx
mov ax, word [edi]
add edi, 2
mov dword [ebp - 0x34], edi
cmp ax, 5
jne 0x486a0a
cmp ecx, esi
jne 0x411030
jmp case.0x411054.157
cmp ecx, 0x100
jae 0x48689e
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne 0x486a00
jmp 0x48689e
cmp eax, dword [ebx + 0x78]
je 0x486976
cmp eax, dword [ebx + 0x88]
ja 0x4868f4
add eax, 0xfffffffe
mov dword [ebx + 0x88], eax
mov eax, dword [ebp - 8]
movzx ecx, word [eax - 2]
cmp dword [ebx + 0x58], edx
je 0x486956
cmp ecx, 0x5f
jne 0x486907
lea esi, [ecx - 0x5e]
jmp 0x486978
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x486929
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x48694c
cmp eax, 3
jne 0x486973
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x486978
mov edx, 0xff
cmp cx, dx
ja 0x486976
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x486973
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x486978
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x486879
cmp dword [ebx + 0x58], 0
je 0x4869e0
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x486a00
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x4869b1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x486a00
cmp eax, 3
jne 0x48689e
lea ecx, [eax - 2]
jmp 0x4868a0
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x48689e
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x48689e
mov ecx, 1
jmp 0x4868a0
cmp ecx, esi
je 0x411030
jmp case.0x411054.157
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x7c]
test edx, edx
je 0x486a46
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x1c]
cmp eax, ecx
jae 0x486a7e
push esi
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0040f317
add esp, 0xc
test eax, eax
jne case.0x411054.157
jmp 0x486a7b
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x486a78
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x486a78
cmp edx, 1
je case.0x411054.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
je case.0x411054.157
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je 0x486abe
add eax, 2
cmp eax, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
jb 0x486abe
cmp dword [ebx + 0x18], 0
jne 0x486abe
cmp dword [ebx + 0x1c], 2
jne 0x486abe
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x486abb
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + 0x7c]
cmp eax, ecx
jae 0x4118d4
add eax, 2
mov dword [ebp - 8], eax
test esi, esi
je 0x411346
cmp eax, ecx
jae 0x411346
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x411346
add dword [ebp - 8], 2
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
add eax, 2
mov dword [ebp - 8], eax
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486b60
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486b60
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x411346
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x411054.157
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486bc6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486bc6
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x411054.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x411054.157
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486c2c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486c2c
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x411346
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x411054.157
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486c92
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486c92
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x411054.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x411054.157
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486cf8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486cf8
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x100
jae 0x411346
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x411054.157
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486d5e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486d5e
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0xff
ja case.0x411054.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x411054.157
jmp 0x411346
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]
jmp 0x4114d7
cmp ecx, 0xa
je 0x411346
jbe case.0x411054.157
cmp ecx, 0xc
ja case.0x411054.157
jmp 0x486e04
cmp dword [ebx + 0x8c], 0
je 0x411346
cmp eax, dword [ebx + 0x88]
jbe 0x411346
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
jmp 0x411346
cmp ecx, 0x85
je 0x486e04
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x411054.157
cmp dword [ebx + 0x6c], 0
jne case.0x411054.157
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486e5b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486e5b
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0x486e9f
je case.0x411054.157
cmp ecx, 0xa0
ja 0x486e8e
je case.0x411054.157
cmp ecx, 9
je case.0x411054.157
cmp ecx, 0x20
je case.0x411054.157
jmp 0x411346
cmp ecx, 0x1680
je case.0x411054.157
jmp 0x411346
cmp ecx, 0x205f
ja 0x486ed6
je case.0x411054.157
cmp ecx, 0x2000
jb 0x411346
cmp ecx, 0x200a
jbe case.0x411054.157
cmp ecx, 0x202f
je case.0x411054.157
jmp 0x411346
cmp ecx, 0x3000
je case.0x411054.157
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486f2f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486f2f
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x180e
ja 0x486f73
je 0x411346
cmp ecx, 0xa0
ja 0x486f62
je 0x411346
cmp ecx, 9
je 0x411346
cmp ecx, 0x20
jne case.0x411054.157
jmp 0x411346
cmp ecx, 0x1680
jne case.0x411054.157
jmp 0x411346
cmp ecx, 0x205f
ja 0x486faa
je 0x411346
cmp ecx, 0x2000
jb case.0x411054.157
cmp ecx, 0x200a
jbe 0x411346
cmp ecx, 0x202f
jne case.0x411054.157
jmp 0x411346
cmp ecx, 0x3000
jne case.0x411054.157
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x487003
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487003
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0x487028
je case.0x411054.157
cmp ecx, 0xa
jb 0x411346
cmp ecx, 0xd
jbe case.0x411054.157
jmp 0x411346
cmp ecx, 0x2028
jb 0x411346
cmp ecx, 0x2029
jbe case.0x411054.157
jmp 0x411346
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x48708d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48708d
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
cmp ecx, 0x85
ja 0x4870ac
je 0x411346
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x411054.157
jmp 0x411346
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x411054.157
jmp 0x411346
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
jmp 0x4115cb
cmp eax, 0xa
ja case.default.0x4870f1
jmp dword [eax*4 + 0x48dd28]
mov al, byte [ecx*8 + 0x4ad2b9]
cmp al, 9
je 0x48711d
cmp al, 5
je 0x48711d
cmp al, 8
je 0x48711d
xor ecx, ecx
jmp 0x487139
cmp esi, 0xf
je case.0x411054.157
jmp 0x41163d
mov ecx, 1
jmp 0x487139
movzx eax, byte [ecx*8 + 0x4ad2b9]
xor ecx, ecx
cmp dword [eax*4 + 0x4b8180], 6
sete cl
xor eax, eax
cmp esi, 0xf
sete al
cmp ecx, eax
je case.0x411054.157
jmp 0x41163d
movzx ecx, byte [ecx*8 + 0x4ad2b9]
movzx eax, word [edi + 4]
xor edx, edx
cmp eax, dword [ecx*4 + 0x4b8180]
setne dl
xor eax, eax
cmp esi, 0x10
sete al
cmp edx, eax
je case.0x411054.157
jmp 0x41163d
movzx eax, byte [ecx*8 + 0x4ad2b9]
jmp 0x48718d
movzx eax, byte [ecx*8 + 0x4ad2b8]
xor ecx, ecx
cmp word [edi + 4], ax
setne cl
xor eax, eax
cmp esi, 0x10
sete al
cmp ecx, eax
je case.0x411054.157
jmp 0x41163d
movzx eax, byte [ecx*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x48711d
cmp eax, 3
je 0x48711d
xor ecx, ecx
jmp 0x487139
cmp edx, 0x180e
ja 0x48722c
je case.0x4870f1.0
cmp edx, 0x85
ja 0x48720f
je case.0x4870f1.0
cmp edx, 9
jb case.0x487250.8203
cmp edx, 0xd
jbe case.0x4870f1.0
cmp edx, 0x20
je case.0x4870f1.0
jmp case.0x487250.8203
cmp edx, 0xa0
je case.0x4870f1.0
cmp edx, 0x1680
je case.0x4870f1.0
jmp case.0x487250.8203
cmp edx, 0x202f
ja 0x487257
je case.0x4870f1.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x487250.8203
movzx eax, byte [edx + 0x48dd5c]
jmp dword [eax*4 + 0x48dd54]
cmp edx, 0x205f
je case.0x4870f1.0
cmp edx, 0x3000
je case.0x4870f1.0
jmp case.0x487250.8203
movzx eax, byte [ecx*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x48711d
cmp eax, 3
je 0x48711d
cmp edx, 0x5f
je 0x48711d
xor ecx, ecx
jmp 0x487139
cmp edx, 0x24
je 0x48711d
cmp edx, 0x40
je 0x48711d
cmp edx, 0x60
je 0x48711d
cmp edx, 0xa0
jb 0x4872d4
cmp edx, 0xd7ff
jbe 0x48711d
cmp edx, 0xe000
jae 0x48711d
xor ecx, ecx
jmp 0x487139
cmp esi, 0x10
je case.0x411054.157
jmp 0x41163d
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
jmp 0x41127e
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov esi, 2
jmp 0x4112df
cmp eax, esi
jb 0x411346
jmp 0x486662
movzx ecx, word [edi + 2]
movzx edx, word [edi + 4]
xor eax, eax
cmp esi, 0x74
sete al
imul ecx, dword [ebx + 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x30]
add edi, 6
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x34], edi
test edx, edx
jle 0x48739e
mov eax, dword [ebp + 0xc]
movzx esi, word [ecx]
add esi, esi
dec edx
mov dword [ebp - 0x40], esi
cmp esi, eax
mov esi, dword [ebx + 0x24]
jge 0x487397
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x40]
cmp dword [eax + ebx*4], 0
mov ebx, dword [ebp + 0x10]
jge 0x48739f
mov eax, dword [ebp + 0xc]
lea ecx, [ecx + esi*2]
test edx, edx
jg 0x487375
dec edx
test edx, edx
jns 0x4873d5
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebx + 0x54]
neg esi
sbb esi, esi
neg esi
dec esi
movzx edx, word [edi]
mov eax, edx
mov dword [ebp - 0xc], eax
add eax, 0xffffff9e
mov dword [ebp - 0x14], esi
cmp eax, 7
ja case.default.0x4873ce
movzx eax, byte [eax + 0x48dd90]
jmp dword [eax*4 + 0x48dd88]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebx + 0xc]
mov esi, dword [eax + ecx*4 + 4]
sub esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
jmp 0x4873b0
xor ecx, ecx
cmp esi, 0x72
movzx esi, word [edi + 2]
sete cl
add esi, esi
add edi, 4
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x28], ecx
cmp esi, dword [ebp + 0xc]
jge 0x4873a6
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + esi*4]
test edx, edx
js 0x4873a6
mov esi, dword [eax + esi*4 + 4]
sub esi, edx
jmp 0x4873b0
mov eax, dword [ebp - 0xc]
add eax, 0xffffff9e
movzx ecx, al
movsx edx, byte [eax + 0x4a06d0]
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x4a062c]
add edi, 2
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x48747a
mov edx, SysReAllocString
mov dword [ebp - 0x18], edx
jmp 0x48747a
movzx ecx, word [edi + 2]
xor eax, eax
cmp edx, 0x69
movzx edx, word [edi + 4]
sete al
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0xc], eax
test edx, edx
jne 0x487474
mov edx, SysReAllocString
mov dword [ebp - 0x18], edx
add edi, 6
mov dword [ebp - 0x34], edi
test esi, esi
je 0x411030
jns 0x48748c
test ecx, ecx
je 0x411030
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, 1
jl 0x4874d1
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push esi
mov edx, eax
call fcn.00471cf1
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x48c083
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x20]
inc edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x2c], edx
cmp edx, ecx
jle 0x48749b
mov edx, dword [ebp - 0x18]
cmp ecx, edx
je 0x411030
cmp dword [ebp - 0xc], 0
je 0x48bfd4
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], eax
jge case.0x411054.157
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push dword [ebp - 0x14]
mov edx, esi
call fcn.00471cf1
add esp, 0xc
test eax, eax
js 0x48bfae
inc dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x487509
jmp 0x411197
mov edx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0x40]
push ebx
push esi
call fcn.00471cf1
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x48c083
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x411030
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [edi + 4]
sete al
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x30], eax
movzx eax, word [edi + 2]
mov dword [ebp - 0x28], eax
test ecx, ecx
jne 0x4875b0
mov dword [ebp - 0x18], SysReAllocString
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x4111cb
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
jmp 0x411219
cmp esi, 0x6e
je case.0x411054.157
jmp 0x411351
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x41136a
mov ecx, dword [ebp - 0x28]
cmp eax, dword [ebx + 0x7c]
jae 0x4118d4
movzx ebx, word [eax]
add eax, 2
mov dword [ebp - 0x20], ebx
cmp ebx, 0xff
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], eax
jbe 0x48762b
cmp esi, 0x6e
je case.0x411054.157
jmp 0x487654
mov ecx, dword [ebp - 0x20]
shr dword [ebp - 0x20], 3
mov ebx, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0x411054.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x487600
jmp 0x411367
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax + 2]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], 2
jmp 0x4113bc
cmp esi, 0x6e
je 0x4113e8
jmp 0x411a19
cmp dword [ebx + 0x8c], 0
je 0x4113e8
cmp eax, dword [ebx + 0x88]
jbe 0x4113e8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
jmp 0x4113e8
cmp edx, dword [ebp - 0x18]
jge 0x48773e
cmp eax, dword [ebx + 0x7c]
jae 0x487719
movzx ecx, word [eax]
mov dword [ebp - 0x14], ecx
cmp ecx, 0xff
jbe 0x4876ec
cmp esi, 0x6e
jne 0x48770b
jmp 0x48773e
shr dword [ebp - 0x14], 3
mov ebx, dword [ebp - 0x14]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
je 0x48773e
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x4876d2
jmp 0x48773e
cmp dword [ebx + 0x8c], 0
je 0x48773e
cmp eax, dword [ebx + 0x88]
jbe 0x48773e
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
cmp dword [ebp - 0x30], 0
jne 0x411030
cmp eax, dword [ebp - 0x24]
jb case.0x411054.157
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
sub esi, 2
cmp esi, dword [ebp - 0x24]
jae 0x487754
jmp 0x411197
lea eax, [edi + 4]
mov dword [ebp - 0x14], eax
movzx eax, word [edi + 2]
movzx ecx, word [edi + eax*2]
lea edi, [edi + eax*2]
mov esi, ecx
mov dword [ebp - 0x34], edi
lea eax, [esi - 0x62]
cmp eax, 0xb
ja case.default.0x4877ad
movzx eax, byte [eax + 0x48dda0]
jmp dword [eax*4 + 0x48dd98]
lea ecx, [esi - 0x62]
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jae 0x4877d0
mov eax, dword [ebp - 0x30]
movzx edx, cl
and edx, 1
mov dword [ebp - 0x38], edx
jmp 0x4877d8
mov eax, 1
mov dword [ebp - 0x30], eax
movsx esi, byte [esi + 0x4a066e]
movsx ecx, byte [ecx + 0x4a062c]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
test esi, esi
jne 0x48783f
mov esi, SysReAllocString
jmp 0x48783c
movzx esi, word [edi + 4]
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [edi + 2]
sete al
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], eax
test esi, esi
jne 0x487827
mov esi, SysReAllocString
mov dword [ebp - 0x20], esi
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x48783f
mov eax, dword [ebp - 0x30]
mov esi, 1
mov ecx, esi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], 1
cmp ecx, 1
jl 0x4878c6
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118d4
movzx edx, word [eax]
mov ecx, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x2c], edx
mov dword [ebp - 8], eax
test ecx, ecx
je 0x487899
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487899
mov eax, dword [ebp - 8]
and edx, 0x3ff
movzx eax, word [eax]
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
add dword [ebp - 8], 2
jmp 0x48789c
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00472045
add esp, 4
test eax, eax
je case.0x411054.157
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, ecx
jle 0x48784b
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
cmp ecx, esi
je 0x411030
mov esi, dword [ebp - 8]
test edx, edx
jne 0x48c28c
mov dword [ebp - 0xc], esi
cmp ecx, dword [ebp - 0x20]
jge 0x48798d
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], 1
cmp eax, dword [ebx + 0x7c]
jae 0x487962
movzx edx, word [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov esi, eax
test ecx, ecx
je 0x487933
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487933
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
mov dword [ebp - 0x18], 2
jmp 0x487936
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00472045
add esp, 4
test eax, eax
je 0x48798a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x20]
jl 0x4878e5
jmp 0x487987
cmp dword [ebx + 0x8c], 0
je 0x487987
cmp eax, dword [ebx + 0x88]
jbe 0x487987
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x411030
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0xc]
je case.0x411054.157
cmp dword [ebp - 0x1c], 0
je 0x4879e4
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4879e4
sub esi, 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x4879b8
jmp 0x411197
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x48c378
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [edi + 2], ax
jne case.0x411054.157
add edi, 4
jmp 0x411349
movzx eax, word [edi + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
add esi, 0x10000
mov edx, 2
jmp 0x411466
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
jne 0x487a95
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
lea edi, [edi + edx*2]
mov dword [ebp - 0x34], edi
cmp esi, ecx
je 0x411030
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ae650]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x487ac6
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a07b8]
mov eax, dword [eax*8 + 0x4ad2bc]
add eax, esi
cmp dword [ebp - 0x2c], eax
je 0x411030
jmp case.0x411054.157
movzx ecx, word [edi + 2]
mov edx, 0xff
cmp cx, dx
ja 0x487b01
mov eax, dword [ebx + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x487b03
mov edx, ecx
movzx ecx, word [eax]
mov esi, 0xff
cmp cx, si
ja 0x487b1a
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x411054.157
add eax, 2
mov dword [ebp - 8], eax
add edi, 4
jmp 0x411349
movzx eax, word [edi + 2]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], eax
add edi, 4
jmp 0x487bf2
mov dword [ebp - 0x30], 1
movzx eax, word [edi + 2]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp ecx, 0x28
je 0x487b6a
cmp ecx, 0x35
je 0x487b6a
xor edx, edx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x487bf2
mov edx, 1
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x487bf2
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], SysReAllocString
add edi, 2
jmp 0x487bf5
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], SysReAllocString
add edi, 2
jmp 0x487bf5
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], ecx
add edi, 2
jmp 0x487bf5
cmp esi, 0x2e
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
mov ecx, esi
sub ecx, eax
movzx edx, cl
movsx eax, byte [ecx + 0x4a062c]
mov dword [ebp - 0x28], eax
movsx eax, byte [ecx + 0x4a06d0]
and edx, 1
add edi, 2
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x487bf2
mov dword [ebp - 0x18], SysReAllocString
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x487e7b
movzx eax, word [edi]
mov dword [ebp - 0x24], eax
and eax, 0xfc00
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x2c], edi
cmp eax, 0xd800
jne 0x487c45
mov ebx, dword [ebp - 0x24]
movzx eax, word [edi + 2]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
add eax, 0x10000
mov dword [ebp - 0x24], eax
mov eax, 2
mov dword [ebp - 0x10], eax
jmp 0x487c4a
mov eax, 1
lea ebx, [eax + eax]
add edi, ebx
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
cmp eax, 1
jle 0x487e8c
cmp esi, 0x2e
jb 0x487cbc
mov esi, dword [ebp - 0x24]
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ae650]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x487c8c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a07b8]
mov ecx, dword [eax*8 + 0x4ad2bc]
add ecx, esi
cmp ecx, esi
je 0x487cb6
lea edx, [ebp - 0x70]
call fcn.00472449
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
jmp 0x487cc3
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24], 0
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xc], 1
cmp esi, 1
jge 0x487cda
mov eax, dword [ebp - 8]
jmp 0x487d5d
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x487d0b
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.004230a3
add esp, 0xc
test eax, eax
jne 0x487d08
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
jmp 0x487d4c
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x48c392
lea eax, [edx + edx]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x20]
cmp ecx, eax
ja 0x48c392
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x70]
push eax
push ecx
call fcn.004230a3
add esp, 0xc
test eax, eax
jne 0x48c38f
mov eax, dword [ebp - 0x20]
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, esi
jle 0x487cda
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
cmp esi, dword [ebp - 0x18]
je 0x411030
test edx, edx
jne 0x48c3ad
mov edx, eax
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x18]
jge 0x487e17
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x487da7
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.004230a3
add esp, 0xc
test eax, eax
jne 0x487da4
mov eax, dword [ebp - 0x14]
jmp 0x487dd6
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x487de1
lea eax, [edx + edx]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0xc]
cmp ecx, eax
ja 0x487de1
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x70]
push eax
push ecx
call fcn.004230a3
add esp, 0xc
test eax, eax
jne 0x487de1
mov eax, dword [ebp - 0xc]
add dword [ebp - 8], eax
inc esi
cmp esi, dword [ebp - 0x18]
jl 0x487d7c
jmp 0x487e0e
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x487e11
cmp eax, dword [ebx + 0x7c]
jb 0x487e0e
cmp eax, dword [ebx + 0x88]
jbe 0x487e0e
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x411030
cmp eax, edx
je 0x4110a1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x487e72
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x487e2d
jmp 0x4110a1
movzx ebx, word [edi]
add edi, 2
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
jmp 0x487e8f
mov eax, dword [ebp - 0x1c]
cmp esi, 0x2e
jb 0x487ff6
mov esi, dword [ebp - 0x24]
test eax, eax
je 0x487ee5
cmp esi, 0x7f
jbe 0x487ee5
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ae650]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x487ec7
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x38]
add ecx, eax
movzx eax, word [ecx*2 + 0x4a07b8]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x4ad2bc]
add eax, esi
mov dword [ebp - 0x10], eax
jmp 0x487efc
cmp esi, 0xff
ja 0x487ef9
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + esi]
mov dword [ebp - 0x10], eax
jmp 0x487efc
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp esi, 1
jl 0x487f3f
cmp eax, dword [ebx + 0x7c]
jae 0x4118d4
movzx ebx, word [eax]
cmp dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
je 0x487f31
movzx ebx, word [eax]
cmp dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
jne case.0x411054.157
inc dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], esi
jle 0x487f0e
cmp esi, dword [ebp - 0x18]
je 0x411030
test edx, edx
jne 0x48c475
mov edx, eax
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x18]
jge 0x487fad
mov edx, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x7c]
jae 0x487f85
movzx ebx, word [eax]
cmp edx, ebx
mov ebx, dword [ebp + 0x10]
je 0x487f77
movzx ebx, word [eax]
cmp dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
jne 0x487faa
add eax, 2
inc esi
mov dword [ebp - 8], eax
cmp esi, dword [ebp - 0x18]
jl 0x487f5d
jmp 0x487faa
cmp dword [ebx + 0x8c], 0
je 0x487faa
cmp eax, dword [ebx + 0x88]
jbe 0x487faa
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x411030
cmp eax, edx
je 0x4110a1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
mov ecx, dword [ebp - 8]
sub ecx, 2
add esp, 0x14
mov dword [ebp - 8], ecx
test eax, eax
jne 0x411197
cmp ecx, esi
jne 0x487fc3
jmp 0x4110a1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], 1
cmp eax, 1
jge 0x48800a
mov esi, dword [ebp - 8]
jmp 0x488036
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118d4
movzx eax, word [eax]
mov esi, dword [ebp - 8]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x24], eax
jne case.0x411054.157
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x14], eax
jle 0x48800a
cmp eax, dword [ebp - 0x18]
je 0x411030
test edx, edx
jne 0x48c4ec
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
mov esi, eax
mov dword [ebp - 0x20], esi
cmp edx, dword [ebp - 0x18]
jge 0x488079
mov esi, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x7c]
jae 0x4880bf
movzx eax, word [eax]
cmp esi, eax
jne 0x488073
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc edx
cmp edx, dword [ebp - 0x18]
jl 0x48805a
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
test ecx, ecx
jne 0x411030
cmp eax, esi
je 0x4110a1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
mov ecx, dword [ebp - 8]
sub ecx, 2
add esp, 0x14
mov dword [ebp - 8], ecx
test eax, eax
jne 0x411197
cmp ecx, esi
jne 0x48808c
jmp 0x4110a1
cmp dword [ebx + 0x8c], 0
je 0x488076
cmp eax, dword [ebx + 0x88]
jbe 0x488076
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
jmp 0x488076
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118e6
cmp dword [ebp - 0x1c], edx
je 0x4881f6
movzx edx, word [edi + 2]
mov eax, edx
add edi, 4
and eax, 0xfc00
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x34], edi
cmp eax, 0xd800
jne 0x488138
movzx eax, word [edi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add edi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 8]
add eax, 2
movzx ecx, word [eax - 2]
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
jne 0x488179
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
cmp esi, 0x1f
jne 0x48818b
cmp edx, ecx
jne 0x411030
jmp case.0x411054.157
cmp edx, 0x7f
jbe 0x4881ce
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ae650]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4881b6
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a07b8]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax*8 + 0x4ad2bc]
add eax, edx
jmp 0x4881e1
cmp edx, 0xff
ja 0x4881df
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
jmp 0x4881e1
mov eax, edx
cmp edx, ecx
je case.0x411054.157
cmp eax, ecx
jne 0x411030
jmp case.0x411054.157
movzx edx, word [eax]
movzx ecx, word [edi + 2]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x411054.157
cmp esi, 0x20
jne 0x488227
cmp ecx, 0xff
ja 0x48821f
mov eax, dword [ebx + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x411054.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x411030
movzx eax, word [edi + 2]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], eax
add edi, 4
jmp 0x488314
movzx edx, word [edi + 2]
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], edx
cmp ecx, 0x42
je 0x488267
cmp ecx, 0x4f
je 0x488267
xor edx, edx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x488314
mov edx, 1
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x488314
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], SysReAllocString
add edi, 2
jmp 0x488317
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], SysReAllocString
add edi, 2
jmp 0x488317
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x488317
movzx ebx, word [edi + 2]
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ebx
add edi, 4
jmp 0x488317
cmp esi, 0x48
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
mov ecx, esi
sub ecx, eax
movzx edx, cl
movsx eax, byte [ecx + 0x4a062c]
movsx ecx, byte [ecx + 0x4a06d0]
and edx, 1
add edi, 2
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ecx
test ecx, ecx
jne 0x488314
mov dword [ebp - 0x10], SysReAllocString
mov ecx, dword [ebp - 0x30]
movzx ebx, word [edi]
add edi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
je 0x488365
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488362
movzx eax, word [edi]
mov ebx, dword [ebp - 0x18]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
add edi, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x24]
cmp esi, 0x48
mov esi, dword [ebp - 0x1c]
jb 0x488680
test esi, esi
je 0x4883c3
cmp dword [ebp - 0x18], 0x7f
jbe 0x4883c3
mov eax, dword [ebp - 0x18]
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 7
movzx ecx, byte [eax + 0x4ae650]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4883a2
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a07b8]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x4ad2bc]
add eax, edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
jmp 0x4883ed
cmp dword [ebp - 0x18], 0xff
mov ebx, dword [ebp + 0x10]
ja 0x4883e4
mov esi, dword [ebp - 0x18]
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + esi]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
jmp 0x4883ed
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xc], 1
test esi, esi
je 0x488476
cmp eax, 1
jl 0x4884b4
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118d4
movzx esi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], esi
jne 0x48844e
movzx eax, word [eax]
and eax, 0x3ff
and esi, 0x3ff
shl esi, 0xa
or eax, esi
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 0x28]
cmp dword [ebp - 0x18], ebx
je case.0x411054.157
mov esi, dword [ebp - 0x20]
cmp esi, ebx
je case.0x411054.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x488401
jmp 0x4884b7
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x4884b7
cmp eax, dword [ebx + 0x7c]
jae 0x4118d4
movzx esi, word [eax]
cmp dword [ebp - 0x18], esi
je case.0x411054.157
movzx ebx, word [eax]
cmp dword [ebp - 0x20], ebx
je case.0x411054.157
mov ebx, dword [ebp - 0xc]
inc ebx
add eax, 2
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], eax
jle 0x48847e
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
cmp dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x1c]
je 0x411030
test edx, edx
jne 0x48c55b
mov edx, eax
mov dword [ebp - 0x28], edx
test esi, esi
je 0x4885df
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x10]
jge 0x488551
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x4885b5
movzx eax, word [eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x38], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48852d
movzx eax, word [edx + 2]
and dword [ebp - 0x38], 0x3ff
shl dword [ebp - 0x38], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x38]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x488530
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x18], eax
je 0x48854b
cmp dword [ebp - 0x20], eax
je 0x48854b
mov eax, dword [ebp - 0xc]
inc esi
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
mov eax, edx
cmp esi, dword [ebp - 0x10]
jl 0x4884e3
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
test ecx, ecx
jne 0x411030
cmp eax, edx
je 0x4110a1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x4885ac
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x488567
jmp 0x4110a1
cmp dword [ebx + 0x8c], 0
je 0x48854e
cmp eax, dword [ebx + 0x88]
jbe 0x48854e
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
jmp 0x48854e
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x10]
jge 0x488637
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x488612
movzx ebx, word [eax]
cmp esi, ebx
mov ebx, dword [ebp + 0x10]
je 0x488637
movzx esi, word [eax]
cmp dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x18]
je 0x488637
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x10]
jl 0x4885ea
jmp 0x488637
cmp dword [ebx + 0x8c], 0
je 0x488637
cmp eax, dword [ebx + 0x88]
jbe 0x488637
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
test ecx, ecx
jne 0x411030
mov esi, dword [ebp - 0x28]
cmp eax, esi
je 0x4110a1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48864d
jmp 0x4110a1
mov dword [ebp - 0xc], 1
test esi, esi
je 0x488706
mov ebx, dword [ebp + 0x10]
cmp eax, 1
jl 0x488738
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118d4
movzx esi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], esi
jne 0x4886e6
movzx eax, word [eax]
mov ebx, esi
and eax, 0x3ff
and ebx, 0x3ff
shl ebx, 0xa
or eax, ebx
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x1c]
je case.0x411054.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x488697
jmp 0x48873b
cmp eax, 1
jl 0x488738
mov esi, dword [ebp - 8]
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x18], eax
je case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x24]
jle 0x48870e
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
cmp dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
je 0x411030
test edx, edx
jne 0x48c66d
mov edx, eax
mov dword [ebp - 0x20], edx
test esi, esi
je 0x48885e
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x10]
jge 0x4887d0
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x488834
movzx eax, word [eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4887b1
movzx eax, word [edx + 2]
and dword [ebp - 0x28], 0x3ff
shl dword [ebp - 0x28], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x28]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x4887b4
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x18], eax
je 0x4887ca
mov eax, dword [ebp - 0xc]
inc esi
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
mov eax, edx
cmp esi, dword [ebp - 0x10]
jl 0x488767
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x411030
cmp eax, edx
je 0x4110a1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x48882b
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x4887e6
jmp 0x4110a1
cmp dword [ebx + 0x8c], 0
je 0x4887cd
cmp eax, dword [ebx + 0x88]
jbe 0x4887cd
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
jmp 0x4887cd
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x10]
jge 0x488885
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x4888ce
movzx eax, word [eax]
cmp esi, eax
je 0x488882
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc edx
cmp edx, dword [ebp - 0x10]
jl 0x488869
mov eax, dword [ebp - 8]
test ecx, ecx
jne 0x411030
mov esi, dword [ebp - 0x20]
cmp eax, esi
je 0x4110a1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48889b
jmp 0x4110a1
cmp dword [ebx + 0x8c], 0
je 0x488885
cmp eax, dword [ebx + 0x88]
jbe 0x488885
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x488885
mov eax, 0xfffffff4
jmp 0x411197
movzx eax, word [edi + 2]
mov ecx, eax
mov edx, 1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x4117a3
movzx eax, word [edi + 2]
mov dword [ebp - 0x10], edx
xor edx, edx
cmp ecx, 0x5c
sete dl
add edi, 4
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov dword [ebp - 0x38], edx
jmp 0x4117a3
xor ecx, ecx
mov esi, 1
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x41179c
mov esi, 1
mov ecx, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x41179c
mov esi, 1
xor ecx, ecx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], esi
add edi, 2
jmp 0x4117a3
movzx eax, word [edi + 2]
xor ecx, ecx
mov esi, 1
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
add edi, 4
jmp 0x4117a3
mov dword [ebp - 0x3c], 1
jmp 0x4889a2
mov dword [ebp - 0x3c], 0
movzx esi, word [edi + 2]
movzx eax, word [edi]
add edi, 4
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x34], edi
jmp 0x4117c4
test eax, eax
js 0x4891e6
cmp eax, 0xa
ja case.default.0x4870f1
jmp dword [eax*4 + 0x48ddac]
cmp dword [ebp - 0x3c], 0
jne case.0x411054.157
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x488a1e
and dword [ebp - 0x14], 0xfc00
cmp dword [ebp - 0x14], 0xd800
jne 0x488a1e
add ecx, 2
mov dword [ebp - 8], ecx
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x4889ef
jmp 0x4117d5
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d2
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x488a90
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488a90
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and edx, 0x8000007f
jns 0x488ab5
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp eax, 9
je 0x488ada
cmp eax, 5
je 0x488ada
cmp eax, 8
je 0x488ada
xor eax, eax
jmp 0x488adf
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x488a45
mov edx, dword [ebp - 0x38]
jmp 0x4117d2
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x4117cf
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x488b5e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488b5e
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x488b83
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp dword [eax*4 + 0x4b8180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x488b10
mov edx, dword [ebp - 0x38]
jmp 0x4117cf
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x4117cf
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x488c23
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488c23
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x488c48
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x488bd5
mov edx, dword [ebp - 0x38]
jmp 0x4117cf
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x4117cf
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x488ce1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488ce1
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x488d06
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b8]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x488c93
mov edx, dword [ebp - 0x38]
jmp 0x4117cf
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d2
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x488d9f
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488d9f
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and edx, 0x8000007f
jns 0x488dc4
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x488deb
cmp eax, 3
je 0x488deb
xor eax, eax
jmp 0x488df0
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x488d54
mov edx, dword [ebp - 0x38]
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d5
mov edx, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
test eax, eax
je 0x488e7c
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488e79
movzx eax, word [ecx]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x180e
ja 0x488ed0
je 0x488f67
cmp dword [ebp - 0x18], 0x85
ja 0x488eb5
je 0x488f67
cmp dword [ebp - 0x18], 9
jb case.0x488ef3.8203
cmp dword [ebp - 0x18], 0xd
jbe 0x488f67
cmp dword [ebp - 0x18], 0x20
jne case.0x488ef3.8203
jmp 0x488f67
cmp dword [ebp - 0x18], 0xa0
je 0x488f67
cmp dword [ebp - 0x18], 0x1680
jne case.0x488ef3.8203
jmp 0x488f67
cmp dword [ebp - 0x18], 0x202f
ja 0x488efa
je 0x488f67
mov eax, dword [ebp - 0x18]
add eax, 0xffffe000
cmp eax, 0x29
ja case.0x488ef3.8203
movzx eax, byte [eax + 0x48dde0]
jmp dword [eax*4 + 0x48ddd8]
cmp dword [ebp - 0x18], 0x205f
je 0x488f67
cmp dword [ebp - 0x18], 0x3000
je 0x488f67
mov ecx, dword [ebp - 0x18]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x488f31
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp dword [eax*4 + 0x4b8180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x411054.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x488f71
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne case.0x411054.157
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x488e2a
mov edx, dword [ebp - 0x38]
jmp 0x4117d5
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x4117cf
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x488fe3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488fe3
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ae650]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x489009
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x489035
cmp eax, 3
je 0x489035
cmp edx, 0x5f
je 0x489035
xor eax, eax
jmp 0x48903a
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x488f95
mov edx, dword [ebp - 0x38]
jmp 0x4117cf
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x4890bc
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4890bc
movzx eax, word [ecx]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
mov ebx, dword [ebp - 0x44]
lea ebx, [ebx*4 + 0x4b0850]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebx]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jb 0x4890f5
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 8]
je 0x489117
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jae 0x4890d6
cmp dword [ebp - 0x3c], 0
je case.0x411054.157
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
jle 0x489071
jmp 0x4117d5
cmp dword [ebp - 0x3c], 0
jne case.0x411054.157
jmp 0x4890ff
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x489187
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489184
movzx eax, word [ecx]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x24
je 0x4891bb
cmp dword [ebp - 0x18], 0x40
je 0x4891bb
cmp dword [ebp - 0x18], 0x60
je 0x4891bb
cmp dword [ebp - 0x18], 0xa0
jb 0x4891ab
cmp dword [ebp - 0x18], 0xd7ff
jbe 0x4891bb
cmp dword [ebp - 0x18], 0xe000
mov dword [ebp - 0xc], 0
jb 0x4891c2
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], esi
je case.0x411054.157
mov ebx, dword [ebp - 0x14]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
jle 0x489139
jmp 0x4117d5
cmp dword [ebp - 0x28], 0x16
jne 0x48938c
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], 1
jl 0x4117d2
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x20], eax
cmp ecx, eax
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x489253
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489253
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and edx, 0x8000007f
jns 0x489278
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x4a07b8]
movzx edx, byte [eax*8 + 0x4ad2ba]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp ecx, eax
jae 0x48934b
mov ebx, dword [ebp - 0x1c]
mov esi, edx
movzx edx, word [ecx]
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x14], edx
test ebx, ebx
je 0x4892e0
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4892e0
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], 2
mov ecx, dword [ebp - 0x14]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x489305
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx ecx, byte [eax*8 + 0x4ad2ba]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a06dc], eax
je 0x489342
mov eax, dword [ebp - 0xc]
mov esi, ecx
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 8], ecx
cmp ecx, eax
jb 0x48929d
jmp 0x489348
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x10]
cmp dword [ebx + 0x8c], 0
je 0x489374
cmp ecx, eax
jb 0x489374
cmp ecx, dword [ebx + 0x88]
jbe 0x489374
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x10]
jle 0x489203
mov edx, dword [ebp - 0x38]
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x489b76
mov eax, dword [ebp - 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x4870f1
mov eax, dword [ebp - 0x28]
add eax, 0xfffffffa
jmp dword [eax*4 + 0x48de0c]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
lea edx, [ecx + 2]
mov dword [ebp - 0x20], edx
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x48c1e4
cmp dword [ebx + 0x18], 0
je 0x48948d
mov eax, dword [ebp - 0x1c]
push eax
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
call fcn.0040f317
add esp, 0xc
test eax, eax
jne case.0x411054.157
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebx + 0x8c], 0
je 0x48943d
cmp edx, dword [ebx + 0x7c]
jb 0x48943d
cmp dword [ebx + 0x18], 0
jne 0x48943d
cmp dword [ebx + 0x1c], 2
jne 0x48943d
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48943d
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebx + 0x7c]
jae 0x489475
mov ax, word [ecx]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xdc00
cmp ax, word [ebp - 0x14]
jne 0x489475
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x4893cf
mov edx, dword [ebp - 0x38]
jmp 0x4117d2
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp ecx, edx
ja 0x489403
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x489403
cmp dword [ebx + 0x1c], 1
je case.0x411054.157
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
je case.0x411054.157
jmp 0x489406
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x489519
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jne 0x489519
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x4894e1
jmp 0x4117d2
mov eax, dword [ebx + 0x7c]
add ecx, ecx
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja case.0x411054.157
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x4895a0
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x4895a3
mov eax, dword [ebp - 0x20]
cmp eax, 0xd
ja 0x4895d0
je 0x4895bd
cmp eax, 0xa
je 0x4895ef
add eax, 0xfffffff5
cmp eax, 1
ja case.0x411054.157
jmp 0x4895e5
cmp ecx, dword [ebx + 0x7c]
jae 0x4895ef
cmp word [ecx], 0xa
jne 0x4895ef
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x4895ef
cmp eax, 0x85
je 0x4895e5
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x411054.157
cmp dword [ebx + 0x6c], 0
jne case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x48955c
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x48965e
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x489661
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x48969c
je case.0x411054.157
cmp eax, 0xa0
ja 0x48968f
je case.0x411054.157
cmp eax, 9
je case.0x411054.157
cmp eax, 0x20
je case.0x411054.157
jmp 0x4896d3
cmp eax, 0x1680
je case.0x411054.157
jmp 0x4896d3
cmp eax, 0x205f
ja 0x4896c8
je case.0x411054.157
cmp eax, 0x2000
jb 0x4896d3
cmp eax, 0x200a
jbe case.0x411054.157
cmp eax, 0x202f
je case.0x411054.157
jmp 0x4896d3
cmp eax, 0x3000
je case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x48961a
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x489742
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x489745
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x489774
je 0x4897a7
cmp eax, 0xa0
ja 0x489767
je 0x4897a7
cmp eax, 9
je 0x4897a7
cmp eax, 0x20
jne case.0x411054.157
jmp 0x4897a7
cmp eax, 0x1680
jne case.0x411054.157
jmp 0x4897a7
cmp eax, 0x205f
ja 0x48979c
je 0x4897a7
cmp eax, 0x2000
jb case.0x411054.157
cmp eax, 0x200a
jbe 0x4897a7
cmp eax, 0x202f
jne case.0x411054.157
jmp 0x4897a7
cmp eax, 0x3000
jne case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x4896fe
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x489816
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x489819
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x489836
je case.0x411054.157
cmp eax, 0xa
jb 0x489848
cmp eax, 0xd
jbe case.0x411054.157
jmp 0x489848
cmp eax, 0x2028
jb 0x489848
cmp eax, 0x2029
jbe case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x4897d2
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x4898b7
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x4898ba
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x4898d1
je 0x4898df
add eax, 0xfffffff6
cmp eax, 3
ja case.0x411054.157
jmp 0x4898df
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x489873
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x489950
movzx eax, word [ecx]
mov ebx, dword [ebp - 0x14]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], ecx
jmp 0x489953
mov eax, dword [ebp - 0x14]
cmp eax, 0x80
jae 0x48996d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x489906
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
cmp word [ecx], 0x80
jae case.0x411054.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 4
mov ebx, dword [ebp + 0x10]
je case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x489994
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
cmp word [ecx], 0x80
mov ebx, dword [ebp + 0x10]
jae 0x489a14
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 1
mov ebx, dword [ebp + 0x10]
jne case.0x411054.157
mov eax, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x489a43
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jne 0x489a43
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x4899eb
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
cmp word [ecx], 0x80
jae case.0x411054.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 1
mov ebx, dword [ebp + 0x10]
je case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x489a66
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
cmp word [ecx], 0x80
mov ebx, dword [ebp + 0x10]
jae 0x489ae6
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 0x10
mov ebx, dword [ebp + 0x10]
jne case.0x411054.157
mov eax, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x489b15
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jne 0x489b15
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x489abd
jmp 0x4117d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
cmp word [ecx], 0x80
jae case.0x411054.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 0x10
mov ebx, dword [ebp + 0x10]
je case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x489b38
jmp 0x4117d2
mov ebx, dword [ebp - 0x28]
add ebx, 0xfffffffa
cmp ebx, 0xf
ja case.default.0x4870f1
mov ebx, dword [ebp - 0x28]
add ebx, 0xfffffffa
jmp dword [ebx*4 + 0x48de4c]
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x48c1e4
cmp dword [ebx + 0x18], 0
je 0x489bd8
lea eax, [ebx + 0x1c]
push 0
push eax
push edx
mov edx, dword [ebx + 0x18]
call fcn.0040f317
add esp, 0xc
test eax, eax
jne case.0x411054.157
mov ecx, dword [ebp - 8]
jmp 0x489c04
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp ecx, edx
ja 0x489c04
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x489c04
cmp dword [ebx + 0x1c], 1
je case.0x411054.157
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
je case.0x411054.157
cmp dword [ebx + 0x8c], 0
je 0x489c3e
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x489c3e
cmp dword [ebx + 0x18], 0
jne 0x489c3e
cmp dword [ebx + 0x1c], 2
jne 0x489c3e
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x489c3e
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x489ba8
mov edx, dword [ebp - 0x38]
jmp 0x4117d2
mov ebx, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [ebx + 0x7c]
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x48c1e4
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x4117d2
mov ebx, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [ebx + 0x7c]
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x48c1e4
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x4117d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x20], ebx
cmp ebx, 0xd
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
jg 0x489d08
cmp dword [ebp - 0x20], 0xd
je 0x489cf5
cmp dword [ebp - 0x20], 0xa
je 0x489d2f
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x411054.157
jmp 0x489d22
cmp ecx, dword [ebx + 0x7c]
jae 0x489d2f
cmp word [ecx], 0xa
jne 0x489d2f
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x489d2f
cmp dword [ebp - 0x20], 0x85
je 0x489d25
mov eax, dword [ebp - 0x20]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x411054.157
mov eax, dword [ebp - 0x10]
cmp dword [ebx + 0x6c], 0
jne case.0x411054.157
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x489cbb
jmp 0x4117d2
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
cmp eax, 0x180e
jg 0x489dac
cmp eax, 0x180e
je case.0x411054.157
cmp eax, 0xa0
jg 0x489d9d
je case.0x411054.157
cmp eax, 9
je case.0x411054.157
cmp eax, 0x20
je case.0x411054.157
jmp 0x489ded
cmp dword [ebp - 0x18], 0x1680
je case.0x411054.157
jmp 0x489ded
cmp dword [ebp - 0x18], 0x205f
jg 0x489de0
je case.0x411054.157
cmp dword [ebp - 0x18], 0x2000
jl 0x489ded
cmp dword [ebp - 0x18], 0x200a
jle case.0x411054.157
cmp dword [ebp - 0x18], 0x202f
je case.0x411054.157
jmp 0x489ded
cmp dword [ebp - 0x18], 0x3000
je case.0x411054.157
mov eax, dword [ebp - 0xc]
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
jle 0x489d55
jmp 0x4117d5
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], eax
cmp eax, 0x180e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jg 0x489e72
cmp dword [ebp - 0x18], 0x180e
je 0x489eaf
cmp dword [ebp - 0x18], 0xa0
jg 0x489e63
je 0x489eaf
cmp dword [ebp - 0x18], 9
je 0x489eaf
cmp dword [ebp - 0x18], 0x20
jne case.0x411054.157
jmp 0x489eaf
cmp dword [ebp - 0x18], 0x1680
jne case.0x411054.157
jmp 0x489eaf
cmp dword [ebp - 0x18], 0x205f
jg 0x489ea2
je 0x489eaf
cmp dword [ebp - 0x18], 0x2000
jl case.0x411054.157
cmp dword [ebp - 0x18], 0x200a
jle 0x489eaf
cmp dword [ebp - 0x18], 0x202f
jne case.0x411054.157
jmp 0x489eaf
cmp dword [ebp - 0x18], 0x3000
jne case.0x411054.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x489e1e
jmp 0x4117d5
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x20], eax
cmp eax, 0x85
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jg 0x489f1e
cmp dword [ebp - 0x20], 0x85
je case.0x411054.157
cmp dword [ebp - 0x20], 0xa
jl 0x489f34
cmp dword [ebp - 0x20], 0xd
jle case.0x411054.157
jmp 0x489f34
cmp dword [ebp - 0x20], 0x2028
jl 0x489f34
cmp dword [ebp - 0x20], 0x2029
jle case.0x411054.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x489ee0
jmp 0x4117d5
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], 1
jl 0x4117d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x14], ebx
cmp ebx, 0x85
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
jg 0x489f9b
cmp dword [ebp - 0x14], 0x85
je 0x489faf
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff6
cmp eax, 3
ja case.0x411054.157
jmp 0x489fac
mov eax, dword [ebp - 0x14]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x411054.157
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x489f61
jmp 0x4117d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx ebx, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp bx, word [ebp - 0xc]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
ja 0x48a00d
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x411054.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], eax
jle 0x489fd5
jmp 0x4117d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x411054.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x411054.157
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x48a036
jmp 0x4117d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx ebx, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp bx, word [ebp - 0xc]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
ja 0x48a0ca
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x411054.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], eax
jle 0x48a092
jmp 0x4117d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x411054.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x411054.157
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x48a0f3
jmp 0x4117d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4117d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx ebx, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp bx, word [ebp - 0xc]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
ja 0x48a187
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x411054.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], eax
jle 0x48a14f
jmp 0x4117d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4117d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x411054.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x411054.157
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x48a1b0
jmp 0x4117d2
mov dword [ebp - 0x38], ecx
test edx, edx
js 0x48ab18
cmp edx, 0xa
ja case.default.0x4870f1
jmp dword [edx*4 + 0x48de8c]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48aab2
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebp - 0x2c]
jae 0x48a27f
test eax, eax
je 0x48a25b
mov ax, word [ecx]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xd800
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
jne 0x48a25b
mov dword [ebp - 0xc], 2
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
jne 0x48aab2
mov ebx, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a223
jmp 0x48aab2
cmp dword [ebx + 0x8c], 0
je 0x48aab2
cmp ecx, dword [ebx + 0x88]
jbe 0x48aab2
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48aab2
mov eax, 0xfffffff4
jmp 0x411197
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48aab2
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a27f
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x48a30a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a30a
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and edx, 0x8000007f
jns 0x48a32f
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp eax, 9
je 0x48a354
cmp eax, 5
je 0x48a354
cmp eax, 8
je 0x48a354
xor eax, eax
jmp 0x48a359
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x48aab2
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x48a2c2
jmp 0x48aab2
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48aab2
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a27f
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x48a3db
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a3db
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48a400
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp dword [eax*4 + 0x4b8180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48aab2
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x48a38f
jmp 0x48aab2
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48aab2
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a27f
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x48a4a6
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a4a6
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48a4cb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48aab2
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x48a45a
jmp 0x48aab2
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48aab2
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a27f
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x48a56a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a56a
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48a58f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b8]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48aab2
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x48a51e
jmp 0x48aab2
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48aab2
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a27f
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x48a62e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a62e
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and edx, 0x8000007f
jns 0x48a653
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x48a67a
cmp eax, 3
je 0x48a67a
xor eax, eax
jmp 0x48a67f
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x48aab2
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x48a5e2
jmp 0x48aab2
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48aab2
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a27f
movzx ebx, word [ecx]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x48a70d
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a70a
movzx eax, word [ecx + 2]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], 2
add eax, 0x10000
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x180e
ja 0x48a761
je 0x48a7f8
cmp dword [ebp - 0x18], 0x85
ja 0x48a746
je 0x48a7f8
cmp dword [ebp - 0x18], 9
jb case.0x48a784.8203
cmp dword [ebp - 0x18], 0xd
jbe 0x48a7f8
cmp dword [ebp - 0x18], 0x20
jne case.0x48a784.8203
jmp 0x48a7f8
cmp dword [ebp - 0x18], 0xa0
je 0x48a7f8
cmp dword [ebp - 0x18], 0x1680
jne case.0x48a784.8203
jmp 0x48a7f8
cmp dword [ebp - 0x18], 0x202f
ja 0x48a78b
je 0x48a7f8
mov eax, dword [ebp - 0x18]
add eax, 0xffffe000
cmp eax, 0x29
ja case.0x48a784.8203
movzx eax, byte [eax + 0x48dec0]
jmp dword [eax*4 + 0x48deb8]
cmp dword [ebp - 0x18], 0x205f
je 0x48a7f8
cmp dword [ebp - 0x18], 0x3000
je 0x48a7f8
mov ecx, dword [ebp - 0x18]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48a7c2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp dword [eax*4 + 0x4b8180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48aab2
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x48a802
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne 0x48aab2
mov esi, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + esi*2]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x48a6b5
jmp 0x48aab2
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48aab2
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a27f
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x48a878
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a878
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ae650]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48a89e
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x48a8ca
cmp eax, 3
je 0x48a8ca
cmp edx, 0x5f
je 0x48a8ca
xor eax, eax
jmp 0x48a8cf
mov eax, 1
mov ecx, dword [ebp - 8]
cmp eax, dword [ebp - 0x3c]
je 0x48aab2
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x48a82c
jmp 0x48aab2
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48aab2
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a27f
movzx ebx, word [ecx]
mov dword [ebp - 0x28], ebx
test eax, eax
je 0x48a95c
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a959
movzx eax, word [ecx + 2]
and dword [ebp - 0x28], 0x3ff
shl dword [ebp - 0x28], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x44]
lea ebx, [ebx*4 + 0x4b0850]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebx]
cmp dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jb 0x48a995
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 8]
je 0x48a9bd
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp dword [ebp - 0x28], eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
jae 0x48a976
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
je 0x48aab2
mov ebx, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a908
jmp 0x48aab2
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
je 0x48a9a2
jmp 0x48aab2
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48aab2
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48aa8d
movzx ebx, word [ecx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x48aa2f
mov eax, dword [ebp - 0x28]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48aa2c
movzx eax, word [ecx + 2]
and dword [ebp - 0x28], 0x3ff
shl dword [ebp - 0x28], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], 0x24
je 0x48aa63
cmp dword [ebp - 0x28], 0x40
je 0x48aa63
cmp dword [ebp - 0x28], 0x60
je 0x48aa63
cmp dword [ebp - 0x28], 0xa0
jb 0x48aa53
cmp dword [ebp - 0x28], 0xd7ff
jbe 0x48aa63
cmp dword [ebp - 0x28], 0xe000
mov dword [ebp - 0xc], 0
jb 0x48aa6a
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x30]
je 0x48aab2
mov ebx, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a9d7
jmp 0x48aab2
cmp dword [ebx + 0x8c], 0
je 0x48aab2
cmp ecx, dword [ebx + 0x88]
jbe 0x48aab2
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
test esi, esi
jne 0x411030
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x4110a1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x1c], eax
je 0x48ab0f
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x48ab0f
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48aac5
jmp 0x4110a1
mov edx, dword [ebp - 0x28]
cmp edx, 0x16
jne 0x48ad2b
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jl 0x48ab34
jmp 0x48acdd
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], edx
cmp ecx, edx
jae 0x48acb8
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
test eax, eax
je 0x48ab82
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48ab82
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and edx, 0x8000007f
jns 0x48aba7
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x4a07b8]
movzx edx, byte [eax*8 + 0x4ad2ba]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp ecx, eax
jae 0x48ac7d
mov ebx, dword [ebp - 0x1c]
mov esi, edx
movzx edx, word [ecx]
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x14], edx
test ebx, ebx
je 0x48ac0f
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48ac0f
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], 2
mov ecx, dword [ebp - 0x14]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48ac34
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx ecx, byte [eax*8 + 0x4ad2ba]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x4a06dc], eax
je 0x48ac71
mov eax, dword [ebp - 0xc]
mov esi, ecx
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], ecx
cmp ecx, eax
jb 0x48abcc
jmp 0x48ac77
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x30]
cmp dword [ebx + 0x8c], 0
je 0x48aca6
cmp ecx, eax
jb 0x48aca6
cmp ecx, dword [ebx + 0x88]
jbe 0x48aca6
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x24]
jl 0x48ab31
jmp 0x48acdd
cmp dword [ebx + 0x8c], 0
je 0x48acdd
cmp ecx, dword [ebx + 0x88]
jbe 0x48acdd
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
test esi, esi
jne 0x411030
cmp ecx, dword [ebp - 0x38]
je 0x4110a1
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
test esi, esi
jne 0x48bc84
movzx edx, word [ecx]
jmp 0x48bccd
test eax, eax
je 0x48b63a
add edx, 0xfffffffa
cmp edx, 0xf
ja case.default.0x4870f1
jmp dword [edx*4 + 0x48deec]
cmp dword [ebp - 0x24], 0x7fffffff
mov edx, dword [ebp - 0x10]
jge 0x48ae57
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
lea eax, [ecx + 2]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
jae 0x48afb7
cmp dword [ebx + 0x18], 0
je 0x48ad9f
push eax
lea edx, [ebx + 0x1c]
push edx
push dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
call fcn.0040f317
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x48b5bc
mov edx, dword [ebp - 0x10]
jmp 0x48adcf
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x48adcf
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48adcf
cmp dword [ebx + 0x1c], 1
je 0x48b5bc
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ebx + 0x36]
je 0x48b5bc
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 0x18]
je 0x48ae0f
cmp eax, dword [ebx + 0x7c]
jb 0x48ae0f
cmp dword [ebx + 0x18], 0
jne 0x48ae0f
cmp dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 8]
jne 0x48ae0f
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48ae0c
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov eax, dword [ebp - 0x18]
add ecx, 2
add eax, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebx + 0x7c]
jae 0x48ae45
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
jne 0x48ae45
add ecx, 2
add dword [ebp - 0x18], 2
mov dword [ebp - 8], ecx
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x48ad65
jmp 0x48b5bc
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
lea eax, [ecx + 2]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
jae 0x48afb7
cmp dword [ebx + 0x18], 0
je 0x48aea0
push eax
lea edx, [ebx + 0x1c]
push edx
push dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
call fcn.0040f317
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x48b5bc
mov edx, dword [ebp - 0x10]
jmp 0x48aed0
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x48aed0
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48aed0
cmp dword [ebx + 0x1c], 1
je 0x48b5bc
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ebx + 0x36]
je 0x48b5bc
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 0x18]
je 0x48af10
cmp eax, dword [ebx + 0x7c]
jb 0x48af10
cmp dword [ebx + 0x18], 0
jne 0x48af10
cmp dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 8]
jne 0x48af10
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48af0d
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov eax, dword [ebp - 0x18]
add ecx, 2
add eax, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebx + 0x7c]
jae 0x48af46
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
jne 0x48af46
add ecx, 2
add dword [ebp - 0x18], 2
mov dword [ebp - 8], ecx
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x48ae66
jmp 0x48b5bc
mov eax, dword [ebp - 0x24]
cmp eax, 0x7fffffff
jge 0x48afad
mov edx, dword [ebp - 0x10]
cmp edx, eax
jge 0x48b5bc
mov eax, dword [ebx + 0x7c]
cmp ecx, eax
jae 0x48afb7
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x48afa2
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebx + 0x7c]
jne 0x48afa2
add ecx, 2
mov dword [ebp - 8], ecx
inc edx
cmp edx, dword [ebp - 0x24]
jl 0x48af70
jmp 0x48b5bc
mov ecx, dword [ebx + 0x7c]
jmp 0x48afb4
mov ecx, edx
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x8c], 0
je 0x48b5bc
cmp ecx, dword [ebx + 0x88]
jbe 0x48b5bc
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48b5bc
mov eax, 0xfffffff4
jmp 0x411197
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x24], eax
mov eax, edx
sub eax, ecx
sar eax, 1
cmp dword [ebp - 0x24], eax
ja 0x48afb2
mov eax, dword [ebp - 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
jmp 0x48b5bc
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], 1
cmp ecx, eax
jae 0x48afb7
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b064
movzx eax, word [ecx + 2]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x48b067
mov eax, dword [ebp - 0x20]
cmp eax, 0xd
jne 0x48b088
mov eax, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x48b5bc
cmp word [ecx], 0xa
jne 0x48b0c6
add ecx, 2
jmp 0x48b0c3
cmp eax, 0xa
je 0x48b0ba
cmp dword [ebx + 0x6c], 0
jne 0x48b5bc
cmp eax, 0xb
je 0x48b0ba
cmp eax, 0xc
je 0x48b0ba
cmp eax, 0x85
je 0x48b0ba
cmp eax, 0x2028
je 0x48b0ba
cmp eax, 0x2029
jne 0x48b5bc
mov eax, dword [ebp - 0xc]
lea ecx, [ecx + eax*2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 8], ecx
inc edx
cmp edx, dword [ebp - 0x24]
jl 0x48b022
jmp 0x48b5bc
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48afb7
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b128
movzx eax, word [ecx + 2]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
jmp 0x48b12b
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x48b181
je 0x48b147
cmp eax, 0xa0
ja 0x48b178
je 0x48b147
cmp eax, 9
je 0x48b147
cmp eax, 0x20
jne 0x48b1a8
mov dword [ebp - 0xc], 1
xor eax, eax
cmp dword [ebp - 0x28], 0x12
sete al
cmp dword [ebp - 0xc], eax
je 0x48b5bc
mov eax, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b0e1
jmp 0x48b5bc
cmp eax, 0x1680
jne 0x48b1a8
jmp 0x48b147
cmp eax, 0x205f
ja 0x48b1a1
je 0x48b147
cmp eax, 0x2000
jb 0x48b1a8
cmp eax, 0x200a
jbe 0x48b147
cmp eax, 0x202f
jne 0x48b1a8
jmp 0x48b147
cmp eax, 0x3000
je 0x48b147
mov dword [ebp - 0xc], 0
jmp 0x48b14e
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48afb7
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b204
movzx eax, word [ecx + 2]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
jmp 0x48b207
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x48b24b
je 0x48b255
cmp eax, 0xa
jb 0x48b21a
cmp eax, 0xd
jbe 0x48b255
mov dword [ebp - 0xc], 0
xor eax, eax
cmp dword [ebp - 0x28], 0x14
sete al
cmp dword [ebp - 0xc], eax
je 0x48b5bc
mov eax, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b1bd
jmp 0x48b5bc
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48b21a
mov dword [ebp - 0xc], 1
jmp 0x48b221
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48afb7
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b2b7
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x48b2ba
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48b2d4
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne 0x48b5bc
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b26a
jmp 0x48b5bc
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48afb7
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b341
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x48b344
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48b5bc
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
je 0x48b5bc
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b2f4
jmp 0x48b5bc
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48afb7
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b3cf
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x48b3d2
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48b3ec
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
jne 0x48b5bc
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b382
jmp 0x48b5bc
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48afb7
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b459
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x48b45c
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48b5bc
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
je 0x48b5bc
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b40c
jmp 0x48b5bc
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48afb7
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b4e7
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x48b4ea
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48b504
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
jne 0x48b5bc
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b49a
jmp 0x48b5bc
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b5bc
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48b597
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b56d
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x48b570
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48b5bc
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
je 0x48b5bc
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b524
jmp 0x48b5bc
cmp dword [ebx + 0x8c], 0
je 0x48b5bc
cmp ecx, dword [ebx + 0x88]
jbe 0x48b5bc
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
test esi, esi
jne 0x411030
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x4110a1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x48b614
sub ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x28], 0x11
jne 0x48b631
cmp ecx, esi
jbe 0x48b633
cmp word [ecx], 0xa
jne 0x48b631
cmp word [ecx - 2], 0xd
jne 0x48b631
add ecx, 0xfffffffe
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48b5cf
jmp 0x4110a1
lea eax, [edx - 6]
cmp eax, 0xf
ja case.default.0x4870f1
jmp dword [eax*4 + 0x48df2c]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48bb8f
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
jae 0x48b72b
cmp dword [ebx + 0x18], 0
je 0x48b68f
lea edx, [ebx + 0x1c]
push 0
push edx
mov edx, dword [ebx + 0x18]
push eax
call fcn.0040f317
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x48bb8f
mov edx, dword [ebp - 0x10]
jmp 0x48b6bd
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x48b6bd
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48b6bd
cmp dword [ebx + 0x1c], 1
je 0x48bb8f
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
je 0x48bb8f
cmp dword [ebx + 0x8c], 0
je 0x48b6f7
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x48b6f7
cmp dword [ebx + 0x18], 0
jne 0x48b6f7
cmp dword [ebx + 0x1c], 2
jne 0x48b6f7
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48b6f7
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
inc edx
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x48b659
jmp 0x48bb8f
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x24], eax
mov eax, edx
sub eax, ecx
sar eax, 1
cmp dword [ebp - 0x24], eax
jbe 0x48b762
mov ecx, edx
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x8c], 0
je 0x48bb8f
cmp ecx, dword [ebx + 0x88]
jbe 0x48bb8f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48bb8f
mov eax, 0xfffffff4
jmp 0x411197
mov eax, dword [ebp - 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
jmp 0x48bb8f
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48bb8f
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x48b72b
movzx edx, word [ecx]
cmp edx, 0xd
jne 0x48b7a4
mov edx, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, edx
jae 0x48bb8f
cmp word [ecx], 0xa
je 0x48b7dc
jmp 0x48b7e2
cmp edx, 0xa
je 0x48b7d9
cmp dword [ebx + 0x6c], 0
jne 0x48bb8f
cmp edx, 0xb
je 0x48b7d9
cmp edx, 0xc
je 0x48b7d9
cmp edx, 0x85
je 0x48b7d9
cmp edx, 0x2028
je 0x48b7d9
cmp edx, 0x2029
jne 0x48bb8f
mov edx, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
inc eax
cmp eax, dword [ebp - 0x24]
jl 0x48b77f
jmp 0x48bb8f
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48bb8f
cmp ecx, dword [ebx + 0x7c]
jae 0x48b72b
movzx edx, word [ecx]
cmp edx, 0x180e
jg 0x48b841
je 0x48bb8f
cmp edx, 0xa0
jg 0x48b834
je 0x48bb8f
cmp edx, 9
je 0x48bb8f
cmp edx, 0x20
jne 0x48b87c
jmp 0x48bb8f
cmp edx, 0x1680
jne 0x48b87c
jmp 0x48bb8f
cmp edx, 0x205f
jg 0x48b870
je 0x48bb8f
cmp edx, 0x2000
jl 0x48b87c
cmp edx, 0x200a
jle 0x48bb8f
cmp edx, 0x202f
jne 0x48b87c
jmp 0x48bb8f
cmp edx, 0x3000
je 0x48bb8f
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x48b7f9
jmp 0x48bb8f
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48bb8f
cmp ecx, dword [ebx + 0x7c]
jae 0x48b72b
movzx edx, word [ecx]
cmp edx, 0x180e
jg 0x48b8d9
je 0x48b910
cmp edx, 0xa0
jg 0x48b8cc
je 0x48b910
cmp edx, 9
je 0x48b910
cmp edx, 0x20
je 0x48b910
jmp 0x48bb8f
cmp edx, 0x1680
je 0x48b910
jmp 0x48bb8f
cmp edx, 0x205f
jg 0x48b904
je 0x48b910
cmp edx, 0x2000
jl 0x48bb8f
cmp edx, 0x200a
jle 0x48b910
cmp edx, 0x202f
je 0x48b910
jmp 0x48bb8f
cmp edx, 0x3000
jne 0x48bb8f
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x48b89d
jmp 0x48bb8f
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48bb8f
cmp ecx, dword [ebx + 0x7c]
jae 0x48b72b
movzx edx, word [ecx]
cmp edx, 0x85
jg 0x48b956
je 0x48bb8f
cmp edx, 0xa
jl 0x48b96a
cmp edx, 0xd
jg 0x48b96a
jmp 0x48bb8f
cmp edx, 0x2028
jl 0x48b96a
cmp edx, 0x2029
jle 0x48bb8f
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x48b92d
jmp 0x48bb8f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48bb8f
cmp ecx, dword [ebx + 0x7c]
jae 0x48b72b
movzx eax, word [ecx]
cmp eax, 0x85
jg 0x48b9a9
je 0x48b9b7
add eax, 0xfffffff6
cmp eax, 3
jbe 0x48b9b7
jmp 0x48bb8f
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48bb8f
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b987
jmp 0x48bb8f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48bb8f
cmp ecx, dword [ebx + 0x7c]
jae 0x48b72b
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48b9ff
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne 0x48bb8f
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b9d4
jmp 0x48bb8f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48bb8f
cmp ecx, dword [ebx + 0x7c]
jae 0x48b72b
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48bb8f
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
je 0x48bb8f
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48ba1c
jmp 0x48bb8f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48bb8f
cmp ecx, dword [ebx + 0x7c]
jae 0x48b72b
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48ba93
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
jne 0x48bb8f
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48ba68
jmp 0x48bb8f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48bb8f
cmp ecx, dword [ebx + 0x7c]
jae 0x48b72b
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48bb8f
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
je 0x48bb8f
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48bab0
jmp 0x48bb8f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48bb8f
cmp ecx, dword [ebx + 0x7c]
jae 0x48b72b
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48bb23
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
jne 0x48bb8f
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48bafc
jmp 0x48bb8f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48bb8f
cmp ecx, dword [ebx + 0x7c]
jae 0x48bb6a
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48bb8f
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
je 0x48bb8f
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48bb39
jmp 0x48bb8f
cmp dword [ebx + 0x8c], 0
je 0x48bb8f
cmp ecx, dword [ebx + 0x88]
jbe 0x48bb8f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
test esi, esi
jne 0x411030
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x4110a1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 8]
sub ecx, 2
cmp dword [ebp - 0x28], 0x11
mov dword [ebp - 8], ecx
jne 0x48bbe9
cmp ecx, esi
jbe 0x48bbeb
cmp word [ecx], 0xa
jne 0x48bbe9
cmp word [ecx - 2], 0xd
jne 0x48bbe9
add ecx, 0xfffffffe
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48bba2
jmp 0x4110a1
mov eax, dword [ebp + 0x18]
inc eax
cmp word [edi], 0x7a
push eax
push dword [ebp + 0x14]
push ebx
push edx
push ecx
mov ecx, dword [ebp - 8]
jne 0x48bc21
lea edx, [edi + 4]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov edi, dword [ebp - 0xc]
jmp 0x41109e
mov edx, dword [ebp - 0xc]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
add edi, 4
jmp 0x41109e
mov edx, esi
mov esi, dword [ebp - 8]
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x48bc63
mov ecx, dword [ebp - 0x20]
cmp dword [ebx + 0xb8], ecx
jne 0x411197
jmp 0x48bc6e
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0x48bed1
add edi, 4
jmp 0x41109e
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x48bc9f
sub ecx, 2
mov dword [ebp - 8], ecx
movzx edx, word [ecx]
mov eax, edx
and eax, 0xfc00
mov dword [ebp - 0x14], edx
cmp eax, 0xd800
jne 0x48bcd0
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0x14], edx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and edx, 0x8000007f
jns 0x48bcf5
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2ba]
mov dword [ebp - 0x2c], eax
cmp ecx, dword [ebp - 0x38]
je 0x4110a1
lea edx, [ecx - 2]
mov dword [ebp - 0xc], edx
test esi, esi
jne 0x48bd22
movzx ecx, word [edx]
jmp 0x48bd68
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48bd3d
sub edx, 2
mov dword [ebp - 0xc], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bd68
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 + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48bd8a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx eax, word [eax*2 + 0x4a07b8]
movzx edx, byte [eax*8 + 0x4ad2ba]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x4a06dc], eax
je 0x48bdbd
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x2c], edx
jmp 0x48bd0a
mov ecx, dword [ebp - 8]
jmp 0x48acf1
mov dword [ebx + 0x9c], 2
jmp 0x411996
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x48da57
cmp word [edi], 0x77
je 0x4119e5
cmp word [eax], 0x77
jne 0x48da57
jmp 0x4119e5
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x4a0710]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
lea eax, [edi + 4]
mov dword [ebx + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x411197
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je case.0x411054.157
push eax
call dword [0x4bdb8c]
add esp, 4
jmp case.0x411054.157
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x154]
cmp ecx, edx
je 0x411197
push ecx
call dword [0x4bdb8c]
mov eax, dword [ebp - 0xc]
add esp, 4
jmp 0x411197
mov eax, 0xfffffffa
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
lea edx, [edi + 4]
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x411197
mov esi, dword [ebp + 8]
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x90], edx
mov eax, 0xfffffc1a
jmp 0x411197
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push edx
push dword [ebp + 8]
lea edx, [edi + 4]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov dword [ebx + 0xb8], esi
mov eax, 0xfffffc1b
jmp 0x411197
mov eax, dword [ebp - 8]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x90], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x80], eax
jmp 0x411192
cmp ecx, dword [ebx + 0x88]
jbe case.0x411054.157
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x411054.157
mov eax, 0xfffffff4
jmp 0x411197
mov eax, 0xfffffff2
jmp 0x411197
cmp eax, 0xfffffffe
jne 0x48bfb6
mov esi, dword [ebx + 0x7c]
cmp dword [ebx + 0x8c], 0
je case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jb case.0x411054.157
cmp esi, dword [ebx + 0x88]
jmp 0x48bf80
mov dword [ebp - 0xc], eax
cmp ecx, edx
jl 0x48bfe0
jmp 0x48c046
mov eax, dword [ebp - 8]
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push esi
mov edx, eax
call fcn.00471cf1
add esp, 0xc
test eax, eax
js 0x48c00d
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x18]
jl 0x48bfdd
jmp 0x48c03d
cmp eax, 0xfffffffe
jne 0x48c03a
cmp dword [ebx + 0x8c], 0
je 0x48c03a
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x88]
jbe 0x48c03a
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jb case.0x411054.157
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov edx, dword [ebp - 8]
mov eax, esi
neg eax
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
cmp edx, dword [ebp - 0xc]
jae 0x48c046
xor eax, eax
jmp 0x411197
cmp ecx, 0xfffffffe
jne 0x48c08d
mov eax, dword [ebx + 0x7c]
jmp 0x48c090
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x411054.157
cmp eax, dword [ebx + 0x7c]
jb case.0x411054.157
cmp eax, dword [ebx + 0x88]
jmp 0x48bf80
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0x24]
je case.0x411054.157
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48c0d7
sub esi, 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c0b1
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test ecx, ecx
mov ecx, dword [ebp - 8]
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
je 0x48c1fc
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x18]
jge case.0x411054.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x48c180
movzx eax, word [ecx]
mov ebx, dword [ebp - 0x20]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], ecx
jmp 0x48c183
mov eax, dword [ebp - 0x20]
cmp eax, 0xff
jbe 0x48c195
cmp esi, 0x6e
je case.0x411054.157
jmp 0x48c1ba
shr dword [ebp - 0x20], 3
mov ebx, dword [ebp - 0x20]
mov ecx, eax
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0x411054.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc edx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x28], edx
push dword [ebp + 8]
mov edx, edi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c127
jmp 0x411197
cmp dword [ebx + 0x8c], 0
je case.0x411054.157
cmp ecx, dword [ebx + 0x88]
jmp 0x48bf80
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x18]
jge case.0x411054.157
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4118d4
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x48c243
cmp esi, 0x6e
je case.0x411054.157
jmp 0x48c263
shr dword [ebp - 0x14], 3
mov ebx, dword [ebp - 0x14]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0x411054.157
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x28], edx
push dword [ebp + 8]
mov edx, edi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c20c
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x28], eax
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx edx, word [esi]
mov ecx, dword [ebp - 0x1c]
add esi, 2
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x48c2fb
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c2fb
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
add esi, 2
jmp 0x48c2fe
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00472045
add esp, 4
test eax, eax
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x28]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c2af
jmp 0x411197
cmp dword [ebx + 0x8c], 0
je case.0x411054.157
cmp esi, dword [ebx + 0x88]
jmp 0x48bf80
cmp dword [ebx + 0x8c], 0
je case.0x411054.157
cmp edx, dword [ebx + 0x7c]
jb case.0x411054.157
cmp edx, dword [ebx + 0x88]
jmp 0x48bf80
cmp dword [ebx + 0x8c], edx
je case.0x411054.157
cmp ecx, dword [ebx + 0x88]
jmp 0x48bf80
mov ecx, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x411054.157
cmp ecx, dword [ebx + 0x7c]
jb case.0x411054.157
jmp 0x48bf7a
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov edx, dword [ebp - 0x10]
lea ecx, [edx + edx]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x28], eax
jge case.0x411054.157
mov eax, dword [ebx + 0x7c]
sub eax, ecx
cmp esi, eax
ja 0x48c40a
lea eax, [edx + edx]
push eax
push dword [ebp - 0x2c]
push esi
call fcn.004230a3
add esp, 0xc
test eax, eax
jne 0x48c40a
add esi, dword [ebp - 0xc]
jmp 0x48c444
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jle 0x48bfb6
mov eax, dword [ebx + 0x7c]
lea edx, [ecx + ecx]
sub eax, edx
mov dword [ebp - 0x14], edx
cmp esi, eax
ja 0x48bfb6
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.004230a3
add esp, 0xc
test eax, eax
jne 0x48bfb6
add esi, dword [ebp - 0x14]
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x28]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
add esp, 0x14
test eax, eax
je 0x48c3dc
jmp 0x411197
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x18]
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx ecx, word [esi]
cmp dword [ebp - 0x24], ecx
je 0x48c4c1
cmp dword [ebp - 0x10], ecx
jne case.0x411054.157
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
add esi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c49b
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x18]
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x24], eax
jne case.0x411054.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c50f
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test esi, esi
mov esi, dword [ebp - 8]
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
je 0x48c608
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48c5ce
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
cmp dword [ebp - 0x18], edx
je case.0x411054.157
cmp dword [ebp - 0x20], edx
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c589
jmp 0x411197
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x10]
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx ecx, word [esi]
cmp dword [ebp - 0x18], ecx
je case.0x411054.157
cmp dword [ebp - 0x20], ecx
je case.0x411054.157
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
add esi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c618
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test esi, esi
mov esi, dword [ebp - 8]
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
je 0x48c711
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48c6e0
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
cmp dword [ebp - 0x18], edx
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c69b
jmp 0x411197
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x18], eax
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c721
jmp 0x411197
cmp edx, 0xa
ja case.default.0x4870f1
jmp dword [edx*4 + 0x48df6c]
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x411054.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48c7da
and edx, 0xfc00
cmp edx, 0xd800
jne 0x48c7da
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x3c], 0
jne case.0x411054.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c79f
jmp 0x411197
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x411054.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48c884
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c884
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and edx, 0x8000007f
jns 0x48c8a9
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp eax, 9
je 0x48c8ce
cmp eax, 5
je 0x48c8ce
cmp eax, 8
je 0x48c8ce
xor eax, eax
jmp 0x48c8d3
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c82a
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48c972
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c972
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48c994
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp dword [eax*4 + 0x4b8180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48c927
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48ca58
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48ca58
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48ca7a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48ca0d
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48cb37
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48cb37
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48cb59
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b8]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48caec
jmp 0x411197
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x411054.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48cc23
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48cc23
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and edx, 0x8000007f
jns 0x48cc48
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x48cc6f
cmp eax, 3
je 0x48cc6f
xor eax, eax
jmp 0x48cc74
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48cbc9
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48cd16
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48cd13
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, dword [ebp - 0x10]
cmp ecx, 0x180e
ja 0x48cd63
je 0x48cde8
cmp ecx, 0x85
ja 0x48cd4a
je 0x48cde8
cmp ecx, 9
jb case.0x48cd7f.8203
cmp ecx, 0xd
jbe 0x48cde8
cmp ecx, 0x20
jne case.0x48cd7f.8203
jmp 0x48cde8
cmp ecx, 0xa0
je 0x48cde8
cmp ecx, 0x1680
jne case.0x48cd7f.8203
jmp 0x48cde8
cmp ecx, 0x202f
ja 0x48cd86
je 0x48cde8
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x48cd7f.8203
movzx eax, byte [eax + 0x48dfa0]
jmp dword [eax*4 + 0x48df98]
cmp ecx, 0x205f
je 0x48cde8
cmp ecx, 0x3000
je 0x48cde8
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48cdb8
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
cmp dword [eax*4 + 0x4b8180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp - 0x10]
jmp 0x48cdf2
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x3c], 0
jne case.0x411054.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48ccc8
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x411054.157
cmp esi, dword [ebx + 0x7c]
jae 0x48c33f
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], ecx
je 0x48ce93
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48ce93
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], ecx
add esi, 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ae650]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48ceb9
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x4a07b8]
movzx eax, byte [eax*8 + 0x4ad2b9]
mov eax, dword [eax*4 + 0x4b8180]
cmp eax, 1
je 0x48cee5
cmp eax, 3
je 0x48cee5
cmp edx, 0x5f
je 0x48cee5
xor eax, eax
jmp 0x48ceea
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48ce42
jmp 0x411197
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x411054.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48cf97
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48cf94
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x44]
lea esi, [esi*4 + 0x4b0850]
mov dword [ebp - 0x2c], esi
mov esi, dword [esi]
mov dword [ebp - 0xc], esi
cmp edx, esi
mov esi, dword [ebp + 8]
jb 0x48cfcb
add dword [ebp - 0x2c], 4
mov ebx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0xc]
je 0x48cffd
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov dword [ebp - 0xc], ecx
cmp edx, ecx
mov ecx, dword [ebp - 8]
jae 0x48cfb0
cmp dword [ebp - 0x3c], 0
je case.0x411054.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48cf40
jmp 0x411197
cmp dword [ebp - 0x3c], 0
jne case.0x411054.157
jmp 0x48cfd5
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x411054.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48c1e4
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48d082
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48d07f
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x10]
cmp edx, 0x24
je 0x48d0ad
cmp edx, 0x40
je 0x48d0ad
cmp edx, 0x60
je 0x48d0ad
cmp edx, 0xa0
jb 0x48d0a1
cmp edx, 0xd7ff
jbe 0x48d0ad
cmp edx, 0xe000
jae 0x48d0ad
xor edx, edx
jmp 0x48d0b2
mov edx, 1
cmp edx, dword [ebp - 0x3c]
je case.0x411054.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48d02b
jmp 0x411197
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x411054.157
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], eax
cmp esi, eax
jae 0x48c33f
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
je 0x48d15b
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48d15b
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
add esi, 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and edx, 0x8000007f
jns 0x48d180
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x4a07b8]
movzx edx, byte [eax*8 + 0x4ad2ba]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x48d247
mov ebx, dword [ebp - 0x1c]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x48d1e2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48d1e2
movzx eax, word [esi + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0xc], 2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ae650]
shl eax, 7
and ecx, 0x8000007f
jns 0x48d204
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x4a07b8]
movzx ecx, byte [eax*8 + 0x4ad2ba]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x4a06dc], eax
je 0x48d23b
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp esi, eax
jb 0x48d1a5
jmp 0x48d23e
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
cmp dword [ebx + 0x8c], 0
je 0x48d270
cmp esi, eax
jb 0x48d270
cmp esi, dword [ebx + 0x88]
jbe 0x48d270
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48d105
jmp 0x411197
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x411877
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x411877
cmp dword [ebx + 0x1c], 1
je case.0x411054.157
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x411054.157
jmp 0x411877
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
jmp 0x41188f
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x4870f1
jmp dword [eax*4 + 0x48dfcc]
cmp edx, 0xd
ja 0x48d342
je 0x48d327
cmp edx, 0xa
je case.0x48d302.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x411054.157
jmp 0x48d359
cmp esi, dword [ebx + 0x7c]
jae case.0x48d302.13
cmp word [esi], 0xa
jne case.0x48d302.13
add esi, 2
jmp case.0x48d302.13
cmp edx, 0x85
je 0x48d359
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x411054.157
cmp dword [ebx + 0x6c], 0
jne case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x180e
ja 0x48d3ac
je case.0x411054.157
cmp edx, 0xa0
ja 0x48d39b
je case.0x411054.157
cmp edx, 9
je case.0x411054.157
cmp edx, 0x20
je case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x1680
je case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x205f
ja 0x48d3e3
je case.0x411054.157
cmp edx, 0x2000
jb case.0x48d302.13
cmp edx, 0x200a
jbe case.0x411054.157
cmp edx, 0x202f
je case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x3000
je case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x180e
ja 0x48d438
je case.0x48d302.13
cmp edx, 0xa0
ja 0x48d427
je case.0x48d302.13
cmp edx, 9
je case.0x48d302.13
cmp edx, 0x20
jne case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x1680
jne case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x205f
ja 0x48d46f
je case.0x48d302.13
cmp edx, 0x2000
jb case.0x411054.157
cmp edx, 0x200a
jbe case.0x48d302.13
cmp edx, 0x202f
jne case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x3000
jne case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x85
ja 0x48d4a5
je case.0x411054.157
cmp edx, 0xa
jb case.0x48d302.13
cmp edx, 0xd
jbe case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x2028
jb case.0x48d302.13
cmp edx, 0x2029
jbe case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x85
ja 0x48d4e1
je case.0x48d302.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x411054.157
jmp case.0x48d302.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x100
jae case.0x48d302.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x100
jae case.0x411054.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x100
jae case.0x48d302.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x100
jae case.0x411054.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x100
jae case.0x48d302.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x411054.157
jmp case.0x48d302.13
cmp edx, 0x100
jae case.0x411054.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x411054.157
jmp case.0x48d302.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48d302.13
cmp dword [ebx + 0x18], 0
jne case.0x48d302.13
cmp dword [ebx + 0x1c], 2
jne case.0x48d302.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48d302.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
jmp case.0x48d302.13
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x411054.157
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48c33f
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x48d67f
cmp dword [ebx + 0x18], 0
je 0x48d650
push 0
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040f317
add esp, 0xc
test eax, eax
jne case.0x411054.157
mov ecx, dword [ebp - 0x10]
jmp 0x48d67c
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x48d67c
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48d67c
cmp dword [ebx + 0x1c], 1
je case.0x411054.157
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x411054.157
mov eax, dword [ebp - 0x28]
movzx edx, word [esi]
add eax, 0xfffffffa
add esi, 2
cmp eax, 0xf
ja case.default.0x4870f1
jmp dword [eax*4 + 0x48e00c]
cmp dword [ebx + 0x8c], 0
je case.0x48d691.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48d691.13
cmp dword [ebx + 0x18], 0
jne case.0x48d691.13
cmp dword [ebx + 0x1c], 2
jne case.0x48d691.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48d691.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x486603
jmp case.0x48d691.13
cmp edx, 0xd
ja 0x48d720
je 0x48d705
cmp edx, 0xa
je case.0x48d691.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x411054.157
jmp 0x48d737
cmp esi, dword [ebx + 0x7c]
jae case.0x48d691.13
cmp word [esi], 0xa
jne case.0x48d691.13
add esi, 2
jmp case.0x48d691.13
cmp edx, 0x85
je 0x48d737
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x411054.157
cmp dword [ebx + 0x6c], 0
jne case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x180e
ja 0x48d78a
je case.0x411054.157
cmp edx, 0xa0
ja 0x48d779
je case.0x411054.157
cmp edx, 9
je case.0x411054.157
cmp edx, 0x20
je case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x1680
je case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x205f
ja 0x48d7c1
je case.0x411054.157
cmp edx, 0x2000
jb case.0x48d691.13
cmp edx, 0x200a
jbe case.0x411054.157
cmp edx, 0x202f
je case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x3000
je case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x180e
ja 0x48d816
je case.0x48d691.13
cmp edx, 0xa0
ja 0x48d805
je case.0x48d691.13
cmp edx, 9
je case.0x48d691.13
cmp edx, 0x20
jne case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x1680
jne case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x205f
ja 0x48d84d
je case.0x48d691.13
cmp edx, 0x2000
jb case.0x411054.157
cmp edx, 0x200a
jbe case.0x48d691.13
cmp edx, 0x202f
jne case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x3000
jne case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x85
ja 0x48d883
je case.0x411054.157
cmp edx, 0xa
jb case.0x48d691.13
cmp edx, 0xd
jbe case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x2028
jb case.0x48d691.13
cmp edx, 0x2029
jbe case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0x85
ja 0x48d8bf
je case.0x48d691.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x411054.157
jmp case.0x48d691.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0xff
ja case.0x48d691.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0xff
ja case.0x411054.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0xff
ja case.0x48d691.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0xff
ja case.0x411054.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0xff
ja case.0x48d691.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x411054.157
jmp case.0x48d691.13
cmp edx, 0xff
ja case.0x411054.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x411054.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
je 0x48d60a
jmp 0x411197
mov dword [ebx + 0x9c], 2
jmp 0x41171c
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x411765
cmp word [edi], 0x77
je 0x48d9c9
cmp word [eax], 0x77
jne 0x411765
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x77
je 0x411710
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
mov dword [eax + esi*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x44]
mov dword [eax + esi*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0xc]
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp - 0x28]
mov dword [eax + ecx*4], esi
jmp 0x411765
cmp edx, 0xfffffc1b
jne 0x48da57
movzx eax, word [edi]
mov ecx, 0x81
cmp ax, cx
je 0x48da49
cmp eax, 0x77
jne 0x48da40
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48da32
movzx eax, word [edi + 2]
neg eax
lea edi, [edi + eax*2]
mov eax, dword [ebx + 0xb8]
sub eax, edi
neg eax
sbb eax, eax
and edx, eax
mov eax, edx
jmp 0x411197
mov esi, dword [ebp - 8]
lea eax, [edi + 4]
mov dword [ebx + 0xb4], eax
mov dword [ebx + 0xb0], edx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x4a0710]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, esi
call fcn.00410fd0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x48daae
cmp edi, 0xfffffc19
jne 0x48dac7
cmp dword [ebx + 0xb0], 0
jne 0x48dac7
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0xb0], ecx
mov eax, edi
jmp 0x411197
cmp edi, 0xfffffc1f
jne 0x48dae5
mov edx, dword [ebx + 0x80]
mov ecx, dword [ebp - 0xc]
call fcn.00471f27
test eax, eax
je 0x48dbf8
mov eax, edi
jmp 0x411197
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x4a0710]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, 0xfffffc1c
jmp 0x411197
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x4a0710]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov eax, 0xfffffc1d
jmp 0x411197
lea esi, [edi + 4]
mov dword [ebx + 0xb4], esi
mov dword [ebx + 0xb0], edx
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x4a0710]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00410fd0
add esp, 0x14
cmp eax, 1
je 0x48dba6
cmp eax, 0xfffffc19
jne 0x48dbb5
cmp dword [ebx + 0xb0], 0
jne 0x48dbb5
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0x411197
mov eax, 0xfffffc1d
jmp 0x411197
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x4a0710]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
mov ecx, esi
call fcn.00410fd0
add esp, 0x14
test eax, eax
jne 0x411197
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1e
jmp 0x411197
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x4a0710]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00410fd0
add esp, 0x14
jmp 0x48dc37
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0x411197
mov dword [ebx + 0x80], edi
mov eax, 0xfffffc20
jmp 0x411197
lea esi, [edi + 4]
mov dword [ebx + 0xb4], esi
mov dword [ebx + 0xb0], edx
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x4a0710]
movzx eax, word [edi + 2]
push ebx
push dword [ebp + 0xc]
add ecx, eax
push dword [ebp + 8]
lea edx, [edi + ecx*2]
mov ecx, dword [ebp - 8]
call fcn.00410fd0
add esp, 0x14
cmp eax, 1
je 0x48dc97
cmp eax, 0xfffffc19
jne 0x48dc37
cmp dword [ebx + 0xb0], 0
jne 0x48dc37
jmp 0x48dc31
cmp esi, 0x9f
je 0x411175
cmp dword [ebx + 0xa8], 0
jne 0x411175
cmp dword [ebx + 0x60], 0
jne case.0x411054.157
cmp dword [ebx + 0x64], 0
je 0x411175
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp edi, eax
je case.0x411054.157
jmp 0x411175
mov eax, 0xfffffc19
jmp 0x411197
mov eax, 0xfffffffb
jmp 0x411197
mov eax, 0xffffffeb
jmp 0x411197
inc dword [ebx]
mov eax, 0xfffffff8
jmp 0x411197