Function at 0x40a300
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 0x48326a
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 0x48b879
inc eax
mov dword [ebx], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebx + 8]
jae 0x48b86f
cmp dword [ebx + 0x9c], 2
je 0x48329b
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.0x40a384.98
movzx eax, byte [esi + 0x40ae7c]
jmp dword [eax*4 + 0x40ad30]
cmp esi, 0x88
jae 0x489938
cmp esi, 0x81
je 0x489938
cmp dword [ebx + 0x70], 0
jne 0x40ac56
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
je 0x40ac56
movzx eax, word [edi]
movzx eax, byte [eax + 0x49e560]
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 0x40a340
jmp 0x48b879
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 0x483ec2
mov ecx, 0x81
cmp ax, cx
je 0x483ec2
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp eax, 0x7d
jb 0x40a42b
mov edx, 0x80
cmp ax, dx
jbe 0x489acd
mov edx, 0x82
cmp ax, dx
je 0x489acd
mov edx, 0x85
cmp ax, dx
je 0x40a7d5
mov edx, 0x8a
cmp ax, dx
je 0x40a7d5
mov edx, 0x86
cmp ax, dx
je 0x40a7d5
mov edx, 0x8b
cmp ax, dx
je 0x40a7d5
mov edx, dword [ebp + 0xc]
cmp word [edi], 0x78
jne 0x483f38
mov eax, 0x81
cmp word [esi], ax
je 0x489a9a
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
mov edx, dword [ebp - 8]
mov edi, dword [ebp + 8]
cmp edx, edi
je 0x48b815
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x80], edi
test esi, esi
jne 0x48b85b
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 0x40abae
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 0x485164
cmp eax, 1
jl 0x40ac0c
mov ecx, dword [ebx + 0x7c]
lea esp, [esp]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x40aba5
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 0x48512e
cmp ecx, 0xff
ja 0x485156
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 0x40a681
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 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x40a5ae
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x484e68
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x40a5d0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab10a]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
cmp eax, esi
jae 0x40a669
mov edi, dword [ebp - 0x1c]
mov ebx, eax
movzx ecx, word [ebx]
mov esi, 1
test edi, edi
je 0x40a60f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x484e8d
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x40a631
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x2c]
add eax, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx ecx, byte [eax*8 + 0x4ab10a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49e52c], eax
jne 0x40a74d
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 0x484eb1
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x40a360
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x7c]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x28]
jle 0x40a520
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 0x40a360
test edx, edx
jne 0x489c6e
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
test ecx, ecx
je 0x485240
cmp edx, dword [ebp - 0x18]
jge 0x40a718
mov dword [ebp - 0x2c], 1
cmp eax, dword [ebx + 0x7c]
jae 0x48520e
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x20], ecx
cmp eax, 0xd800
je 0x4851d4
cmp ecx, 0xff
ja 0x485200
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 0x40acd9
cmp dword [ebp - 0x30], 0
jne 0x40a360
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
jmp 0x489c24
lea ebx, [ebx + esi*2]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
cmp ebx, esi
jb 0x40a5f1
jmp 0x40a65d
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
cmp dword [ebp - 0x1c], edx
je 0x48565a
movzx esi, word [edi + 2]
add edi, 2
mov eax, esi
and eax, 0xfc00
mov edx, 1
cmp eax, 0xd800
je 0x4855aa
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp esi, 0x80
jae 0x4855ce
cmp ecx, 0xff
ja 0x40a7b7
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.0x40a384.157
add edi, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x34], edi
jmp 0x40a360
movzx edx, word [esi + 4]
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x483ed2
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 0x483ef7
mov ecx, dword [ebp + 0xc]
cmp dword [ebp - 0x40], ecx
jg 0x483f07
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 0x40a474
lea edx, [eax + 2]
mov dword [ebp + 0xc], edx
jmp 0x40a474
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x40a886
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x484c33
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x2c]
sar eax, 7
movzx ecx, byte [eax + 0x4ac4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x40a8ac
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [edi + 2]
movzx ecx, word [ecx*2 + 0x49e608]
cmp eax, 9
jne 0x484c5b
movzx eax, word [edi + 4]
mov ecx, dword [eax*4 + 0x4ae6a0]
lea eax, [eax*4 + 0x4ae6a0]
cmp edx, ecx
jb 0x484e5a
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0x40a8f2
mov ecx, dword [eax]
cmp edx, ecx
jae 0x40a8e0
jmp 0x484e5a
cmp esi, 0x10
jne case.0x40a384.157
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x40a360
cmp dword [ebp - 0x1c], edx
je 0x48557b
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 0x40ad1e
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp esi, eax
jg 0x489eca
test esi, esi
jle 0x40a360
mov edi, edi
mov cx, word [edi]
mov ax, word [edx]
add edx, 2
add edi, 2
dec esi
mov dword [ebp - 8], edx
mov dword [ebp - 0x34], edi
cmp cx, ax
jne case.0x40a384.157
test esi, esi
jle 0x40a360
jmp 0x40a950
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.0x40a384.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 0x48b50a
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 + 0x49e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040a300
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x48b561
cmp edx, 0xfffffc20
je 0x48b519
test edx, edx
je 0x48b53e
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 0x40ad28
mov edx, 1
movsx ecx, byte [eax + 0x49e47c]
movsx eax, byte [eax + 0x49e520]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x40aa63
mov dword [ebp - 0x24], SysAllocStringLen
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], edi
cmp eax, 0x10
je 0x48650e
cmp eax, 0xf
je 0x486505
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x48652a
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 0x40a360
test edx, edx
mov edx, dword [ebp - 0x2c]
je 0x487d66
test edx, edx
jns 0x48a2e0
cmp dword [ebp - 0x28], 0x16
mov edx, edi
je 0x48ac56
test eax, eax
mov eax, dword [ebp + 0x18]
je 0x48b15e
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov esi, dword [ebp - 8]
lea ecx, [ecx]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x40a384.157
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x489eb2
cmp dword [ebp - 0x28], 0xc
jne 0x40ab37
cmp dword [ebx + 0x18], 0
je 0x48ae0f
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.00408ffe
add esp, 0xc
test eax, eax
jne case.0x40a384.157
mov ecx, dword [ebp - 0x10]
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
je 0x48ae48
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x48ae69
cmp dword [ebx + 0x8c], 0
jne 0x48b11c
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
jmp 0x40aaf0
cmp dword [ebx + 0x8c], edx
je case.0x40a384.157
jmp 0x489c19
cmp dword [ebx + 0x8c], 0
jmp 0x40ab9a
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x40abc1
movzx eax, byte [eax + 0x40af28]
jmp dword [eax*4 + 0x40af20]
mov ecx, dword [ebp - 0xc]
add ecx, 0xffffff9e
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jb 0x40accd
mov dword [ebp - 0x30], 1
movsx eax, byte [ecx + 0x49e47c]
movsx ecx, byte [ecx + 0x49e520]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x40a4fb
mov dword [ebp - 0x18], SysAllocStringLen
jmp 0x40a4fb
mov eax, dword [ebp - 8]
jmp 0x40a69a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je case.0x40a384.119
mov dword [ebp - 0x34], edi
jmp 0x40a360
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
jmp 0x483bb0
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 + 0x49e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040a300
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x489947
test edx, edx
jne 0x48b58b
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.0x40a384.157
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
jmp case.0x40a384.129
test cl, 1
jne 0x40ad14
xor edx, edx
jmp 0x40abe4
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 0x40a718
jmp 0x40a6c4
mov dword [ebp - 0x20], edx
jmp 0x483c44
add edi, 2
jmp 0x483c09
mov eax, dword [ebp - 8]
jmp 0x483fd0
mov esi, dword [ebp - 0x1c]
jmp 0x4845e5
mov edx, 1
jmp 0x40abe4
mov esi, 2
jmp 0x40a934
xor edx, edx
jmp 0x40aa41
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x48328c
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.0040a300
add esp, 0x14
jmp 0x40a4c7
sub ecx, eax
test ecx, ecx
jle 0x483294
neg ecx
mov eax, ecx
jmp 0x40a4c7
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 0x40a360
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x489973
movzx eax, word [edi]
movzx ecx, byte [eax + 0x49e560]
movzx eax, word [edi + 2]
add ecx, eax
lea edi, [edi + ecx*2]
mov dword [ebp - 0x34], edi
jmp 0x40a360
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.0040a300
add esp, 0x14
cmp eax, 1
je 0x48336a
cmp eax, 0xfffffc20
jne 0x483347
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x40a4c7
cmp word [edi], 0x77
je 0x48334f
cmp word [ecx], 0x77
jne 0x40a4c7
jmp 0x48334f
test eax, eax
jne 0x40a4c7
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 0x4832fb
mov ecx, dword [ebp + 8]
jmp 0x483373
mov ecx, dword [ebx + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [edi]
mov edx, 0x82
cmp ax, dx
je 0x483389
cmp eax, 0x77
jne case.0x40a384.157
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x483389
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 0x485d9a
cmp eax, dword [ebp - 0x14]
jne 0x489765
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
movzx ecx, word [edi + 2]
add edi, 4
mov dword [ebp - 0x28], ecx
cmp word [edi], 0x76
jne 0x4834aa
cmp dword [0x4c330c], edx
je 0x4834a1
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 0x48346e
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 [0x4c330c]
add esp, 4
test eax, eax
jg case.0x40a384.157
js 0x40a4c7
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.0x4834c3
jmp dword [eax*4 + 0x48b886]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x48366a
movzx eax, word [edi + 2]
cmp eax, 0xffff
je 0x483569
cmp eax, dword [ecx + 4]
je 0x483569
xor edx, edx
jmp 0x48366a
mov eax, dword [ebx + 0xa8]
test eax, eax
je case.0x4834c3.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 0x48366a
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 0x483569
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 0x483531
jmp 0x48366a
movzx edx, word [edi + 2]
add edx, edx
mov dword [ebp - 0x40], edx
cmp edx, dword [ebp + 0xc]
jge 0x48357d
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jl 0x48357d
mov eax, dword [ebp - 0x14]
mov edx, 1
movzx ecx, byte [eax + 0x49e560]
jmp case.0x4834c3.145
xor edx, edx
jmp case.0x4834c3.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 0x48366a
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 0x4835ca
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x40]
cmp dword [eax + ebx*4], edx
mov ebx, dword [ebp + 0x10]
jge 0x483569
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 0x4835a8
jmp 0x48366a
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.0040a300
add esp, 0x14
cmp eax, 1
jne 0x483658
mov eax, dword [ebx + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x483617
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 0x483638
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48362a
mov eax, dword [ebp - 0x14]
mov ecx, 2
movzx eax, byte [eax + 0x49e560]
sub ecx, eax
mov eax, dword [ebp - 0x14]
lea edi, [edi + ecx*2]
movzx ecx, byte [eax + 0x49e560]
jmp case.0x4834c3.145
test eax, eax
je 0x483667
cmp eax, 0xfffffc20
jne 0x40a4c7
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
lea edi, [edi + ecx*2]
mov dword [ebp - 0x34], edi
test edx, edx
jne 0x483682
cmp word [edi - 4], 0x77
jne 0x40a360
cmp esi, 0x8c
jne 0x40a3d1
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.0040a300
add esp, 0x14
jmp 0x40a4c7
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 0x4836f1
or eax, 0x10000
add edi, 4
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x34], edi
jmp 0x40a360
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 0x483719
lea eax, [esi + 2]
mov dword [ebp + 0xc], eax
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x483743
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x483745
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.0040a300
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x4837be
cmp ecx, 0xfffffc19
je 0x4837be
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x4837a6
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x483294
cmp word [edi], 0x77
je 0x4837ae
cmp word [eax], 0x77
jne 0x483294
jmp 0x4837ae
test ecx, ecx
jne 0x483294
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x483745
jmp 0x4837c7
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
cmp word [edi], 0x78
je case.0x40a384.157
test esi, esi
jne 0x40a4c2
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x4837d9
mov eax, dword [ebx + 0x90]
add edi, 4
mov dword [ebp - 0x34], edi
mov dword [ebp + 0xc], eax
jmp 0x40a360
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x48381a
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x48381c
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.0040a300
mov ecx, eax
mov eax, dword [ebp - 0xc]
add esp, 0x14
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jg 0x483878
jne 0x48388d
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x4838a8
cmp word [edi], 0x77
je 0x483868
cmp word [eax], 0x77
jne 0x4838a8
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48381c
jmp 0x4838b6
mov eax, ecx
sub eax, 0
je 0x483868
dec eax
je case.0x40a384.157
mov eax, ecx
jmp 0x40a4c7
cmp ecx, 0xfffffc19
je case.0x40a384.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x483294
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x4838a8
test esi, esi
jne 0x40a4c2
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
cmp dword [ebp - 0x1c], edx
je 0x48390d
movzx ecx, word [edi + 2]
test ecx, ecx
jle 0x483927
mov eax, dword [ebp - 8]
sub eax, 2
dec ecx
mov dword [ebp - 8], eax
cmp eax, dword [ebx + 0x78]
jb case.0x40a384.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x483907
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x4838d6
jmp 0x48392a
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.0x40a384.157
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x88]
jae 0x483938
mov dword [ebx + 0x88], eax
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
cmp dword [0x4c330c], edx
je 0x483a12
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 0x4839dc
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 [0x4c330c]
add esp, 4
test eax, eax
jg case.0x40a384.157
js 0x40a4c7
add edi, 8
mov dword [ebp - 0x34], edi
jmp 0x40a360
movzx eax, word [edi + 2]
mov ecx, dword [ebx + 0x74]
lea esi, [ecx + eax*2]
cmp esi, ecx
jne 0x483a2f
xor edx, edx
jmp 0x483a33
movzx edx, word [esi + 4]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x483a5a
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x483a54
cmp eax, dword [ecx + 0x14]
jne 0x483a54
mov eax, 0xffffffe6
jmp 0x40a4c7
mov ecx, dword [ecx]
test ecx, ecx
jne 0x483a40
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 0x483a9a
lea eax, [ebp - 0x154]
mov dword [ebp - 0x54], eax
jmp 0x483ab9
lea eax, [ecx*4]
push eax
call dword [0x4bbddc]
add esp, 4
mov dword [ebp - 0x54], eax
test eax, eax
je 0x489a07
mov ecx, dword [ebp - 0x50]
shl ecx, 2
push ecx
push dword [ebx + 0xc]
push eax
call fcn.0041ee80
mov eax, 0x88
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x483ae5
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 + 0x49e560]
push dword [ebp + 0xc]
lea edx, [esi + eax*2]
push dword [ebp + 8]
call fcn.0040a300
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.0041ee80
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 0x483b82
cmp eax, 0xfffffc19
je 0x483b82
cmp eax, 0xfffffc1c
jl 0x483b57
cmp eax, 0xfffffc20
jle case.0x40a384.157
test eax, eax
jne 0x4899e4
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 0x4899bb
mov eax, dword [ebp - 0x2c]
jmp 0x483ad7
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je 0x483b99
push eax
call dword [0x4bb80c]
add esp, 4
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x40a360
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x483bb0
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
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 0x483bd1
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.0040a300
add esp, 0x14
test eax, eax
je 0x40a360
jmp 0x40a4c7
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x483c09
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
movzx esi, word [edi + 2]
add edi, 2
mov dword [ebp - 0x20], 1
cmp esi, 0x86
je 0x483c44
cmp esi, 0x8b
jne 0x483dc8
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.0x40a384.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 0x483cba
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 + 0x49e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040a300
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x483d25
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 0x483c94
cmp ecx, 0xfffffc20
jne 0x483d52
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x483294
cmp word [edi], 0x77
je 0x483d5a
cmp word [eax], 0x77
jne 0x483294
jmp 0x483d5a
test ecx, ecx
jne 0x483294
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 0x483c94
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x483da4
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 0x485d9a
test eax, eax
je case.0x40a384.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
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 0x483df4
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 + 0x49e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040a300
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x483e52
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 0x483de2
cmp ecx, 0xfffffc20
jne 0x483e7f
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x483294
cmp word [edi], 0x77
je 0x483e87
cmp word [eax], 0x77
jne 0x483294
jmp 0x483e87
test ecx, ecx
jne 0x483294
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
jne 0x483ea3
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x94], eax
jmp 0x483de2
cmp dword [ebp - 0x2c], 0
jne 0x485d9a
cmp dword [ebp - 0x20], 0
je case.0x40a384.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov dword [ebp + 0x14], edx
jmp 0x40a415
cmp dword [eax + 4], edx
jne 0x40a7ed
mov eax, dword [ebp - 8]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x80], eax
mov eax, 1
jmp 0x40a4c7
or eax, 0x10000
mov dword [ebx + 0x94], eax
jmp 0x40a471
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 0x40a81b
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 0x40a81b
mov eax, dword [ebp - 8]
cmp eax, ecx
je 0x40a47e
movzx ecx, word [edi]
cmp ecx, 0x7b
je 0x489a7b
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 0x4897af
mov esi, dword [ebp - 8]
lea edx, [edi + 4]
mov ecx, esi
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov edi, dword [ebp - 0x20]
mov ecx, 0x81
movzx eax, word [edi]
cmp ax, cx
je 0x489a11
mov ecx, 0x88
cmp ax, cx
jb 0x40a3ce
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.0040a300
add esp, 0x14
jmp 0x40a4c7
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x483fd0
cmp eax, dword [ebx + 0x78]
je case.0x40a384.157
cmp eax, dword [ebx + 0x78]
jne case.0x40a384.157
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x40a360
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x483ff5
cmp eax, dword [ebx + 0x78]
je case.0x40a384.157
mov ecx, dword [ebx + 0x78]
cmp eax, ecx
je 0x40a676
cmp eax, dword [ebx + 0x7c]
je case.0x40a384.157
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x484038
cmp eax, ecx
jbe case.0x40a384.157
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0047135c
add esp, 0xc
test eax, eax
je case.0x40a384.157
jmp 0x40a676
mov esi, dword [ebx + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp dword [ebp - 8], eax
jb case.0x40a384.157
mov ecx, dword [ebp - 8]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne case.0x40a384.157
cmp esi, 1
je 0x40a676
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
jne case.0x40a384.157
jmp 0x40a676
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp dword [ebp - 8], eax
jne case.0x40a384.157
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x40a360
mov eax, dword [ebp - 8]
add edi, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x34], edi
jmp 0x40a360
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x48416e
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x484137
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00408ffe
add esp, 0xc
test eax, eax
jne 0x40a676
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x40a384.157
add eax, 2
cmp eax, dword [ebx + 0x7c]
jb case.0x40a384.157
cmp dword [ebx + 0x18], 0
jne case.0x40a384.157
cmp dword [ebx + 0x1c], 2
jne case.0x40a384.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne case.0x40a384.157
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x40a384.157
mov eax, 0xfffffff4
jmp 0x40a4c7
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4840dc
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x4840d9
cmp edx, 1
je 0x40a676
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x4840d9
jmp 0x40a676
cmp dword [ebx + 0x4c], edx
jne case.0x40a384.157
cmp dword [ebx + 0x8c], edx
jmp 0x484186
cmp dword [ebx + 0x8c], 0
je 0x40a676
cmp eax, dword [ebx + 0x88]
jbe 0x40a676
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x40a360
cmp dword [ebx + 0x4c], edx
jne case.0x40a384.157
cmp dword [ebx + 0x5c], edx
je case.0x40a384.23
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jb case.0x40a384.157
cmp dword [ebx + 0x8c], edx
jmp 0x484186
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x48417f
mov edx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
test edx, edx
je 0x484201
push dword [ebp - 0x1c]
push esi
push ecx
mov ecx, eax
call fcn.00408ffe
add esp, 0xc
test eax, eax
jne 0x484236
jmp 0x4840d9
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4840dc
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x4840d9
cmp edx, 1
je 0x484236
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x4840d9
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 0x4840dc
jmp 0x48417f
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x1c], edx
je 0x484401
cmp eax, dword [ebx + 0x78]
je 0x484339
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x484280
sub edx, 2
cmp edx, dword [ebx + 0x88]
jae 0x48428e
mov dword [ebx + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4842b9
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 0x48431b
cmp ecx, 0x5f
jne 0x4842cc
mov eax, dword [ebp - 8]
lea esi, [ecx - 0x5e]
jmp 0x48433b
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4842ee
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x484311
cmp eax, 3
jne 0x484336
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x48433b
cmp ecx, 0x100
jae 0x484336
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x484336
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x48433b
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x4843a3
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48436e
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 0x4843ea
cmp ecx, 0x5f
je 0x48452a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
js 0x4844d6
jmp 0x4844db
cmp dword [ebx + 0x8c], 0
je 0x4843c8
cmp eax, dword [ebx + 0x88]
jbe 0x4843c8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
xor ecx, ecx
mov ax, word [edi]
add edi, 2
mov dword [ebp - 0x34], edi
cmp ax, 5
jne 0x484534
cmp ecx, esi
jne 0x40a360
jmp case.0x40a384.157
cmp ecx, 0x100
jae 0x4843c8
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne 0x48452a
jmp 0x4843c8
cmp eax, dword [ebx + 0x78]
je 0x4844a0
cmp eax, dword [ebx + 0x88]
ja 0x48441e
add eax, 0xfffffffe
mov dword [ebx + 0x88], eax
mov eax, dword [ebp - 8]
movzx ecx, word [eax - 2]
cmp dword [ebx + 0x58], edx
je 0x484480
cmp ecx, 0x5f
jne 0x484431
lea esi, [ecx - 0x5e]
jmp 0x4844a2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x484453
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x484476
cmp eax, 3
jne 0x48449d
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x4844a2
mov edx, 0xff
cmp cx, dx
ja 0x4844a0
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x48449d
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x4844a2
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x4843a3
cmp dword [ebx + 0x58], 0
je 0x48450a
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x48452a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4844db
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x48452a
cmp eax, 3
jne 0x4843c8
lea ecx, [eax - 2]
jmp 0x4843ca
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x4843c8
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x4843c8
mov ecx, 1
jmp 0x4843ca
cmp ecx, esi
je 0x40a360
jmp case.0x40a384.157
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x7c]
test edx, edx
je 0x484570
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x1c]
cmp eax, ecx
jae 0x4845a8
push esi
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00408ffe
add esp, 0xc
test eax, eax
jne case.0x40a384.157
jmp 0x4845a5
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4845a2
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x4845a2
cmp edx, 1
je case.0x40a384.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
je case.0x40a384.157
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je 0x4845e8
add eax, 2
cmp eax, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
jb 0x4845e8
cmp dword [ebx + 0x18], 0
jne 0x4845e8
cmp dword [ebx + 0x1c], 2
jne 0x4845e8
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x4845e5
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + 0x7c]
cmp eax, ecx
jae 0x40aba5
add eax, 2
mov dword [ebp - 8], eax
test esi, esi
je 0x40a676
cmp eax, ecx
jae 0x40a676
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x40a676
add dword [ebp - 8], 2
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
add eax, 2
mov dword [ebp - 8], eax
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x48468a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48468a
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 0x40a676
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x40a384.157
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4846f0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4846f0
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.0x40a384.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x40a384.157
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x484756
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x484756
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 0x40a676
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x40a384.157
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4847bc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4847bc
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.0x40a384.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x40a384.157
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x484822
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x484822
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 0x40a676
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x40a384.157
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x484888
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x484888
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.0x40a384.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x40a384.157
jmp 0x40a676
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x40aba5
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], eax
je 0x4848f4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x4848f4
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
cmp ecx, 0xd
ja 0x484960
je 0x484915
cmp ecx, 0xa
je 0x40a676
jbe case.0x40a384.157
cmp ecx, 0xc
ja case.0x40a384.157
jmp 0x484977
cmp eax, edx
jb 0x48494b
cmp dword [ebx + 0x8c], 0
je 0x40a676
cmp eax, dword [ebx + 0x88]
jbe 0x40a676
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
jmp 0x40a676
cmp word [eax], 0xa
jne 0x40a676
add eax, 2
mov dword [ebp - 8], eax
jmp 0x40a676
cmp ecx, 0x85
je 0x484977
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40a384.157
cmp dword [ebx + 0x6c], 0
jne case.0x40a384.157
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4849ce
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4849ce
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 0x484a12
je case.0x40a384.157
cmp ecx, 0xa0
ja 0x484a01
je case.0x40a384.157
cmp ecx, 9
je case.0x40a384.157
cmp ecx, 0x20
je case.0x40a384.157
jmp 0x40a676
cmp ecx, 0x1680
je case.0x40a384.157
jmp 0x40a676
cmp ecx, 0x205f
ja 0x484a49
je case.0x40a384.157
cmp ecx, 0x2000
jb 0x40a676
cmp ecx, 0x200a
jbe case.0x40a384.157
cmp ecx, 0x202f
je case.0x40a384.157
jmp 0x40a676
cmp ecx, 0x3000
je case.0x40a384.157
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x484aa2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x484aa2
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 0x484ae6
je 0x40a676
cmp ecx, 0xa0
ja 0x484ad5
je 0x40a676
cmp ecx, 9
je 0x40a676
cmp ecx, 0x20
jne case.0x40a384.157
jmp 0x40a676
cmp ecx, 0x1680
jne case.0x40a384.157
jmp 0x40a676
cmp ecx, 0x205f
ja 0x484b1d
je 0x40a676
cmp ecx, 0x2000
jb case.0x40a384.157
cmp ecx, 0x200a
jbe 0x40a676
cmp ecx, 0x202f
jne case.0x40a384.157
jmp 0x40a676
cmp ecx, 0x3000
jne case.0x40a384.157
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x484b76
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x484b76
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 0x484b9b
je case.0x40a384.157
cmp ecx, 0xa
jb 0x40a676
cmp ecx, 0xd
jbe case.0x40a384.157
jmp 0x40a676
cmp ecx, 0x2028
jb 0x40a676
cmp ecx, 0x2029
jbe case.0x40a384.157
jmp 0x40a676
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x484c00
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x484c00
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 0x484c1f
je 0x40a676
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x40a384.157
jmp 0x40a676
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40a384.157
jmp 0x40a676
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 0x40a886
cmp eax, 0xa
ja case.default.0x484c64
jmp dword [eax*4 + 0x48b89a]
mov al, byte [ecx*8 + 0x4ab109]
cmp al, 9
je 0x484c90
cmp al, 5
je 0x484c90
cmp al, 8
je 0x484c90
xor ecx, ecx
jmp 0x484cac
cmp esi, 0xf
je case.0x40a384.157
jmp 0x40a8fb
mov ecx, 1
jmp 0x484cac
movzx eax, byte [ecx*8 + 0x4ab109]
xor ecx, ecx
cmp dword [eax*4 + 0x4b6180], 6
sete cl
xor eax, eax
cmp esi, 0xf
sete al
cmp ecx, eax
je case.0x40a384.157
jmp 0x40a8fb
movzx ecx, byte [ecx*8 + 0x4ab109]
movzx eax, word [edi + 4]
xor edx, edx
cmp eax, dword [ecx*4 + 0x4b6180]
setne dl
xor eax, eax
cmp esi, 0x10
sete al
cmp edx, eax
je case.0x40a384.157
jmp 0x40a8fb
movzx eax, byte [ecx*8 + 0x4ab109]
jmp 0x484d00
movzx eax, byte [ecx*8 + 0x4ab108]
xor ecx, ecx
cmp word [edi + 4], ax
setne cl
xor eax, eax
cmp esi, 0x10
sete al
cmp ecx, eax
je case.0x40a384.157
jmp 0x40a8fb
movzx eax, byte [ecx*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x484c90
cmp eax, 3
je 0x484c90
xor ecx, ecx
jmp 0x484cac
cmp edx, 0x180e
ja 0x484d9f
je case.0x484c64.0
cmp edx, 0x85
ja 0x484d82
je case.0x484c64.0
cmp edx, 9
jb case.0x484dc3.8203
cmp edx, 0xd
jbe case.0x484c64.0
cmp edx, 0x20
je case.0x484c64.0
jmp case.0x484dc3.8203
cmp edx, 0xa0
je case.0x484c64.0
cmp edx, 0x1680
je case.0x484c64.0
jmp case.0x484dc3.8203
cmp edx, 0x202f
ja 0x484dca
je case.0x484c64.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x484dc3.8203
movzx eax, byte [edx + 0x48b8ce]
jmp dword [eax*4 + 0x48b8c6]
cmp edx, 0x205f
je case.0x484c64.0
cmp edx, 0x3000
je case.0x484c64.0
jmp case.0x484dc3.8203
movzx eax, byte [ecx*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x484c90
cmp eax, 3
je 0x484c90
cmp edx, 0x5f
je 0x484c90
xor ecx, ecx
jmp 0x484cac
cmp edx, 0x24
je 0x484c90
cmp edx, 0x40
je 0x484c90
cmp edx, 0x60
je 0x484c90
cmp edx, 0xa0
jb 0x484e47
cmp edx, 0xd7ff
jbe 0x484c90
cmp edx, 0xe000
jae 0x484c90
xor ecx, ecx
jmp 0x484cac
cmp esi, 0x10
je case.0x40a384.157
jmp 0x40a8fb
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 0x40a5ae
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov esi, 2
jmp 0x40a60f
cmp eax, esi
jb 0x40a676
jmp 0x48418c
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 0x484f11
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 0x484f0a
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x40]
cmp dword [eax + ebx*4], 0
mov ebx, dword [ebp + 0x10]
jge 0x484f12
mov eax, dword [ebp + 0xc]
lea ecx, [ecx + esi*2]
test edx, edx
jg 0x484ee8
dec edx
test edx, edx
jns 0x484f48
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.0x484f41
movzx eax, byte [eax + 0x48b902]
jmp dword [eax*4 + 0x48b8fa]
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 0x484f23
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 0x484f19
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + esi*4]
test edx, edx
js 0x484f19
mov esi, dword [eax + esi*4 + 4]
sub esi, edx
jmp 0x484f23
mov eax, dword [ebp - 0xc]
add eax, 0xffffff9e
movzx ecx, al
movsx edx, byte [eax + 0x49e520]
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x49e47c]
add edi, 2
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x484fed
mov edx, SysAllocStringLen
mov dword [ebp - 0x18], edx
jmp 0x484fed
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 0x484fe7
mov edx, SysAllocStringLen
mov dword [ebp - 0x18], edx
add edi, 6
mov dword [ebp - 0x34], edi
test esi, esi
je 0x40a360
jns 0x484fff
test ecx, ecx
je 0x40a360
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, 1
jl 0x485044
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push esi
mov edx, eax
call fcn.004710c1
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x489bf6
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 0x48500e
mov edx, dword [ebp - 0x18]
cmp ecx, edx
je 0x40a360
cmp dword [ebp - 0xc], 0
je 0x489b47
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], eax
jge case.0x40a384.157
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push dword [ebp - 0x14]
mov edx, esi
call fcn.004710c1
add esp, 0xc
test eax, eax
js 0x489b21
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.0040a300
add esp, 0x14
test eax, eax
je 0x48507c
jmp 0x40a4c7
mov edx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0x40]
push ebx
push esi
call fcn.004710c1
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x489bf6
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x40a360
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 0x485123
mov dword [ebp - 0x18], SysAllocStringLen
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x40a4fb
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 0x40a549
cmp esi, 0x6e
je case.0x40a384.157
jmp 0x40a681
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x40a69a
mov ecx, dword [ebp - 0x28]
cmp eax, dword [ebx + 0x7c]
jae 0x40aba5
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 0x48519e
cmp esi, 0x6e
je case.0x40a384.157
jmp 0x4851c7
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.0x40a384.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x485173
jmp 0x40a697
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 0x40a6ec
cmp esi, 0x6e
je 0x40a718
jmp 0x40acd9
cmp dword [ebx + 0x8c], 0
je 0x40a718
cmp eax, dword [ebx + 0x88]
jbe 0x40a718
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
jmp 0x40a718
cmp edx, dword [ebp - 0x18]
jge 0x4852b1
cmp eax, dword [ebx + 0x7c]
jae 0x48528c
movzx ecx, word [eax]
mov dword [ebp - 0x14], ecx
cmp ecx, 0xff
jbe 0x48525f
cmp esi, 0x6e
jne 0x48527e
jmp 0x4852b1
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 0x4852b1
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x485245
jmp 0x4852b1
cmp dword [ebx + 0x8c], 0
je 0x4852b1
cmp eax, dword [ebx + 0x88]
jbe 0x4852b1
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
cmp dword [ebp - 0x30], 0
jne 0x40a360
cmp eax, dword [ebp - 0x24]
jb case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
sub esi, 2
cmp esi, dword [ebp - 0x24]
jae 0x4852c7
jmp 0x40a4c7
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.0x485320
movzx eax, byte [eax + 0x48b912]
jmp dword [eax*4 + 0x48b90a]
lea ecx, [esi - 0x62]
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jae 0x485343
mov eax, dword [ebp - 0x30]
movzx edx, cl
and edx, 1
mov dword [ebp - 0x38], edx
jmp 0x48534b
mov eax, 1
mov dword [ebp - 0x30], eax
movsx esi, byte [esi + 0x49e4be]
movsx ecx, byte [ecx + 0x49e47c]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
test esi, esi
jne 0x4853b2
mov esi, SysAllocStringLen
jmp 0x4853af
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 0x48539a
mov esi, SysAllocStringLen
mov dword [ebp - 0x20], esi
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x4853b2
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 0x485439
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40aba5
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 0x48540c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48540c
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 0x48540f
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00471415
add esp, 4
test eax, eax
je case.0x40a384.157
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, ecx
jle 0x4853be
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
cmp ecx, esi
je 0x40a360
mov esi, dword [ebp - 8]
test edx, edx
jne 0x489dff
mov dword [ebp - 0xc], esi
cmp ecx, dword [ebp - 0x20]
jge 0x485500
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], 1
cmp eax, dword [ebx + 0x7c]
jae 0x4854d5
movzx edx, word [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov esi, eax
test ecx, ecx
je 0x4854a6
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4854a6
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 0x4854a9
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00471415
add esp, 4
test eax, eax
je 0x4854fd
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 0x485458
jmp 0x4854fa
cmp dword [ebx + 0x8c], 0
je 0x4854fa
cmp eax, dword [ebx + 0x88]
jbe 0x4854fa
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x40a360
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0xc]
je case.0x40a384.157
cmp dword [ebp - 0x1c], 0
je 0x485557
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x485557
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.0040a300
add esp, 0x14
test eax, eax
je 0x48552b
jmp 0x40a4c7
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x489eeb
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [edi + 2], ax
jne case.0x40a384.157
add edi, 4
jmp 0x40a679
movzx eax, word [edi + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
add esi, 0x10000
mov edx, 2
jmp 0x40a796
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
jne 0x485608
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 0x40a360
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ac4a0]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x485639
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e608]
mov eax, dword [eax*8 + 0x4ab10c]
add eax, esi
cmp dword [ebp - 0x2c], eax
je 0x40a360
jmp case.0x40a384.157
movzx ecx, word [edi + 2]
mov edx, 0xff
cmp cx, dx
ja 0x485674
mov eax, dword [ebx + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x485676
mov edx, ecx
movzx ecx, word [eax]
mov esi, 0xff
cmp cx, si
ja 0x48568d
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x40a384.157
add eax, 2
mov dword [ebp - 8], eax
add edi, 4
jmp 0x40a679
movzx eax, word [edi + 2]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], eax
add edi, 4
jmp 0x485765
mov dword [ebp - 0x30], 1
movzx eax, word [edi + 2]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp ecx, 0x28
je 0x4856dd
cmp ecx, 0x35
je 0x4856dd
xor edx, edx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x485765
mov edx, 1
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x485765
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], SysAllocStringLen
add edi, 2
jmp 0x485768
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], SysAllocStringLen
add edi, 2
jmp 0x485768
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], ecx
add edi, 2
jmp 0x485768
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 + 0x49e47c]
mov dword [ebp - 0x28], eax
movsx eax, byte [ecx + 0x49e520]
and edx, 1
add edi, 2
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x485765
mov dword [ebp - 0x18], SysAllocStringLen
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4859ee
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 0x4857b8
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 0x4857bd
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 0x4859ff
cmp esi, 0x2e
jb 0x48582f
mov esi, dword [ebp - 0x24]
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ac4a0]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x4857ff
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e608]
mov ecx, dword [eax*8 + 0x4ab10c]
add ecx, esi
cmp ecx, esi
je 0x485829
lea edx, [ebp - 0x70]
call fcn.00471819
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
jmp 0x485836
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 0x48584d
mov eax, dword [ebp - 8]
jmp 0x4858d0
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x48587e
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.0041f563
add esp, 0xc
test eax, eax
jne 0x48587b
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
jmp 0x4858bf
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x489f05
lea eax, [edx + edx]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x20]
cmp ecx, eax
ja 0x489f05
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x70]
push eax
push ecx
call fcn.0041f563
add esp, 0xc
test eax, eax
jne 0x489f02
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 0x48584d
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
cmp esi, dword [ebp - 0x18]
je 0x40a360
test edx, edx
jne 0x489f20
mov edx, eax
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x18]
jge 0x48598a
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x48591a
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.0041f563
add esp, 0xc
test eax, eax
jne 0x485917
mov eax, dword [ebp - 0x14]
jmp 0x485949
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x485954
lea eax, [edx + edx]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0xc]
cmp ecx, eax
ja 0x485954
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x70]
push eax
push ecx
call fcn.0041f563
add esp, 0xc
test eax, eax
jne 0x485954
mov eax, dword [ebp - 0xc]
add dword [ebp - 8], eax
inc esi
cmp esi, dword [ebp - 0x18]
jl 0x4858ef
jmp 0x485981
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x485984
cmp eax, dword [ebx + 0x7c]
jb 0x485981
cmp eax, dword [ebx + 0x88]
jbe 0x485981
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x40a360
cmp eax, edx
je 0x40a3d1
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
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 0x4859e5
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x4859a0
jmp 0x40a3d1
movzx ebx, word [edi]
add edi, 2
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
jmp 0x485a02
mov eax, dword [ebp - 0x1c]
cmp esi, 0x2e
jb 0x485b69
mov esi, dword [ebp - 0x24]
test eax, eax
je 0x485a58
cmp esi, 0x7f
jbe 0x485a58
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ac4a0]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x485a3a
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x38]
add ecx, eax
movzx eax, word [ecx*2 + 0x49e608]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x4ab10c]
add eax, esi
mov dword [ebp - 0x10], eax
jmp 0x485a6f
cmp esi, 0xff
ja 0x485a6c
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + esi]
mov dword [ebp - 0x10], eax
jmp 0x485a6f
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp esi, 1
jl 0x485ab2
cmp eax, dword [ebx + 0x7c]
jae 0x40aba5
movzx ebx, word [eax]
cmp dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
je 0x485aa4
movzx ebx, word [eax]
cmp dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
jne case.0x40a384.157
inc dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], esi
jle 0x485a81
cmp esi, dword [ebp - 0x18]
je 0x40a360
test edx, edx
jne 0x489fe8
mov edx, eax
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x18]
jge 0x485b20
mov edx, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x7c]
jae 0x485af8
movzx ebx, word [eax]
cmp edx, ebx
mov ebx, dword [ebp + 0x10]
je 0x485aea
movzx ebx, word [eax]
cmp dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
jne 0x485b1d
add eax, 2
inc esi
mov dword [ebp - 8], eax
cmp esi, dword [ebp - 0x18]
jl 0x485ad0
jmp 0x485b1d
cmp dword [ebx + 0x8c], 0
je 0x485b1d
cmp eax, dword [ebx + 0x88]
jbe 0x485b1d
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x40a360
cmp eax, edx
je 0x40a3d1
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.0040a300
mov ecx, dword [ebp - 8]
sub ecx, 2
add esp, 0x14
mov dword [ebp - 8], ecx
test eax, eax
jne 0x40a4c7
cmp ecx, esi
jne 0x485b36
jmp 0x40a3d1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], 1
cmp eax, 1
jge 0x485b7d
mov esi, dword [ebp - 8]
jmp 0x485ba9
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40aba5
movzx eax, word [eax]
mov esi, dword [ebp - 8]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x24], eax
jne case.0x40a384.157
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x14], eax
jle 0x485b7d
cmp eax, dword [ebp - 0x18]
je 0x40a360
test edx, edx
jne 0x48a05f
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
mov esi, eax
mov dword [ebp - 0x20], esi
cmp edx, dword [ebp - 0x18]
jge 0x485bec
mov esi, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x7c]
jae 0x485c32
movzx eax, word [eax]
cmp esi, eax
jne 0x485be6
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc edx
cmp edx, dword [ebp - 0x18]
jl 0x485bcd
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
test ecx, ecx
jne 0x40a360
cmp eax, esi
je 0x40a3d1
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.0040a300
mov ecx, dword [ebp - 8]
sub ecx, 2
add esp, 0x14
mov dword [ebp - 8], ecx
test eax, eax
jne 0x40a4c7
cmp ecx, esi
jne 0x485bff
jmp 0x40a3d1
cmp dword [ebx + 0x8c], 0
je 0x485be9
cmp eax, dword [ebx + 0x88]
jbe 0x485be9
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
jmp 0x485be9
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
cmp dword [ebp - 0x1c], edx
je 0x485d69
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 0x485cab
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 0x485cec
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 0x485cfe
cmp edx, ecx
jne 0x40a360
jmp case.0x40a384.157
cmp edx, 0x7f
jbe 0x485d41
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ac4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x485d29
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e608]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax*8 + 0x4ab10c]
add eax, edx
jmp 0x485d54
cmp edx, 0xff
ja 0x485d52
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
jmp 0x485d54
mov eax, edx
cmp edx, ecx
je case.0x40a384.157
cmp eax, ecx
jne 0x40a360
jmp case.0x40a384.157
movzx edx, word [eax]
movzx ecx, word [edi + 2]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x40a384.157
cmp esi, 0x20
jne 0x485d9a
cmp ecx, 0xff
ja 0x485d92
mov eax, dword [ebx + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x40a384.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
movzx eax, word [edi + 2]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], eax
add edi, 4
jmp 0x485e87
movzx edx, word [edi + 2]
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], edx
cmp ecx, 0x42
je 0x485dda
cmp ecx, 0x4f
je 0x485dda
xor edx, edx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x485e87
mov edx, 1
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x485e87
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], SysAllocStringLen
add edi, 2
jmp 0x485e8a
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], SysAllocStringLen
add edi, 2
jmp 0x485e8a
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 0x485e8a
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 0x485e8a
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 + 0x49e47c]
movsx ecx, byte [ecx + 0x49e520]
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 0x485e87
mov dword [ebp - 0x10], SysAllocStringLen
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 0x485ed8
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485ed5
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 0x4861f3
test esi, esi
je 0x485f36
cmp dword [ebp - 0x18], 0x7f
jbe 0x485f36
mov eax, dword [ebp - 0x18]
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 7
movzx ecx, byte [eax + 0x4ac4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x485f15
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e608]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x4ab10c]
add eax, edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
jmp 0x485f60
cmp dword [ebp - 0x18], 0xff
mov ebx, dword [ebp + 0x10]
ja 0x485f57
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 0x485f60
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xc], 1
test esi, esi
je 0x485fe9
cmp eax, 1
jl 0x486027
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40aba5
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 0x485fc1
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.0x40a384.157
mov esi, dword [ebp - 0x20]
cmp esi, ebx
je case.0x40a384.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x485f74
jmp 0x48602a
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x48602a
cmp eax, dword [ebx + 0x7c]
jae 0x40aba5
movzx esi, word [eax]
cmp dword [ebp - 0x18], esi
je case.0x40a384.157
movzx ebx, word [eax]
cmp dword [ebp - 0x20], ebx
je case.0x40a384.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 0x485ff1
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
cmp dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x1c]
je 0x40a360
test edx, edx
jne 0x48a0ce
mov edx, eax
mov dword [ebp - 0x28], edx
test esi, esi
je 0x486152
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x10]
jge 0x4860c4
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x486128
movzx eax, word [eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x38], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4860a0
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 0x4860a3
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x18], eax
je 0x4860be
cmp dword [ebp - 0x20], eax
je 0x4860be
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 0x486056
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
test ecx, ecx
jne 0x40a360
cmp eax, edx
je 0x40a3d1
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
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 0x48611f
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x4860da
jmp 0x40a3d1
cmp dword [ebx + 0x8c], 0
je 0x4860c1
cmp eax, dword [ebx + 0x88]
jbe 0x4860c1
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
jmp 0x4860c1
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x10]
jge 0x4861aa
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x486185
movzx ebx, word [eax]
cmp esi, ebx
mov ebx, dword [ebp + 0x10]
je 0x4861aa
movzx esi, word [eax]
cmp dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x18]
je 0x4861aa
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x10]
jl 0x48615d
jmp 0x4861aa
cmp dword [ebx + 0x8c], 0
je 0x4861aa
cmp eax, dword [ebx + 0x88]
jbe 0x4861aa
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
test ecx, ecx
jne 0x40a360
mov esi, dword [ebp - 0x28]
cmp eax, esi
je 0x40a3d1
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x4861c0
jmp 0x40a3d1
mov dword [ebp - 0xc], 1
test esi, esi
je 0x486279
mov ebx, dword [ebp + 0x10]
cmp eax, 1
jl 0x4862ab
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40aba5
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 0x486259
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.0x40a384.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x48620a
jmp 0x4862ae
cmp eax, 1
jl 0x4862ab
mov esi, dword [ebp - 8]
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x18], eax
je case.0x40a384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x24]
jle 0x486281
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 0x40a360
test edx, edx
jne 0x48a1e0
mov edx, eax
mov dword [ebp - 0x20], edx
test esi, esi
je 0x4863d1
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x10]
jge 0x486343
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x4863a7
movzx eax, word [eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486324
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 0x486327
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x18], eax
je 0x48633d
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 0x4862da
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x40a360
cmp eax, edx
je 0x40a3d1
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
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 0x48639e
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x486359
jmp 0x40a3d1
cmp dword [ebx + 0x8c], 0
je 0x486340
cmp eax, dword [ebx + 0x88]
jbe 0x486340
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
jmp 0x486340
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x10]
jge 0x4863f8
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x486441
movzx eax, word [eax]
cmp esi, eax
je 0x4863f5
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc edx
cmp edx, dword [ebp - 0x10]
jl 0x4863dc
mov eax, dword [ebp - 8]
test ecx, ecx
jne 0x40a360
mov esi, dword [ebp - 0x20]
cmp eax, esi
je 0x40a3d1
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48640e
jmp 0x40a3d1
cmp dword [ebx + 0x8c], 0
je 0x4863f8
cmp eax, dword [ebx + 0x88]
jbe 0x4863f8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x4863f8
mov eax, 0xfffffff4
jmp 0x40a4c7
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 0x40aa63
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 0x40aa63
xor ecx, ecx
mov esi, 1
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x40aa5c
mov esi, 1
mov ecx, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x40aa5c
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 0x40aa63
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 0x40aa63
mov dword [ebp - 0x3c], 1
jmp 0x486515
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 0x40aa84
test eax, eax
js 0x486d59
cmp eax, 0xa
ja case.default.0x484c64
jmp dword [eax*4 + 0x48b91e]
cmp dword [ebp - 0x3c], 0
jne case.0x40a384.157
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x486591
and dword [ebp - 0x14], 0xfc00
cmp dword [ebp - 0x14], 0xd800
jne 0x486591
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 0x486562
jmp 0x40aa95
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa92
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x486603
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486603
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 + 0x4ac4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x486628
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp eax, 9
je 0x48664d
cmp eax, 5
je 0x48664d
cmp eax, 8
je 0x48664d
xor eax, eax
jmp 0x486652
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x4865b8
mov edx, dword [ebp - 0x38]
jmp 0x40aa92
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x40aa8f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x4866d1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4866d1
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4866f6
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp dword [eax*4 + 0x4b6180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x486683
mov edx, dword [ebp - 0x38]
jmp 0x40aa8f
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x40aa8f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x486796
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486796
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4867bb
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x486748
mov edx, dword [ebp - 0x38]
jmp 0x40aa8f
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x40aa8f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x486854
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486854
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x486879
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab108]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x486806
mov edx, dword [ebp - 0x38]
jmp 0x40aa8f
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa92
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x486912
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486912
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 + 0x4ac4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x486937
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x48695e
cmp eax, 3
je 0x48695e
xor eax, eax
jmp 0x486963
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x4868c7
mov edx, dword [ebp - 0x38]
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa95
mov edx, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
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 0x4869ef
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4869ec
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 0x486a43
je 0x486ada
cmp dword [ebp - 0x18], 0x85
ja 0x486a28
je 0x486ada
cmp dword [ebp - 0x18], 9
jb case.0x486a66.8203
cmp dword [ebp - 0x18], 0xd
jbe 0x486ada
cmp dword [ebp - 0x18], 0x20
jne case.0x486a66.8203
jmp 0x486ada
cmp dword [ebp - 0x18], 0xa0
je 0x486ada
cmp dword [ebp - 0x18], 0x1680
jne case.0x486a66.8203
jmp 0x486ada
cmp dword [ebp - 0x18], 0x202f
ja 0x486a6d
je 0x486ada
mov eax, dword [ebp - 0x18]
add eax, 0xffffe000
cmp eax, 0x29
ja case.0x486a66.8203
movzx eax, byte [eax + 0x48b952]
jmp dword [eax*4 + 0x48b94a]
cmp dword [ebp - 0x18], 0x205f
je 0x486ada
cmp dword [ebp - 0x18], 0x3000
je 0x486ada
mov ecx, dword [ebp - 0x18]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x486aa4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp dword [eax*4 + 0x4b6180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a384.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x486ae4
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne case.0x40a384.157
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x48699d
mov edx, dword [ebp - 0x38]
jmp 0x40aa95
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x40aa8f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x486b56
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486b56
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 + 0x4ac4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x486b7c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x486ba8
cmp eax, 3
je 0x486ba8
cmp edx, 0x5f
je 0x486ba8
xor eax, eax
jmp 0x486bad
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a384.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x486b08
mov edx, dword [ebp - 0x38]
jmp 0x40aa8f
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x486c2f
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486c2f
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 + 0x4ae6a0]
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 0x486c68
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 8]
je 0x486c8a
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 0x486c49
cmp dword [ebp - 0x3c], 0
je case.0x40a384.157
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
jle 0x486be4
jmp 0x40aa95
cmp dword [ebp - 0x3c], 0
jne case.0x40a384.157
jmp 0x486c72
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x486cfa
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486cf7
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 0x486d2e
cmp dword [ebp - 0x18], 0x40
je 0x486d2e
cmp dword [ebp - 0x18], 0x60
je 0x486d2e
cmp dword [ebp - 0x18], 0xa0
jb 0x486d1e
cmp dword [ebp - 0x18], 0xd7ff
jbe 0x486d2e
cmp dword [ebp - 0x18], 0xe000
mov dword [ebp - 0xc], 0
jb 0x486d35
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], esi
je case.0x40a384.157
mov ebx, dword [ebp - 0x14]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
jle 0x486cac
jmp 0x40aa95
cmp dword [ebp - 0x28], 0x16
jne 0x486eff
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], 1
jl 0x40aa92
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x20], eax
cmp ecx, eax
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x486dc6
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486dc6
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 + 0x4ac4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x486deb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
movzx edx, byte [eax*8 + 0x4ab10a]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp ecx, eax
jae 0x486ebe
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 0x486e53
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486e53
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x486e78
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx ecx, byte [eax*8 + 0x4ab10a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x49e52c], eax
je 0x486eb5
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 0x486e10
jmp 0x486ebb
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x10]
cmp dword [ebx + 0x8c], 0
je 0x486ee7
cmp ecx, eax
jb 0x486ee7
cmp ecx, dword [ebx + 0x88]
jbe 0x486ee7
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x10]
jle 0x486d76
mov edx, dword [ebp - 0x38]
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4876e9
mov eax, dword [ebp - 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x484c64
mov eax, dword [ebp - 0x28]
add eax, 0xfffffffa
jmp dword [eax*4 + 0x48b97e]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
lea edx, [ecx + 2]
mov dword [ebp - 0x20], edx
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x489d57
cmp dword [ebx + 0x18], 0
je 0x487000
mov eax, dword [ebp - 0x1c]
push eax
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
call fcn.00408ffe
add esp, 0xc
test eax, eax
jne case.0x40a384.157
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebx + 0x8c], 0
je 0x486fb0
cmp edx, dword [ebx + 0x7c]
jb 0x486fb0
cmp dword [ebx + 0x18], 0
jne 0x486fb0
cmp dword [ebx + 0x1c], 2
jne 0x486fb0
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x486fb0
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebx + 0x7c]
jae 0x486fe8
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 0x486fe8
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 0x486f42
mov edx, dword [ebp - 0x38]
jmp 0x40aa92
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp ecx, edx
ja 0x486f76
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x486f76
cmp dword [ebx + 0x1c], 1
je case.0x40a384.157
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
je case.0x40a384.157
jmp 0x486f79
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x48708c
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 0x48708c
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x487054
jmp 0x40aa92
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.0x40a384.157
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x487113
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 0x487116
mov eax, dword [ebp - 0x20]
cmp eax, 0xd
ja 0x487143
je 0x487130
cmp eax, 0xa
je 0x487162
add eax, 0xfffffff5
cmp eax, 1
ja case.0x40a384.157
jmp 0x487158
cmp ecx, dword [ebx + 0x7c]
jae 0x487162
cmp word [ecx], 0xa
jne 0x487162
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x487162
cmp eax, 0x85
je 0x487158
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x40a384.157
cmp dword [ebx + 0x6c], 0
jne case.0x40a384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x4870cf
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x4871d1
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 0x4871d4
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x48720f
je case.0x40a384.157
cmp eax, 0xa0
ja 0x487202
je case.0x40a384.157
cmp eax, 9
je case.0x40a384.157
cmp eax, 0x20
je case.0x40a384.157
jmp 0x487246
cmp eax, 0x1680
je case.0x40a384.157
jmp 0x487246
cmp eax, 0x205f
ja 0x48723b
je case.0x40a384.157
cmp eax, 0x2000
jb 0x487246
cmp eax, 0x200a
jbe case.0x40a384.157
cmp eax, 0x202f
je case.0x40a384.157
jmp 0x487246
cmp eax, 0x3000
je case.0x40a384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x48718d
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x4872b5
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 0x4872b8
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x4872e7
je 0x48731a
cmp eax, 0xa0
ja 0x4872da
je 0x48731a
cmp eax, 9
je 0x48731a
cmp eax, 0x20
jne case.0x40a384.157
jmp 0x48731a
cmp eax, 0x1680
jne case.0x40a384.157
jmp 0x48731a
cmp eax, 0x205f
ja 0x48730f
je 0x48731a
cmp eax, 0x2000
jb case.0x40a384.157
cmp eax, 0x200a
jbe 0x48731a
cmp eax, 0x202f
jne case.0x40a384.157
jmp 0x48731a
cmp eax, 0x3000
jne case.0x40a384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487271
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x487389
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 0x48738c
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x4873a9
je case.0x40a384.157
cmp eax, 0xa
jb 0x4873bb
cmp eax, 0xd
jbe case.0x40a384.157
jmp 0x4873bb
cmp eax, 0x2028
jb 0x4873bb
cmp eax, 0x2029
jbe case.0x40a384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487345
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x48742a
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 0x48742d
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x487444
je 0x487452
add eax, 0xfffffff6
cmp eax, 3
ja case.0x40a384.157
jmp 0x487452
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x40a384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x4873e6
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x4874c3
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 0x4874c6
mov eax, dword [ebp - 0x14]
cmp eax, 0x80
jae 0x4874e0
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne case.0x40a384.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487479
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
cmp word [ecx], 0x80
jae case.0x40a384.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 4
mov ebx, dword [ebp + 0x10]
je case.0x40a384.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 0x487507
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
cmp word [ecx], 0x80
mov ebx, dword [ebp + 0x10]
jae 0x487587
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 1
mov ebx, dword [ebp + 0x10]
jne case.0x40a384.157
mov eax, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x4875b6
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 0x4875b6
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x48755e
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
cmp word [ecx], 0x80
jae case.0x40a384.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 1
mov ebx, dword [ebp + 0x10]
je case.0x40a384.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 0x4875d9
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
cmp word [ecx], 0x80
mov ebx, dword [ebp + 0x10]
jae 0x487659
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 0x10
mov ebx, dword [ebp + 0x10]
jne case.0x40a384.157
mov eax, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x487688
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 0x487688
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x487630
jmp 0x40aa92
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
cmp word [ecx], 0x80
jae case.0x40a384.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 0x10
mov ebx, dword [ebp + 0x10]
je case.0x40a384.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 0x4876ab
jmp 0x40aa92
mov ebx, dword [ebp - 0x28]
add ebx, 0xfffffffa
cmp ebx, 0xf
ja case.default.0x484c64
mov ebx, dword [ebp - 0x28]
add ebx, 0xfffffffa
jmp dword [ebx*4 + 0x48b9be]
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x489d57
cmp dword [ebx + 0x18], 0
je 0x48774b
lea eax, [ebx + 0x1c]
push 0
push eax
push edx
mov edx, dword [ebx + 0x18]
call fcn.00408ffe
add esp, 0xc
test eax, eax
jne case.0x40a384.157
mov ecx, dword [ebp - 8]
jmp 0x487777
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp ecx, edx
ja 0x487777
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x487777
cmp dword [ebx + 0x1c], 1
je case.0x40a384.157
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
je case.0x40a384.157
cmp dword [ebx + 0x8c], 0
je 0x4877b1
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x4877b1
cmp dword [ebx + 0x18], 0
jne 0x4877b1
cmp dword [ebx + 0x1c], 2
jne 0x4877b1
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x4877b1
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
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 0x48771b
mov edx, dword [ebp - 0x38]
jmp 0x40aa92
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 0x489d57
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x40aa92
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 0x489d57
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x40aa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
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 0x48787b
cmp dword [ebp - 0x20], 0xd
je 0x487868
cmp dword [ebp - 0x20], 0xa
je 0x4878a2
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x40a384.157
jmp 0x487895
cmp ecx, dword [ebx + 0x7c]
jae 0x4878a2
cmp word [ecx], 0xa
jne 0x4878a2
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x4878a2
cmp dword [ebp - 0x20], 0x85
je 0x487898
mov eax, dword [ebp - 0x20]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x40a384.157
mov eax, dword [ebp - 0x10]
cmp dword [ebx + 0x6c], 0
jne case.0x40a384.157
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x48782e
jmp 0x40aa92
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
cmp eax, 0x180e
jg 0x48791f
cmp eax, 0x180e
je case.0x40a384.157
cmp eax, 0xa0
jg 0x487910
je case.0x40a384.157
cmp eax, 9
je case.0x40a384.157
cmp eax, 0x20
je case.0x40a384.157
jmp 0x487960
cmp dword [ebp - 0x18], 0x1680
je case.0x40a384.157
jmp 0x487960
cmp dword [ebp - 0x18], 0x205f
jg 0x487953
je case.0x40a384.157
cmp dword [ebp - 0x18], 0x2000
jl 0x487960
cmp dword [ebp - 0x18], 0x200a
jle case.0x40a384.157
cmp dword [ebp - 0x18], 0x202f
je case.0x40a384.157
jmp 0x487960
cmp dword [ebp - 0x18], 0x3000
je case.0x40a384.157
mov eax, dword [ebp - 0xc]
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
jle 0x4878c8
jmp 0x40aa95
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
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 0x4879e5
cmp dword [ebp - 0x18], 0x180e
je 0x487a22
cmp dword [ebp - 0x18], 0xa0
jg 0x4879d6
je 0x487a22
cmp dword [ebp - 0x18], 9
je 0x487a22
cmp dword [ebp - 0x18], 0x20
jne case.0x40a384.157
jmp 0x487a22
cmp dword [ebp - 0x18], 0x1680
jne case.0x40a384.157
jmp 0x487a22
cmp dword [ebp - 0x18], 0x205f
jg 0x487a15
je 0x487a22
cmp dword [ebp - 0x18], 0x2000
jl case.0x40a384.157
cmp dword [ebp - 0x18], 0x200a
jle 0x487a22
cmp dword [ebp - 0x18], 0x202f
jne case.0x40a384.157
jmp 0x487a22
cmp dword [ebp - 0x18], 0x3000
jne case.0x40a384.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x487991
jmp 0x40aa95
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
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 0x487a91
cmp dword [ebp - 0x20], 0x85
je case.0x40a384.157
cmp dword [ebp - 0x20], 0xa
jl 0x487aa7
cmp dword [ebp - 0x20], 0xd
jle case.0x40a384.157
jmp 0x487aa7
cmp dword [ebp - 0x20], 0x2028
jl 0x487aa7
cmp dword [ebp - 0x20], 0x2029
jle case.0x40a384.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x487a53
jmp 0x40aa95
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], 1
jl 0x40aa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
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 0x487b0e
cmp dword [ebp - 0x14], 0x85
je 0x487b22
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff6
cmp eax, 3
ja case.0x40a384.157
jmp 0x487b1f
mov eax, dword [ebp - 0x14]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x40a384.157
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x487ad4
jmp 0x40aa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
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 0x487b80
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x40a384.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 0x487b48
jmp 0x40aa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x40a384.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x40a384.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 0x487ba9
jmp 0x40aa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
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 0x487c3d
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x40a384.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 0x487c05
jmp 0x40aa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x40a384.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x40a384.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 0x487c66
jmp 0x40aa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40aa95
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
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 0x487cfa
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x40a384.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 0x487cc2
jmp 0x40aa92
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40aa95
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x40a384.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x40a384.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 0x487d23
jmp 0x40aa92
mov dword [ebp - 0x38], ecx
test edx, edx
js 0x48868b
cmp edx, 0xa
ja case.default.0x484c64
jmp dword [edx*4 + 0x48b9fe]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x488625
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 0x487df2
test eax, eax
je 0x487dce
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 0x487dce
mov dword [ebp - 0xc], 2
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
jne 0x488625
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 0x487d96
jmp 0x488625
cmp dword [ebx + 0x8c], 0
je 0x488625
cmp ecx, dword [ebx + 0x88]
jbe 0x488625
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x488625
mov eax, 0xfffffff4
jmp 0x40a4c7
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x488625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x487df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x487e7d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487e7d
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 + 0x4ac4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x487ea2
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp eax, 9
je 0x487ec7
cmp eax, 5
je 0x487ec7
cmp eax, 8
je 0x487ec7
xor eax, eax
jmp 0x487ecc
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x488625
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 0x487e35
jmp 0x488625
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x488625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x487df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x487f4e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487f4e
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x487f73
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp dword [eax*4 + 0x4b6180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x488625
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 0x487f02
jmp 0x488625
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x488625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x487df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x488019
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488019
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x48803e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x488625
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 0x487fcd
jmp 0x488625
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x488625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x487df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x4880dd
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4880dd
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x488102
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab108]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x488625
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 0x488091
jmp 0x488625
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x488625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x487df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x4881a1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4881a1
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 + 0x4ac4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x4881c6
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x4881ed
cmp eax, 3
je 0x4881ed
xor eax, eax
jmp 0x4881f2
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x488625
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 0x488155
jmp 0x488625
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x488625
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x487df2
movzx ebx, word [ecx]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x488280
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48827d
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 0x4882d4
je 0x48836b
cmp dword [ebp - 0x18], 0x85
ja 0x4882b9
je 0x48836b
cmp dword [ebp - 0x18], 9
jb case.0x4882f7.8203
cmp dword [ebp - 0x18], 0xd
jbe 0x48836b
cmp dword [ebp - 0x18], 0x20
jne case.0x4882f7.8203
jmp 0x48836b
cmp dword [ebp - 0x18], 0xa0
je 0x48836b
cmp dword [ebp - 0x18], 0x1680
jne case.0x4882f7.8203
jmp 0x48836b
cmp dword [ebp - 0x18], 0x202f
ja 0x4882fe
je 0x48836b
mov eax, dword [ebp - 0x18]
add eax, 0xffffe000
cmp eax, 0x29
ja case.0x4882f7.8203
movzx eax, byte [eax + 0x48ba32]
jmp dword [eax*4 + 0x48ba2a]
cmp dword [ebp - 0x18], 0x205f
je 0x48836b
cmp dword [ebp - 0x18], 0x3000
je 0x48836b
mov ecx, dword [ebp - 0x18]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x488335
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp dword [eax*4 + 0x4b6180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x488625
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x488375
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne 0x488625
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 0x488228
jmp 0x488625
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x488625
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x487df2
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x4883eb
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4883eb
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 + 0x4ac4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x488411
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x48843d
cmp eax, 3
je 0x48843d
cmp edx, 0x5f
je 0x48843d
xor eax, eax
jmp 0x488442
mov eax, 1
mov ecx, dword [ebp - 8]
cmp eax, dword [ebp - 0x3c]
je 0x488625
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 0x48839f
jmp 0x488625
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x488625
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x487df2
movzx ebx, word [ecx]
mov dword [ebp - 0x28], ebx
test eax, eax
je 0x4884cf
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4884cc
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 + 0x4ae6a0]
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 0x488508
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 8]
je 0x488530
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 0x4884e9
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
je 0x488625
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 0x48847b
jmp 0x488625
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
je 0x488515
jmp 0x488625
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x488625
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x488600
movzx ebx, word [ecx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x4885a2
mov eax, dword [ebp - 0x28]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48859f
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 0x4885d6
cmp dword [ebp - 0x28], 0x40
je 0x4885d6
cmp dword [ebp - 0x28], 0x60
je 0x4885d6
cmp dword [ebp - 0x28], 0xa0
jb 0x4885c6
cmp dword [ebp - 0x28], 0xd7ff
jbe 0x4885d6
cmp dword [ebp - 0x28], 0xe000
mov dword [ebp - 0xc], 0
jb 0x4885dd
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x30]
je 0x488625
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 0x48854a
jmp 0x488625
cmp dword [ebx + 0x8c], 0
je 0x488625
cmp ecx, dword [ebx + 0x88]
jbe 0x488625
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
test esi, esi
jne 0x40a360
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x40a3d1
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x1c], eax
je 0x488682
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x488682
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x488638
jmp 0x40a3d1
mov edx, dword [ebp - 0x28]
cmp edx, 0x16
jne 0x48889e
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jl 0x4886a7
jmp 0x488850
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], edx
cmp ecx, edx
jae 0x48882b
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
test eax, eax
je 0x4886f5
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4886f5
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 + 0x4ac4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x48871a
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
movzx edx, byte [eax*8 + 0x4ab10a]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp ecx, eax
jae 0x4887f0
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 0x488782
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488782
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4887a7
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx ecx, byte [eax*8 + 0x4ab10a]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x49e52c], eax
je 0x4887e4
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 0x48873f
jmp 0x4887ea
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 0x488819
cmp ecx, eax
jb 0x488819
cmp ecx, dword [ebx + 0x88]
jbe 0x488819
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x24]
jl 0x4886a4
jmp 0x488850
cmp dword [ebx + 0x8c], 0
je 0x488850
cmp ecx, dword [ebx + 0x88]
jbe 0x488850
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
test esi, esi
jne 0x40a360
cmp ecx, dword [ebp - 0x38]
je 0x40a3d1
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
test esi, esi
jne 0x4897f7
movzx edx, word [ecx]
jmp 0x489840
test eax, eax
je 0x4891ad
add edx, 0xfffffffa
cmp edx, 0xf
ja case.default.0x484c64
jmp dword [edx*4 + 0x48ba5e]
cmp dword [ebp - 0x24], 0x7fffffff
mov edx, dword [ebp - 0x10]
jge 0x4889ca
cmp edx, dword [ebp - 0x24]
jge 0x48912f
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 0x488b2a
cmp dword [ebx + 0x18], 0
je 0x488912
push eax
lea edx, [ebx + 0x1c]
push edx
push dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
call fcn.00408ffe
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x48912f
mov edx, dword [ebp - 0x10]
jmp 0x488942
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x488942
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x488942
cmp dword [ebx + 0x1c], 1
je 0x48912f
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ebx + 0x36]
je 0x48912f
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 0x18]
je 0x488982
cmp eax, dword [ebx + 0x7c]
jb 0x488982
cmp dword [ebx + 0x18], 0
jne 0x488982
cmp dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 8]
jne 0x488982
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48897f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
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 0x4889b8
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 0x4889b8
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 0x4888d8
jmp 0x48912f
cmp edx, dword [ebp - 0x24]
jge 0x48912f
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 0x488b2a
cmp dword [ebx + 0x18], 0
je 0x488a13
push eax
lea edx, [ebx + 0x1c]
push edx
push dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
call fcn.00408ffe
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x48912f
mov edx, dword [ebp - 0x10]
jmp 0x488a43
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x488a43
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x488a43
cmp dword [ebx + 0x1c], 1
je 0x48912f
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ebx + 0x36]
je 0x48912f
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 0x18]
je 0x488a83
cmp eax, dword [ebx + 0x7c]
jb 0x488a83
cmp dword [ebx + 0x18], 0
jne 0x488a83
cmp dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 8]
jne 0x488a83
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x488a80
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
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 0x488ab9
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 0x488ab9
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 0x4889d9
jmp 0x48912f
mov eax, dword [ebp - 0x24]
cmp eax, 0x7fffffff
jge 0x488b20
mov edx, dword [ebp - 0x10]
cmp edx, eax
jge 0x48912f
mov eax, dword [ebx + 0x7c]
cmp ecx, eax
jae 0x488b2a
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x488b15
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 0x488b15
add ecx, 2
mov dword [ebp - 8], ecx
inc edx
cmp edx, dword [ebp - 0x24]
jl 0x488ae3
jmp 0x48912f
mov ecx, dword [ebx + 0x7c]
jmp 0x488b27
mov ecx, edx
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x8c], 0
je 0x48912f
cmp ecx, dword [ebx + 0x88]
jbe 0x48912f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48912f
mov eax, 0xfffffff4
jmp 0x40a4c7
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 0x488b25
mov eax, dword [ebp - 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
jmp 0x48912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48912f
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], 1
cmp ecx, eax
jae 0x488b2a
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488bd7
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 0x488bda
mov eax, dword [ebp - 0x20]
cmp eax, 0xd
jne 0x488bfb
mov eax, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x48912f
cmp word [ecx], 0xa
jne 0x488c39
add ecx, 2
jmp 0x488c36
cmp eax, 0xa
je 0x488c2d
cmp dword [ebx + 0x6c], 0
jne 0x48912f
cmp eax, 0xb
je 0x488c2d
cmp eax, 0xc
je 0x488c2d
cmp eax, 0x85
je 0x488c2d
cmp eax, 0x2028
je 0x488c2d
cmp eax, 0x2029
jne 0x48912f
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 0x488b95
jmp 0x48912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48912f
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x488b2a
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488c9b
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 0x488c9e
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x488cf4
je 0x488cba
cmp eax, 0xa0
ja 0x488ceb
je 0x488cba
cmp eax, 9
je 0x488cba
cmp eax, 0x20
jne 0x488d1b
mov dword [ebp - 0xc], 1
xor eax, eax
cmp dword [ebp - 0x28], 0x12
sete al
cmp dword [ebp - 0xc], eax
je 0x48912f
mov eax, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x488c54
jmp 0x48912f
cmp eax, 0x1680
jne 0x488d1b
jmp 0x488cba
cmp eax, 0x205f
ja 0x488d14
je 0x488cba
cmp eax, 0x2000
jb 0x488d1b
cmp eax, 0x200a
jbe 0x488cba
cmp eax, 0x202f
jne 0x488d1b
jmp 0x488cba
cmp eax, 0x3000
je 0x488cba
mov dword [ebp - 0xc], 0
jmp 0x488cc1
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48912f
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x488b2a
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488d77
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 0x488d7a
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x488dbe
je 0x488dc8
cmp eax, 0xa
jb 0x488d8d
cmp eax, 0xd
jbe 0x488dc8
mov dword [ebp - 0xc], 0
xor eax, eax
cmp dword [ebp - 0x28], 0x14
sete al
cmp dword [ebp - 0xc], eax
je 0x48912f
mov eax, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x488d30
jmp 0x48912f
add eax, 0xffffdfd8
cmp eax, 1
ja 0x488d8d
mov dword [ebp - 0xc], 1
jmp 0x488d94
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x488b2a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488e2a
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 0x488e2d
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x488e47
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne 0x48912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x488ddd
jmp 0x48912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x488b2a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488eb4
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 0x488eb7
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48912f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
je 0x48912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x488e67
jmp 0x48912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x488b2a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488f42
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 0x488f45
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x488f5f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
jne 0x48912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x488ef5
jmp 0x48912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x488b2a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488fcc
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 0x488fcf
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48912f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
je 0x48912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x488f7f
jmp 0x48912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x488b2a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48905a
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 0x48905d
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x489077
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
jne 0x48912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48900d
jmp 0x48912f
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48912f
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48910a
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4890e0
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 0x4890e3
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48912f
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
je 0x48912f
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489097
jmp 0x48912f
cmp dword [ebx + 0x8c], 0
je 0x48912f
cmp ecx, dword [ebx + 0x88]
jbe 0x48912f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
test esi, esi
jne 0x40a360
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x40a3d1
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
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 0x489187
sub ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x28], 0x11
jne 0x4891a4
cmp ecx, esi
jbe 0x4891a6
cmp word [ecx], 0xa
jne 0x4891a4
cmp word [ecx - 2], 0xd
jne 0x4891a4
add ecx, 0xfffffffe
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x489142
jmp 0x40a3d1
lea eax, [edx - 6]
cmp eax, 0xf
ja case.default.0x484c64
jmp dword [eax*4 + 0x48ba9e]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489702
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
jae 0x48929e
cmp dword [ebx + 0x18], 0
je 0x489202
lea edx, [ebx + 0x1c]
push 0
push edx
mov edx, dword [ebx + 0x18]
push eax
call fcn.00408ffe
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x489702
mov edx, dword [ebp - 0x10]
jmp 0x489230
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x489230
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x489230
cmp dword [ebx + 0x1c], 1
je 0x489702
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
je 0x489702
cmp dword [ebx + 0x8c], 0
je 0x48926a
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x48926a
cmp dword [ebx + 0x18], 0
jne 0x48926a
cmp dword [ebx + 0x1c], 2
jne 0x48926a
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48926a
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
inc edx
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x4891cc
jmp 0x489702
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 0x4892d5
mov ecx, edx
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x8c], 0
je 0x489702
cmp ecx, dword [ebx + 0x88]
jbe 0x489702
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x489702
mov eax, 0xfffffff4
jmp 0x40a4c7
mov eax, dword [ebp - 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
jmp 0x489702
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x489702
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x48929e
movzx edx, word [ecx]
cmp edx, 0xd
jne 0x489317
mov edx, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, edx
jae 0x489702
cmp word [ecx], 0xa
je 0x48934f
jmp 0x489355
cmp edx, 0xa
je 0x48934c
cmp dword [ebx + 0x6c], 0
jne 0x489702
cmp edx, 0xb
je 0x48934c
cmp edx, 0xc
je 0x48934c
cmp edx, 0x85
je 0x48934c
cmp edx, 0x2028
je 0x48934c
cmp edx, 0x2029
jne 0x489702
mov edx, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
inc eax
cmp eax, dword [ebp - 0x24]
jl 0x4892f2
jmp 0x489702
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x489702
cmp ecx, dword [ebx + 0x7c]
jae 0x48929e
movzx edx, word [ecx]
cmp edx, 0x180e
jg 0x4893b4
je 0x489702
cmp edx, 0xa0
jg 0x4893a7
je 0x489702
cmp edx, 9
je 0x489702
cmp edx, 0x20
jne 0x4893ef
jmp 0x489702
cmp edx, 0x1680
jne 0x4893ef
jmp 0x489702
cmp edx, 0x205f
jg 0x4893e3
je 0x489702
cmp edx, 0x2000
jl 0x4893ef
cmp edx, 0x200a
jle 0x489702
cmp edx, 0x202f
jne 0x4893ef
jmp 0x489702
cmp edx, 0x3000
je 0x489702
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x48936c
jmp 0x489702
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x489702
cmp ecx, dword [ebx + 0x7c]
jae 0x48929e
movzx edx, word [ecx]
cmp edx, 0x180e
jg 0x48944c
je 0x489483
cmp edx, 0xa0
jg 0x48943f
je 0x489483
cmp edx, 9
je 0x489483
cmp edx, 0x20
je 0x489483
jmp 0x489702
cmp edx, 0x1680
je 0x489483
jmp 0x489702
cmp edx, 0x205f
jg 0x489477
je 0x489483
cmp edx, 0x2000
jl 0x489702
cmp edx, 0x200a
jle 0x489483
cmp edx, 0x202f
je 0x489483
jmp 0x489702
cmp edx, 0x3000
jne 0x489702
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x489410
jmp 0x489702
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x489702
cmp ecx, dword [ebx + 0x7c]
jae 0x48929e
movzx edx, word [ecx]
cmp edx, 0x85
jg 0x4894c9
je 0x489702
cmp edx, 0xa
jl 0x4894dd
cmp edx, 0xd
jg 0x4894dd
jmp 0x489702
cmp edx, 0x2028
jl 0x4894dd
cmp edx, 0x2029
jle 0x489702
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x4894a0
jmp 0x489702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489702
cmp ecx, dword [ebx + 0x7c]
jae 0x48929e
movzx eax, word [ecx]
cmp eax, 0x85
jg 0x48951c
je 0x48952a
add eax, 0xfffffff6
cmp eax, 3
jbe 0x48952a
jmp 0x489702
add eax, 0xffffdfd8
cmp eax, 1
ja 0x489702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x4894fa
jmp 0x489702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489702
cmp ecx, dword [ebx + 0x7c]
jae 0x48929e
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x489572
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne 0x489702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489547
jmp 0x489702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489702
cmp ecx, dword [ebx + 0x7c]
jae 0x48929e
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x489702
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
je 0x489702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48958f
jmp 0x489702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489702
cmp ecx, dword [ebx + 0x7c]
jae 0x48929e
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x489606
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
jne 0x489702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x4895db
jmp 0x489702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489702
cmp ecx, dword [ebx + 0x7c]
jae 0x48929e
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x489702
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
je 0x489702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489623
jmp 0x489702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489702
cmp ecx, dword [ebx + 0x7c]
jae 0x48929e
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x489696
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
jne 0x489702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48966f
jmp 0x489702
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489702
cmp ecx, dword [ebx + 0x7c]
jae 0x4896dd
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x489702
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
je 0x489702
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x4896ac
jmp 0x489702
cmp dword [ebx + 0x8c], 0
je 0x489702
cmp ecx, dword [ebx + 0x88]
jbe 0x489702
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
test esi, esi
jne 0x40a360
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x40a3d1
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov ecx, dword [ebp - 8]
sub ecx, 2
cmp dword [ebp - 0x28], 0x11
mov dword [ebp - 8], ecx
jne 0x48975c
cmp ecx, esi
jbe 0x48975e
cmp word [ecx], 0xa
jne 0x48975c
cmp word [ecx - 2], 0xd
jne 0x48975c
add ecx, 0xfffffffe
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x489715
jmp 0x40a3d1
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 0x489794
lea edx, [edi + 4]
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov edi, dword [ebp - 0xc]
jmp 0x40a3ce
mov edx, dword [ebp - 0xc]
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
add edi, 4
jmp 0x40a3ce
mov edx, esi
mov esi, dword [ebp - 8]
mov ecx, esi
call fcn.0040a300
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x4897d6
mov ecx, dword [ebp - 0x20]
cmp dword [ebx + 0xb8], ecx
jne 0x40a4c7
jmp 0x4897e1
test eax, eax
jne 0x40a4c7
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0x489a44
add edi, 4
jmp 0x40a3ce
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x489812
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 0x489843
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 + 0x4ac4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x489868
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab10a]
mov dword [ebp - 0x2c], eax
cmp ecx, dword [ebp - 0x38]
je 0x40a3d1
lea edx, [ecx - 2]
mov dword [ebp - 0xc], edx
test esi, esi
jne 0x489895
movzx ecx, word [edx]
jmp 0x4898db
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4898b0
sub edx, 2
mov dword [ebp - 0xc], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4898db
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x4898fd
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx eax, word [eax*2 + 0x49e608]
movzx edx, byte [eax*8 + 0x4ab10a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49e52c], eax
je 0x489930
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x2c], edx
jmp 0x48987d
mov ecx, dword [ebp - 8]
jmp 0x488864
mov dword [ebx + 0x9c], 2
jmp 0x40ac56
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x48b5ca
cmp word [edi], 0x77
je 0x40aca5
cmp word [eax], 0x77
jne 0x48b5ca
jmp 0x40aca5
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x49e560]
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
lea eax, [edi + 4]
mov dword [ebx + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x40a4c7
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je case.0x40a384.157
push eax
call dword [0x4bb80c]
add esp, 4
jmp case.0x40a384.157
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x154]
cmp ecx, edx
je 0x40a4c7
push ecx
call dword [0x4bb80c]
mov eax, dword [ebp - 0xc]
add esp, 4
jmp 0x40a4c7
mov eax, 0xfffffffa
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x40a4c7
mov esi, dword [ebp + 8]
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x90], edx
mov eax, 0xfffffc1a
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov dword [ebx + 0xb8], esi
mov eax, 0xfffffc1b
jmp 0x40a4c7
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 0x40a4c2
cmp ecx, dword [ebx + 0x88]
jbe case.0x40a384.157
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x40a384.157
mov eax, 0xfffffff4
jmp 0x40a4c7
mov eax, 0xfffffff2
jmp 0x40a4c7
cmp eax, 0xfffffffe
jne 0x489b29
mov esi, dword [ebx + 0x7c]
cmp dword [ebx + 0x8c], 0
je case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jb case.0x40a384.157
cmp esi, dword [ebx + 0x88]
jmp 0x489af3
mov dword [ebp - 0xc], eax
cmp ecx, edx
jl 0x489b53
jmp 0x489bb9
mov eax, dword [ebp - 8]
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push esi
mov edx, eax
call fcn.004710c1
add esp, 0xc
test eax, eax
js 0x489b80
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 0x489b50
jmp 0x489bb0
cmp eax, 0xfffffffe
jne 0x489bad
cmp dword [ebx + 0x8c], 0
je 0x489bad
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x88]
jbe 0x489bad
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jb case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
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 0x489bb9
xor eax, eax
jmp 0x40a4c7
cmp ecx, 0xfffffffe
jne 0x489c00
mov eax, dword [ebx + 0x7c]
jmp 0x489c03
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x40a384.157
cmp eax, dword [ebx + 0x7c]
jb case.0x40a384.157
cmp eax, dword [ebx + 0x88]
jmp 0x489af3
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0x24]
je case.0x40a384.157
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x489c4a
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.0040a300
add esp, 0x14
test eax, eax
je 0x489c24
jmp 0x40a4c7
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 0x489d6f
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x18]
jge case.0x40a384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x489cf3
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 0x489cf6
mov eax, dword [ebp - 0x20]
cmp eax, 0xff
jbe 0x489d08
cmp esi, 0x6e
je case.0x40a384.157
jmp 0x489d2d
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.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x489c9a
jmp 0x40a4c7
cmp dword [ebx + 0x8c], 0
je case.0x40a384.157
cmp ecx, dword [ebx + 0x88]
jmp 0x489af3
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x18]
jge case.0x40a384.157
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40aba5
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x489db6
cmp esi, 0x6e
je case.0x40a384.157
jmp 0x489dd6
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.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x489d7f
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x28], eax
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx edx, word [esi]
mov ecx, dword [ebp - 0x1c]
add esi, 2
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x489e6e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489e6e
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
add esi, 2
jmp 0x489e71
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00471415
add esp, 4
test eax, eax
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x489e22
jmp 0x40a4c7
cmp dword [ebx + 0x8c], 0
je case.0x40a384.157
cmp esi, dword [ebx + 0x88]
jmp 0x489af3
cmp dword [ebx + 0x8c], 0
je case.0x40a384.157
cmp edx, dword [ebx + 0x7c]
jb case.0x40a384.157
cmp edx, dword [ebx + 0x88]
jmp 0x489af3
cmp dword [ebx + 0x8c], edx
je case.0x40a384.157
cmp ecx, dword [ebx + 0x88]
jmp 0x489af3
mov ecx, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x40a384.157
cmp ecx, dword [ebx + 0x7c]
jb case.0x40a384.157
jmp 0x489aed
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
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.0x40a384.157
mov eax, dword [ebx + 0x7c]
sub eax, ecx
cmp esi, eax
ja 0x489f7d
lea eax, [edx + edx]
push eax
push dword [ebp - 0x2c]
push esi
call fcn.0041f563
add esp, 0xc
test eax, eax
jne 0x489f7d
add esi, dword [ebp - 0xc]
jmp 0x489fb7
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jle 0x489b29
mov eax, dword [ebx + 0x7c]
lea edx, [ecx + ecx]
sub eax, edx
mov dword [ebp - 0x14], edx
cmp esi, eax
ja 0x489b29
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.0041f563
add esp, 0xc
test eax, eax
jne 0x489b29
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.0040a300
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
add esp, 0x14
test eax, eax
je 0x489f4f
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x18]
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx ecx, word [esi]
cmp dword [ebp - 0x24], ecx
je 0x48a034
cmp dword [ebp - 0x10], ecx
jne case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a00e
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x18]
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x24], eax
jne case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a082
jmp 0x40a4c7
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 0x48a17b
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48a141
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.0x40a384.157
cmp dword [ebp - 0x20], edx
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a0fc
jmp 0x40a4c7
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x10]
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx ecx, word [esi]
cmp dword [ebp - 0x18], ecx
je case.0x40a384.157
cmp dword [ebp - 0x20], ecx
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a18b
jmp 0x40a4c7
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 0x48a284
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48a253
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.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a20e
jmp 0x40a4c7
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x18], eax
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a294
jmp 0x40a4c7
cmp edx, 0xa
ja case.default.0x484c64
jmp dword [edx*4 + 0x48bade]
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x40a384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48a34d
and edx, 0xfc00
cmp edx, 0xd800
jne 0x48a34d
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x3c], 0
jne case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a312
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40a384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48a3f7
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a3f7
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 + 0x4ac4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x48a41c
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp eax, 9
je 0x48a441
cmp eax, 5
je 0x48a441
cmp eax, 8
je 0x48a441
xor eax, eax
jmp 0x48a446
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a39d
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48a4e5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a4e5
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x48a507
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp dword [eax*4 + 0x4b6180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a49a
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48a5cb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a5cb
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x48a5ed
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a580
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48a6aa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a6aa
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x48a6cc
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab108]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a65f
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40a384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48a796
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a796
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 + 0x4ac4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x48a7bb
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x48a7e2
cmp eax, 3
je 0x48a7e2
xor eax, eax
jmp 0x48a7e7
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a73c
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48a889
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a886
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 0x48a8d6
je 0x48a95b
cmp ecx, 0x85
ja 0x48a8bd
je 0x48a95b
cmp ecx, 9
jb case.0x48a8f2.8203
cmp ecx, 0xd
jbe 0x48a95b
cmp ecx, 0x20
jne case.0x48a8f2.8203
jmp 0x48a95b
cmp ecx, 0xa0
je 0x48a95b
cmp ecx, 0x1680
jne case.0x48a8f2.8203
jmp 0x48a95b
cmp ecx, 0x202f
ja 0x48a8f9
je 0x48a95b
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x48a8f2.8203
movzx eax, byte [eax + 0x48bb12]
jmp dword [eax*4 + 0x48bb0a]
cmp ecx, 0x205f
je 0x48a95b
cmp ecx, 0x3000
je 0x48a95b
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x48a92b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
cmp dword [eax*4 + 0x4b6180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40a384.157
mov eax, dword [ebp - 0x10]
jmp 0x48a965
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x3c], 0
jne case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a83b
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40a384.157
cmp esi, dword [ebx + 0x7c]
jae 0x489eb2
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], ecx
je 0x48aa06
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48aa06
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 + 0x4ac4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48aa2c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab109]
mov eax, dword [eax*4 + 0x4b6180]
cmp eax, 1
je 0x48aa58
cmp eax, 3
je 0x48aa58
cmp edx, 0x5f
je 0x48aa58
xor eax, eax
jmp 0x48aa5d
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48a9b5
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x40a384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48ab0a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48ab07
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 + 0x4ae6a0]
mov dword [ebp - 0x2c], esi
mov esi, dword [esi]
mov dword [ebp - 0xc], esi
cmp edx, esi
mov esi, dword [ebp + 8]
jb 0x48ab3e
add dword [ebp - 0x2c], 4
mov ebx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0xc]
je 0x48ab70
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov dword [ebp - 0xc], ecx
cmp edx, ecx
mov ecx, dword [ebp - 8]
jae 0x48ab23
cmp dword [ebp - 0x3c], 0
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48aab3
jmp 0x40a4c7
cmp dword [ebp - 0x3c], 0
jne case.0x40a384.157
jmp 0x48ab48
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x40a384.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x489d57
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48abf5
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48abf2
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 0x48ac20
cmp edx, 0x40
je 0x48ac20
cmp edx, 0x60
je 0x48ac20
cmp edx, 0xa0
jb 0x48ac14
cmp edx, 0xd7ff
jbe 0x48ac20
cmp edx, 0xe000
jae 0x48ac20
xor edx, edx
jmp 0x48ac25
mov edx, 1
cmp edx, dword [ebp - 0x3c]
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48ab9e
jmp 0x40a4c7
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.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x40a384.157
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], eax
cmp esi, eax
jae 0x489eb2
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
je 0x48acce
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48acce
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 + 0x4ac4a0]
shl eax, 7
and edx, 0x8000007f
jns 0x48acf3
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e608]
movzx edx, byte [eax*8 + 0x4ab10a]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x48adba
mov ebx, dword [ebp - 0x1c]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x48ad55
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48ad55
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 + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x48ad77
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx ecx, byte [eax*8 + 0x4ab10a]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x49e52c], eax
je 0x48adae
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp esi, eax
jb 0x48ad18
jmp 0x48adb1
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 0x48ade3
cmp esi, eax
jb 0x48ade3
cmp esi, dword [ebx + 0x88]
jbe 0x48ade3
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
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.0040a300
add esp, 0x14
test eax, eax
je 0x48ac78
jmp 0x40a4c7
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x40ab37
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x40ab37
cmp dword [ebx + 0x1c], 1
je case.0x40a384.157
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x40a384.157
jmp 0x40ab37
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
jmp 0x40ab4f
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x484c64
jmp dword [eax*4 + 0x48bb3e]
cmp edx, 0xd
ja 0x48aeb5
je 0x48ae9a
cmp edx, 0xa
je case.0x48ae75.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x40a384.157
jmp 0x48aecc
cmp esi, dword [ebx + 0x7c]
jae case.0x48ae75.13
cmp word [esi], 0xa
jne case.0x48ae75.13
add esi, 2
jmp case.0x48ae75.13
cmp edx, 0x85
je 0x48aecc
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x40a384.157
cmp dword [ebx + 0x6c], 0
jne case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x180e
ja 0x48af1f
je case.0x40a384.157
cmp edx, 0xa0
ja 0x48af0e
je case.0x40a384.157
cmp edx, 9
je case.0x40a384.157
cmp edx, 0x20
je case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x1680
je case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x205f
ja 0x48af56
je case.0x40a384.157
cmp edx, 0x2000
jb case.0x48ae75.13
cmp edx, 0x200a
jbe case.0x40a384.157
cmp edx, 0x202f
je case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x3000
je case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x180e
ja 0x48afab
je case.0x48ae75.13
cmp edx, 0xa0
ja 0x48af9a
je case.0x48ae75.13
cmp edx, 9
je case.0x48ae75.13
cmp edx, 0x20
jne case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x1680
jne case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x205f
ja 0x48afe2
je case.0x48ae75.13
cmp edx, 0x2000
jb case.0x40a384.157
cmp edx, 0x200a
jbe case.0x48ae75.13
cmp edx, 0x202f
jne case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x3000
jne case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x85
ja 0x48b018
je case.0x40a384.157
cmp edx, 0xa
jb case.0x48ae75.13
cmp edx, 0xd
jbe case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x2028
jb case.0x48ae75.13
cmp edx, 0x2029
jbe case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x85
ja 0x48b054
je case.0x48ae75.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x40a384.157
jmp case.0x48ae75.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x100
jae case.0x48ae75.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x100
jae case.0x40a384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x100
jae case.0x48ae75.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x100
jae case.0x40a384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x100
jae case.0x48ae75.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x40a384.157
jmp case.0x48ae75.13
cmp edx, 0x100
jae case.0x40a384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x40a384.157
jmp case.0x48ae75.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48ae75.13
cmp dword [ebx + 0x18], 0
jne case.0x48ae75.13
cmp dword [ebx + 0x1c], 2
jne case.0x48ae75.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48ae75.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
jmp case.0x48ae75.13
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x40a384.157
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x489eb2
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x48b1f2
cmp dword [ebx + 0x18], 0
je 0x48b1c3
push 0
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.00408ffe
add esp, 0xc
test eax, eax
jne case.0x40a384.157
mov ecx, dword [ebp - 0x10]
jmp 0x48b1ef
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x48b1ef
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48b1ef
cmp dword [ebx + 0x1c], 1
je case.0x40a384.157
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x40a384.157
mov eax, dword [ebp - 0x28]
movzx edx, word [esi]
add eax, 0xfffffffa
add esi, 2
cmp eax, 0xf
ja case.default.0x484c64
jmp dword [eax*4 + 0x48bb7e]
cmp dword [ebx + 0x8c], 0
je case.0x48b204.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48b204.13
cmp dword [ebx + 0x18], 0
jne case.0x48b204.13
cmp dword [ebx + 0x1c], 2
jne case.0x48b204.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48b204.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x48412d
jmp case.0x48b204.13
cmp edx, 0xd
ja 0x48b293
je 0x48b278
cmp edx, 0xa
je case.0x48b204.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x40a384.157
jmp 0x48b2aa
cmp esi, dword [ebx + 0x7c]
jae case.0x48b204.13
cmp word [esi], 0xa
jne case.0x48b204.13
add esi, 2
jmp case.0x48b204.13
cmp edx, 0x85
je 0x48b2aa
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x40a384.157
cmp dword [ebx + 0x6c], 0
jne case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x180e
ja 0x48b2fd
je case.0x40a384.157
cmp edx, 0xa0
ja 0x48b2ec
je case.0x40a384.157
cmp edx, 9
je case.0x40a384.157
cmp edx, 0x20
je case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x1680
je case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x205f
ja 0x48b334
je case.0x40a384.157
cmp edx, 0x2000
jb case.0x48b204.13
cmp edx, 0x200a
jbe case.0x40a384.157
cmp edx, 0x202f
je case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x3000
je case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x180e
ja 0x48b389
je case.0x48b204.13
cmp edx, 0xa0
ja 0x48b378
je case.0x48b204.13
cmp edx, 9
je case.0x48b204.13
cmp edx, 0x20
jne case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x1680
jne case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x205f
ja 0x48b3c0
je case.0x48b204.13
cmp edx, 0x2000
jb case.0x40a384.157
cmp edx, 0x200a
jbe case.0x48b204.13
cmp edx, 0x202f
jne case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x3000
jne case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x85
ja 0x48b3f6
je case.0x40a384.157
cmp edx, 0xa
jb case.0x48b204.13
cmp edx, 0xd
jbe case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x2028
jb case.0x48b204.13
cmp edx, 0x2029
jbe case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0x85
ja 0x48b432
je case.0x48b204.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x40a384.157
jmp case.0x48b204.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0xff
ja case.0x48b204.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0xff
ja case.0x40a384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0xff
ja case.0x48b204.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0xff
ja case.0x40a384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0xff
ja case.0x48b204.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x40a384.157
jmp case.0x48b204.13
cmp edx, 0xff
ja case.0x40a384.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x40a384.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.0040a300
add esp, 0x14
test eax, eax
je 0x48b17d
jmp 0x40a4c7
mov dword [ebx + 0x9c], 2
jmp 0x40a9dc
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x40aa25
cmp word [edi], 0x77
je 0x48b53c
cmp word [eax], 0x77
jne 0x40aa25
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 0x40a9d0
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 0x40aa25
cmp edx, 0xfffffc1b
jne 0x48b5ca
movzx eax, word [edi]
mov ecx, 0x81
cmp ax, cx
je 0x48b5bc
cmp eax, 0x77
jne 0x48b5b3
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48b5a5
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 0x40a4c7
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 + 0x49e560]
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.0040a300
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x48b621
cmp edi, 0xfffffc19
jne 0x48b63a
cmp dword [ebx + 0xb0], 0
jne 0x48b63a
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0xb0], ecx
mov eax, edi
jmp 0x40a4c7
cmp edi, 0xfffffc1f
jne 0x48b658
mov edx, dword [ebx + 0x80]
mov ecx, dword [ebp - 0xc]
call fcn.004712f7
test eax, eax
je 0x48b76b
mov eax, edi
jmp 0x40a4c7
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 + 0x49e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, 0xfffffc1c
jmp 0x40a4c7
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 + 0x49e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov eax, 0xfffffc1d
jmp 0x40a4c7
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 + 0x49e560]
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.0040a300
add esp, 0x14
cmp eax, 1
je 0x48b719
cmp eax, 0xfffffc19
jne 0x48b728
cmp dword [ebx + 0xb0], 0
jne 0x48b728
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0x40a4c7
mov eax, 0xfffffc1d
jmp 0x40a4c7
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 + 0x49e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
mov ecx, esi
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1e
jmp 0x40a4c7
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 + 0x49e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040a300
add esp, 0x14
jmp 0x48b7aa
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0x40a4c7
mov dword [ebx + 0x80], edi
mov eax, 0xfffffc20
jmp 0x40a4c7
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 + 0x49e560]
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.0040a300
add esp, 0x14
cmp eax, 1
je 0x48b80a
cmp eax, 0xfffffc19
jne 0x48b7aa
cmp dword [ebx + 0xb0], 0
jne 0x48b7aa
jmp 0x48b7a4
cmp esi, 0x9f
je 0x40a4a5
cmp dword [ebx + 0xa8], 0
jne 0x40a4a5
cmp dword [ebx + 0x60], 0
jne case.0x40a384.157
cmp dword [ebx + 0x64], 0
je 0x40a4a5
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp edi, eax
je case.0x40a384.157
jmp 0x40a4a5
mov eax, 0xfffffc19
jmp 0x40a4c7
mov eax, 0xfffffffb
jmp 0x40a4c7
mov eax, 0xffffffeb
jmp 0x40a4c7
inc dword [ebx]
mov eax, 0xfffffff8
jmp 0x40a4c7