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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
push ebx
push esi
push edi
mov edi, edx
mov eax, ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 8], eax
test edi, edi
je 0x484984
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x40], 0
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x50]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x20], ecx
cmp eax, dword [ebx + 4]
jae 0x48d037
inc eax
mov dword [ebx], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebx + 8]
jae 0x48d02d
cmp dword [ebx + 0x9c], 2
je 0x4849b5
lea esp, [esp]
movzx ecx, word [edi]
xor edx, edx
mov esi, ecx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], edx
cmp esi, 0x9b
ja case.0x405c60.98
movzx eax, byte [esi + 0x406780]
jmp dword [eax*4 + 0x406638]
cmp esi, 0x82
jae 0x48aee0
cmp esi, 0x7b
je 0x48aee0
cmp dword [ebx + 0x70], 0
jne 0x406564
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
je 0x406564
movzx eax, word [edi]
movzx eax, byte [eax + 0x49f530]
lea edi, [edi + eax*2]
mov dword [ebp - 0x38], edi
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
jb 0x405c20
jmp 0x48d037
movzx eax, word [edi + 2]
add eax, eax
mov esi, edi
sub esi, eax
mov ecx, 0x82
movzx eax, word [esi]
mov dword [ebp - 0x18], esi
cmp ax, cx
jae 0x485691
cmp eax, 0x7b
je 0x485691
xor ecx, ecx
mov dword [ebp - 0x10], ecx
cmp eax, 0x7a
jbe 0x4856a1
cmp eax, 0x7f
je 0x406103
cmp eax, 0x7c
je 0x4856aa
mov edx, 0x84
cmp ax, dx
je 0x406103
mov edx, 0x80
cmp ax, dx
je 0x406103
mov edx, 0x85
cmp ax, dx
je 0x406103
mov edx, dword [ebp + 0xc]
cmp word [edi], 0x72
jne 0x485730
cmp word [esi], 0x7b
je 0x48b063
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov edx, dword [ebp - 8]
mov edi, dword [ebp + 8]
cmp edx, edi
je 0x48cfd3
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x80], edi
test esi, esi
jne 0x48d019
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 - 0x1c], eax
mov eax, ecx
mov dword [ebp - 0x38], edi
cmp eax, 0x69
jle 0x4064be
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 1
mov eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x486839
mov dword [ebp - 0x28], 1
cmp eax, 1
jl 0x40651a
mov ecx, dword [ebx + 0x7c]
lea esp, [esp]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x4064a4
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x30], ecx
cmp eax, 0xd800
je 0x486803
cmp ecx, 0xff
ja 0x48682b
mov ebx, dword [ebp - 0x1c]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x30]
shr ecx, 3
test byte [ecx + ebx], al
mov ebx, dword [ebp + 0x10]
jne 0x405f41
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 - 0x28], esi
cmp eax, esi
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x405e6e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4865c1
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x405e90
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d2]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 8]
cmp eax, esi
jae 0x405f29
mov edi, dword [ebp - 0x20]
mov ebx, eax
movzx ecx, word [ebx]
mov esi, 1
test edi, edi
je 0x405ecf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4865e6
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x405ef1
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x30]
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx ecx, byte [eax*8 + 0x4ac0d2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49f454], eax
jne 0x406006
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x38]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
jne 0x48660a
add edi, 2
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebx + 0x7c]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, dword [ebp - 0x34]
jle 0x405de0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x18]
cmp dword [ebp - 0x34], ebx
mov ebx, dword [ebp + 0x10]
je 0x405c40
test edx, edx
jne 0x48b1cd
mov dword [ebp - 0x40], eax
test ecx, ecx
je 0x48b411
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x34], ecx
jge 0x405fdb
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x48b395
movzx ecx, word [eax]
mov edx, dword [ebp - 8]
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x10], ecx
cmp eax, 0xd800
je 0x48b35e
cmp ecx, 0xff
ja 0x48b387
shr dword [ebp - 0x10], 3
mov ebx, dword [ebp - 0x10]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1c]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
jne 0x4065db
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
jmp 0x48b3c7
lea ebx, [ebx + esi*2]
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0x30], ecx
cmp ebx, esi
jb 0x405eb1
jmp 0x405f1d
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
cmp dword [ebp - 0x20], edx
je 0x486b32
movzx esi, word [edi + 2]
add edi, 2
mov eax, esi
and eax, 0xfc00
mov edx, 1
cmp eax, 0xd800
je 0x486a82
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp esi, 0x80
jae 0x486aa6
cmp ecx, 0xff
ja 0x406070
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.0x405c60.151
add edi, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x4064a4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x4060c0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
je 0x486099
cmp ecx, 0xe
jb 0x4060d1
cmp ecx, 0x85
jb case.0x405c60.151
cmp ecx, 0xd
ja 0x48610a
jne 0x4860be
cmp eax, edx
jae 0x4860d8
cmp word [eax], 0xa
jne 0x405f36
add eax, 2
add edi, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x38], edi
jmp 0x405c40
movzx ecx, word [esi + 4]
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0xc], ecx
lea edx, [ecx + ecx]
test eax, eax
jne 0x4856ca
mov eax, dword [ebx + 0x94]
and eax, 0xffff0000
or eax, ecx
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jge 0x4856ef
mov ecx, dword [ebp + 0xc]
cmp edx, ecx
jg 0x485702
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, dword [ebp - 0xc]
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 ecx, dword [ebp - 0x10]
cmp dword [ebp + 0xc], edx
jg 0x405d35
add edx, 2
mov dword [ebp + 0xc], edx
jmp 0x405d38
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x30], ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x4061a6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x4863dd
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x30]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4061cc
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx ecx, word [edi + 2]
cmp ecx, 9
jne 0x486405
movzx eax, word [edi + 4]
mov ecx, dword [eax*4 + 0x4af670]
lea eax, [eax*4 + 0x4af670]
cmp edx, ecx
jb 0x4865b3
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0x406212
mov ecx, dword [eax]
cmp edx, ecx
jae 0x406200
jmp 0x4865b3
cmp esi, 0x10
jne case.0x405c60.151
add edi, 6
mov dword [ebp - 0x38], edi
jmp 0x405c40
cmp dword [ebp - 0x20], edx
je 0x486a53
mov ax, word [edi + 2]
add edi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xd800
mov esi, 1
mov dword [ebp - 0x38], edi
cmp ax, cx
je 0x406625
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp esi, eax
jg 0x48b637
test esi, esi
jle 0x405c40
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 - 0x38], edi
cmp cx, ax
jne case.0x405c60.151
test esi, esi
jle 0x405c40
jmp 0x406270
movzx edx, word [edi + 4]
mov dword [ebp - 0xc], edx
lea eax, [edx + edx]
cmp eax, dword [ebx + 0x14]
jge case.0x405c60.123
mov ecx, dword [ebx + 0xc]
mov edx, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], edx
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ecx], eax
cmp esi, 0x82
jae 0x48ccd0
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 + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00405be0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x48cd27
cmp edx, 0xfffffc20
je 0x48ccdf
test edx, edx
je 0x48cd04
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esi - 0x55]
add edi, 2
test cl, 1
je 0x40662f
mov eax, 1
movsx esi, byte [ecx + 0x49f520]
movsx ecx, byte [ecx + 0x49f528]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jne 0x406377
mov dword [ebp - 0x1c], bind
movzx ecx, word [edi]
add edi, 2
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], edi
cmp ecx, 0x10
je 0x4879f5
cmp ecx, 0xf
je 0x4879ec
or ecx, 0xffffffff
mov dword [ebp - 0x30], ecx
test esi, esi
jg 0x487a14
mov ecx, dword [ebp - 0x20]
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x24]
je 0x405c40
test eax, eax
mov eax, dword [ebp - 0x30]
je 0x4892ef
test eax, eax
jns 0x48ba44
mov eax, dword [ebp + 0x18]
inc eax
cmp dword [ebp - 0x34], 0x16
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
je 0x48c43b
test ecx, ecx
mov ecx, esi
je 0x48c933
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge case.0x405c60.151
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48b505
cmp dword [ebp - 0x34], 0xc
jne 0x406447
cmp dword [ebx + 0x18], 0
je 0x48c5e4
push dword [ebp - 0x20]
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040482b
add esp, 0xc
test eax, eax
jne case.0x405c60.151
mov ecx, dword [ebp - 0x14]
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
je 0x48c61d
mov eax, dword [ebp - 0x34]
cmp eax, 0xc
jne 0x48c63e
cmp dword [ebx + 0x8c], 0
jne 0x48c8f1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
jmp 0x406400
cmp dword [ebx + 0x8c], 0
je case.0x405c60.151
jmp 0x48b1c2
cmp dword [ebx + 0x8c], edx
jmp 0x4064ab
sub eax, 0x62
cmp eax, 7
ja case.default.0x4064d1
movzx eax, byte [eax + 0x406824]
jmp dword [eax*4 + 0x40681c]
add ecx, 0xffffff9e
add edi, 2
mov dword [ebp - 0x38], edi
test cl, 1
jne 0x40661b
xor eax, eax
mov dword [ebp - 0x2c], eax
movsx eax, byte [ecx + 0x49f520]
movsx ecx, byte [ecx + 0x49f528]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x405dbb
mov dword [ebp - 0x18], bind
jmp 0x405dbb
mov eax, dword [ebp - 8]
jmp 0x405f5a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je case.0x405c60.113
mov dword [ebp - 0x38], edi
jmp 0x405c40
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
jmp 0x48539d
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00405be0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x48aeef
test edx, edx
jne 0x48cd53
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x71
jne case.0x405c60.151
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x94], eax
jmp case.0x405c60.123
mov eax, dword [ebp - 0xc]
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 8], edx
mov dword [ebp - 0x34], eax
cmp eax, dword [ebp - 0x18]
jge 0x405fdb
mov eax, edx
jmp 0x405f84
mov dword [ebp - 0x10], edx
jmp 0x485431
add edi, 2
jmp 0x4853f6
mov eax, dword [ebp - 8]
jmp 0x4857c3
mov esi, dword [ebp - 0x20]
jmp 0x485dd8
mov eax, 1
jmp 0x4064ec
mov esi, 2
jmp 0x406254
xor eax, eax
jmp 0x406355
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x4849a6
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.00405be0
add esp, 0x14
jmp 0x405d87
sub ecx, eax
test ecx, ecx
jle 0x4849ae
neg ecx
mov eax, ecx
jmp 0x405d87
mov eax, dword [ebp - 8]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x60]
mov dword [ebp + 0x14], eax
mov dword [ebx + 0x9c], 0
jmp 0x405c40
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x48af1b
movzx eax, word [edi]
movzx ecx, byte [eax + 0x49f530]
movzx eax, word [edi + 2]
add ecx, eax
lea edi, [edi + ecx*2]
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov eax, dword [ebp - 8]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x30], 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.00405be0
add esp, 0x14
cmp eax, 1
je 0x484a84
cmp eax, 0xfffffc20
jne 0x484a61
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x405d87
cmp word [edi], 0x71
je 0x484a69
cmp word [ecx], 0x71
jne 0x405d87
jmp 0x484a69
test eax, eax
jne 0x405d87
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x71
je 0x484a15
mov ecx, dword [ebp + 8]
jmp 0x484a8d
mov ecx, dword [ebx + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [edi]
cmp eax, 0x7c
je 0x484a9e
cmp eax, 0x71
jne case.0x405c60.151
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x484a9e
cmp word [edi], 0x72
mov edx, dword [ebx + 0x90]
mov eax, dword [ebx + 0x84]
mov dword [ebp + 0xc], edx
mov dword [ebp - 8], eax
je 0x48726f
cmp eax, dword [ebp - 0x28]
jne 0x48ad6a
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
cmp word [edi + 4], 0x70
movzx eax, word [edi + 2]
mov dword [ebp - 0x10], eax
jne 0x484bb2
mov ecx, dword [0x4c44ec]
test ecx, ecx
je 0x484ba9
mov dword [ebp - 0xa0], 2
movzx eax, word [edi + 6]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0x7c]
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
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x88], eax
movzx eax, word [edi + 8]
mov dword [ebp - 0x78], eax
movzx eax, word [edi + 0xa]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x84], eax
movzx eax, word [ebx + 0x94]
or edx, 0xffffffff
test eax, eax
cmove eax, edx
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0xa0]
push eax
call ecx
add esp, 4
test eax, eax
jg case.0x405c60.151
js 0x405d87
mov eax, dword [ebp - 0x10]
add edi, 8
sub eax, 4
mov dword [ebp - 0x10], eax
movzx ecx, word [edi + 4]
lea edx, [edi + 4]
cmp ecx, 0x89
je 0x484d65
cmp ecx, 0x8a
je 0x484d65
cmp ecx, 0x87
je 0x484c3b
cmp ecx, 0x88
je 0x484c3b
cmp ecx, 0x8b
jne 0x484bf5
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
jmp 0x484e9c
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]
push dword [ebp + 8]
call fcn.00405be0
add esp, 0x14
cmp eax, 1
je 0x48adb4
test eax, eax
je 0x484c30
cmp eax, 0xfffffc20
jne 0x405d87
mov eax, dword [ebp - 0x10]
lea edi, [edi + eax*2]
jmp 0x484e9c
movzx edx, word [edi + 6]
add edx, edx
cmp edx, dword [ebp + 0xc]
jge 0x484c53
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jge 0x484e87
xor eax, eax
mov dword [ebp - 0x18], eax
cmp ecx, 0x88
jne 0x484e81
mov ecx, dword [ebx + 0x30]
sar edx, 1
mov dword [ebp - 0xc], edx
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x10], edx
cmp dword [ebx + 0x20], eax
jle 0x484c96
movzx eax, word [ecx]
cmp eax, dword [ebp - 0xc]
je 0x484c8d
mov eax, dword [ebx + 0x24]
inc edx
lea ecx, [ecx + eax*2]
cmp edx, dword [ebx + 0x20]
jl 0x484c79
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [ebx + 0x20]
jge 0x484e81
mov dword [ebp - 0x38], ecx
cmp ecx, dword [ebx + 0x30]
jbe 0x484cfe
mov eax, dword [ebx + 0x24]
add eax, eax
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x30], eax
sub ecx, eax
mov dword [ebp - 0x38], ecx
lea edx, [ecx + 2]
mov ecx, dword [ebp - 0xc]
call fcn.004725e3
test eax, eax
jne 0x484cf5
mov ecx, dword [ebp - 0x38]
movzx edx, word [ecx]
add edx, edx
cmp edx, dword [ebp + 0xc]
jge 0x484ce6
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jge 0x484e87
xor eax, eax
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebx + 0x30]
jbe 0x484cf8
mov eax, dword [ebp - 0x30]
jmp 0x484cb8
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebx + 0x20]
jge 0x484e81
mov eax, dword [ebx + 0x24]
add eax, eax
lea edx, [ecx + 2]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0xc], edx
add ecx, eax
mov dword [ebp - 0x34], ecx
lea edx, [ecx + 2]
mov ecx, dword [ebp - 0xc]
call fcn.004725e3
test eax, eax
jne 0x484e7e
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx]
add edx, edx
cmp edx, dword [ebp + 0xc]
jge 0x484d4b
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jge 0x484e87
mov edx, dword [ebp - 0x10]
inc edx
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], edx
cmp edx, dword [ebx + 0x20]
jge 0x484e81
mov eax, dword [ebp - 0x30]
jmp 0x484d19
mov edx, dword [ebx + 0xa8]
test edx, edx
jne 0x484d7b
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
jmp 0x484e9c
movzx eax, word [edi + 6]
mov dword [ebp - 0xc], eax
cmp eax, 0xffff
je 0x484e87
mov edx, dword [edx + 4]
mov dword [ebp - 0x30], edx
cmp eax, edx
je 0x484e87
xor eax, eax
mov dword [ebp - 0x18], eax
cmp ecx, 0x8a
jne 0x484e81
mov ecx, dword [ebx + 0x30]
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x10], edx
cmp dword [ebx + 0x20], eax
jle 0x484dd9
movzx eax, word [ecx]
cmp eax, dword [ebp - 0xc]
je 0x484dd0
mov eax, dword [ebx + 0x24]
inc edx
lea ecx, [ecx + eax*2]
cmp edx, dword [ebx + 0x20]
jl 0x484dbc
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [ebx + 0x20]
jge 0x484e81
mov dword [ebp - 0x38], ecx
cmp ecx, dword [ebx + 0x30]
jbe 0x484e32
mov eax, dword [ebx + 0x24]
add eax, eax
add ecx, 2
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
sub ecx, eax
mov dword [ebp - 0x38], ecx
lea edx, [ecx + 2]
mov ecx, dword [ebp - 0xc]
call fcn.004725e3
test eax, eax
jne 0x484e29
mov ecx, dword [ebp - 0x38]
movzx eax, word [ecx]
cmp eax, dword [ebp - 0x30]
je 0x484e87
xor eax, eax
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebx + 0x30]
jbe 0x484e2c
mov eax, dword [ebp - 0x28]
jmp 0x484dfb
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x34]
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebx + 0x20]
jge 0x484e81
mov eax, dword [ebx + 0x24]
add eax, eax
lea edx, [ecx + 2]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], edx
add ecx, eax
mov dword [ebp - 0x34], ecx
lea edx, [ecx + 2]
mov ecx, dword [ebp - 0xc]
call fcn.004725e3
test eax, eax
jne 0x484e7e
mov ecx, dword [ebp - 0x34]
movzx eax, word [ecx]
cmp eax, dword [ebp - 0x30]
je 0x484e87
mov edx, dword [ebp - 0x10]
inc edx
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], edx
cmp edx, dword [ebx + 0x20]
jge 0x484e81
mov eax, dword [ebp - 0x28]
jmp 0x484e49
mov eax, dword [ebp - 0x18]
movzx ecx, word [edi + 2]
jmp 0x484e91
mov ecx, 2
mov eax, 1
lea edi, [edi + ecx*2]
test eax, eax
jne 0x48ade5
cmp word [edi], 0x71
je 0x48ade5
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
movzx esi, word [edi + 2]
mov eax, dword [ebx + 0x94]
and eax, 0xffff0000
or eax, esi
lea edx, [esi + esi]
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x484ee6
or eax, 0x10000
add edi, 4
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, esi
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
cmp dword [ebp + 0xc], edx
jg 0x484f0e
lea eax, [edx + 2]
mov dword [ebp + 0xc], eax
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x484f38
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x484f3a
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.00405be0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x484fb3
cmp ecx, 0xfffffc19
je 0x484fb3
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x484f9b
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x4849ae
cmp word [edi], 0x71
je 0x484fa3
cmp word [eax], 0x71
jne 0x4849ae
jmp 0x484fa3
test ecx, ecx
jne 0x4849ae
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x484f3a
jmp 0x484fbc
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
cmp word [edi], 0x72
je case.0x405c60.151
test esi, esi
jne 0x405d82
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x484fce
mov eax, dword [ebx + 0x90]
add edi, 4
mov dword [ebp - 0x38], edi
mov dword [ebp + 0xc], eax
jmp 0x405c40
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x48500f
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x485011
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.00405be0
mov ecx, eax
mov eax, dword [ebp - 0xc]
add esp, 0x14
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jg 0x48506d
jne 0x485082
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x48509d
cmp word [edi], 0x71
je 0x48505d
cmp word [eax], 0x71
jne 0x48509d
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x485011
jmp 0x4850ab
mov eax, ecx
sub eax, 0
je 0x48505d
dec eax
je case.0x405c60.151
mov eax, ecx
jmp 0x405d87
cmp ecx, 0xfffffc19
je case.0x405c60.151
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x4849ae
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48509d
test esi, esi
jne 0x405d82
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
cmp dword [ebp - 0x20], edx
je 0x485102
movzx ecx, word [edi + 2]
test ecx, ecx
jle 0x48511c
mov eax, dword [ebp - 8]
sub eax, 2
dec ecx
mov dword [ebp - 8], eax
cmp eax, dword [ebx + 0x78]
jb case.0x405c60.151
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x4850fc
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x4850cb
jmp 0x48511f
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.0x405c60.151
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x88]
jae 0x48512d
mov dword [ebx + 0x88], eax
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov ecx, dword [0x4c44ec]
test ecx, ecx
je 0x4851ff
mov dword [ebp - 0xd4], 2
movzx eax, word [edi + 2]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebx + 0x7c]
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
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xbc], eax
movzx eax, word [edi + 4]
mov dword [ebp - 0xac], eax
movzx eax, word [edi + 6]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xb8], eax
movzx eax, word [ebx + 0x94]
or edx, 0xffffffff
test eax, eax
cmove eax, edx
mov dword [ebp - 0xb4], eax
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xd4]
push eax
call ecx
add esp, 4
test eax, eax
jg case.0x405c60.151
js 0x405d87
add edi, 8
mov dword [ebp - 0x38], edi
jmp 0x405c40
movzx eax, word [edi + 2]
mov ecx, dword [ebx + 0x74]
lea esi, [ecx + eax*2]
cmp esi, ecx
jne 0x48521c
xor edx, edx
jmp 0x485220
movzx edx, word [esi + 4]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x485247
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x485241
cmp eax, dword [ecx + 0x14]
jne 0x485241
mov eax, 0xffffffe6
jmp 0x405d87
mov ecx, dword [ecx]
test ecx, ecx
jne 0x48522d
mov dword [ebp - 0x54], edx
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
mov dword [ebx + 0xa8], eax
mov ecx, dword [ebx + 0x10]
add edi, 4
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x4c], ecx
cmp ecx, 0x1e
jg 0x485287
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x50], eax
jmp 0x4852a6
lea eax, [ecx*4]
push eax
call dword [0x4bcddc]
add esp, 4
mov dword [ebp - 0x50], eax
test eax, eax
je 0x48afd9
mov ecx, dword [ebp - 0x4c]
shl ecx, 2
push ecx
push dword [ebx + 0xc]
push eax
call fcn.00420560
mov eax, 0x82
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4852d2
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 + 0x49f530]
push dword [ebp + 0xc]
lea edx, [esi + eax*2]
push dword [ebp + 8]
call fcn.00405be0
mov ecx, dword [ebp - 0x4c]
add esp, 0x14
shl ecx, 2
push ecx
push dword [ebp - 0x50]
mov dword [ebp - 0xc], eax
push dword [ebx + 0xc]
call fcn.00420560
mov eax, dword [ebp - 0x48]
mov dword [ebx + 0x94], eax
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0xc]
add esp, 0xc
cmp eax, 1
je 0x48536f
cmp eax, 0xfffffc19
je 0x48536f
cmp eax, 0xfffffc1c
jl 0x485344
cmp eax, 0xfffffc20
jle case.0x405c60.151
test eax, eax
jne 0x48afb6
lea eax, [ebp - 0x58]
mov dword [ebx + 0xa8], eax
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
jne 0x48af8d
mov eax, dword [ebp - 0x30]
jmp 0x4852c4
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x485386
push eax
call dword [0x4bc80c]
add esp, 4
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x405c40
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48539d
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
add edi, 2
mov dword [ebp - 0x38], edi
mov edx, edi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
je 0x4853be
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.00405be0
add esp, 0x14
test eax, eax
je 0x405c40
jmp 0x405d87
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4853f6
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
movzx esi, word [edi + 2]
add edi, 2
mov dword [ebp - 0x10], 1
cmp esi, 0x80
je 0x485431
cmp esi, 0x85
jne 0x4855a0
movzx edx, word [edi + 4]
mov dword [ebp - 0x18], edx
lea eax, [edx + edx]
cmp eax, dword [ebx + 0x14]
jge case.0x405c60.126
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ecx, edi
sub ecx, dword [ebx + 0x74]
shl eax, 2
sar ecx, 1
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x28], eax
mov edx, dword [eax + ecx]
mov eax, dword [eax + ecx + 4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], edx
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 8]
sub edx, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp esi, 0x82
jb 0x4854a4
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 + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00405be0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x4854fd
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 ecx, 1
mov dword [ebp - 0x34], ecx
jmp 0x485475
cmp ecx, 0xfffffc20
jne 0x48552a
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x4849ae
cmp word [edi], 0x71
je 0x485532
cmp word [eax], 0x71
jne 0x4849ae
jmp 0x485532
test ecx, ecx
jne 0x4849ae
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x94], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48547e
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x48557c
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x38]
mov dword [ecx + eax], edx
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x2c]
mov dword [ecx + eax + 4], edx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x1c]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x10], 0
jne 0x48726f
test eax, eax
je case.0x405c60.151
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov dword [ebp - 0x10], 0
mov eax, edi
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0x30], 0
sar eax, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x28], eax
cmp esi, 0x82
jb 0x4855cc
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 + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00405be0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x485621
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 - 0x30], 1
lea edi, [eax + ecx*2]
jmp 0x4855ba
cmp ecx, 0xfffffc20
jne 0x48564e
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x4849ae
cmp word [edi], 0x71
je 0x485656
cmp word [eax], 0x71
jne 0x4849ae
jmp 0x485656
test ecx, ecx
jne 0x4849ae
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
jne 0x485672
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x94], eax
jmp 0x4855ba
cmp dword [ebp - 0x30], 0
jne 0x48726f
cmp dword [ebp - 0x10], 0
je case.0x405c60.151
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov dword [ebp + 0x14], edx
jmp 0x405ced
cmp eax, 0x77
jb 0x405cf9
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 0x405d82
cmp dword [eax + 4], ecx
jne 0x40611b
mov eax, dword [ebp - 8]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x80], eax
mov eax, 1
jmp 0x405d87
mov ecx, dword [ebp - 0x10]
or eax, 0x10000
mov dword [ebx + 0x94], eax
jmp 0x405d35
mov eax, dword [ebx + 0xc]
lea ecx, [eax + ecx*4]
mov dword [ebp - 0x30], ecx
lea ecx, [eax + edx*4]
mov eax, dword [ebp - 0x30]
cmp eax, ecx
jae 0x406142
mov edi, dword [ebp - 0x30]
sub ecx, eax
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x38]
jmp 0x406142
mov eax, dword [ebp - 8]
cmp eax, ecx
je 0x405d42
movzx ecx, word [edi]
cmp ecx, 0x75
je 0x48b04d
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push edx
push dword [ebp + 8]
cmp ecx, 0x74
jne 0x48adfc
mov esi, dword [ebp - 8]
lea edx, [edi + 4]
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov edi, dword [ebp - 0x18]
movzx eax, word [edi]
cmp eax, 0x7b
je 0x48afe3
mov ecx, 0x82
cmp ax, cx
jb 0x405cab
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.00405be0
add esp, 0x14
jmp 0x405d87
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x4857c3
cmp eax, dword [ebx + 0x78]
je case.0x405c60.151
cmp eax, dword [ebx + 0x78]
jne case.0x405c60.151
add edi, 2
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x4857e8
cmp eax, dword [ebx + 0x78]
je case.0x405c60.151
mov ecx, dword [ebx + 0x78]
cmp eax, ecx
je 0x405f36
cmp eax, dword [ebx + 0x7c]
je case.0x405c60.151
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x48582b
cmp eax, ecx
jbe case.0x405c60.151
push dword [ebp - 0x20]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00472648
add esp, 0xc
test eax, eax
je case.0x405c60.151
jmp 0x405f36
mov esi, dword [ebx + 0x1c]
lea edx, [esi + esi]
lea eax, [ecx + edx]
cmp dword [ebp - 8], eax
jb case.0x405c60.151
mov ecx, dword [ebp - 8]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne case.0x405c60.151
cmp esi, 1
je 0x405f36
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
jne case.0x405c60.151
jmp 0x405f36
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp dword [ebp - 8], eax
jne case.0x405c60.151
add edi, 2
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov eax, dword [ebp - 8]
add edi, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x38], edi
jmp 0x405c40
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x485961
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x48592a
push dword [ebp - 0x20]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0040482b
add esp, 0xc
test eax, eax
jne 0x405f36
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x405c60.151
add eax, 2
cmp eax, dword [ebx + 0x7c]
jb case.0x405c60.151
cmp dword [ebx + 0x18], 0
jne case.0x405c60.151
cmp dword [ebx + 0x1c], 2
jne case.0x405c60.151
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne case.0x405c60.151
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x405c60.151
mov eax, 0xfffffff4
jmp 0x405d87
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4858cf
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x4858cc
cmp edx, 1
je 0x405f36
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x4858cc
jmp 0x405f36
cmp dword [ebx + 0x4c], edx
jne case.0x405c60.151
cmp dword [ebx + 0x8c], edx
jmp 0x485979
cmp dword [ebx + 0x8c], 0
je 0x405f36
cmp eax, dword [ebx + 0x88]
jbe 0x405f36
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
add edi, 2
mov dword [ebp - 0x38], edi
jmp 0x405c40
cmp dword [ebx + 0x4c], edx
jne case.0x405c60.151
cmp dword [ebx + 0x5c], edx
je case.0x405c60.23
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jb case.0x405c60.151
cmp dword [ebx + 0x8c], edx
jmp 0x485979
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x485972
mov edx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
test edx, edx
je 0x4859f4
push dword [ebp - 0x20]
push esi
push ecx
mov ecx, eax
call fcn.0040482b
add esp, 0xc
test eax, eax
jne 0x485a29
jmp 0x4858cc
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x4858cf
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x4858cc
cmp edx, 1
je 0x485a29
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x4858cc
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 0x4858cf
jmp 0x485972
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x20], edx
je 0x485bf4
cmp eax, dword [ebx + 0x78]
je 0x485b2c
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x485a73
sub edx, 2
cmp edx, dword [ebx + 0x88]
jae 0x485a81
mov dword [ebx + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485aac
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 0x485b0e
cmp ecx, 0x5f
jne 0x485abf
mov eax, dword [ebp - 8]
lea esi, [ecx - 0x5e]
jmp 0x485b2e
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x485ae1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x485b04
cmp eax, 3
jne 0x485b29
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485b2e
cmp ecx, 0x100
jae 0x485b29
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x485b29
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485b2e
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x485b96
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485b61
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 0x485bdd
cmp ecx, 0x5f
je 0x485d1d
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
js 0x485cc9
jmp 0x485cce
cmp dword [ebx + 0x8c], 0
je 0x485bbb
cmp eax, dword [ebx + 0x88]
jbe 0x485bbb
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
xor ecx, ecx
mov ax, word [edi]
add edi, 2
mov dword [ebp - 0x38], edi
cmp ax, 5
jne 0x485d27
cmp ecx, esi
jne 0x405c40
jmp case.0x405c60.151
cmp ecx, 0x100
jae 0x485bbb
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne 0x485d1d
jmp 0x485bbb
cmp eax, dword [ebx + 0x78]
je 0x485c93
cmp eax, dword [ebx + 0x88]
ja 0x485c11
add eax, 0xfffffffe
mov dword [ebx + 0x88], eax
mov eax, dword [ebp - 8]
movzx ecx, word [eax - 2]
cmp dword [ebx + 0x58], edx
je 0x485c73
cmp ecx, 0x5f
jne 0x485c24
lea esi, [ecx - 0x5e]
jmp 0x485c95
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x485c46
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x485c69
cmp eax, 3
jne 0x485c90
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485c95
mov edx, 0xff
cmp cx, dx
ja 0x485c93
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x485c90
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485c95
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x485b96
cmp dword [ebx + 0x58], 0
je 0x485cfd
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x485d1d
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x485cce
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x485d1d
cmp eax, 3
jne 0x485bbb
lea ecx, [eax - 2]
jmp 0x485bbd
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x485bbb
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x485bbb
mov ecx, 1
jmp 0x485bbd
cmp ecx, esi
je 0x405c40
jmp case.0x405c60.151
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x7c]
test edx, edx
je 0x485d63
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
cmp eax, ecx
jae 0x485d9b
push esi
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0040482b
add esp, 0xc
test eax, eax
jne case.0x405c60.151
jmp 0x485d98
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x485d95
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x485d95
cmp edx, 1
je case.0x405c60.151
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
je case.0x405c60.151
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je 0x485ddb
add eax, 2
cmp eax, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
jb 0x485ddb
cmp dword [ebx + 0x18], 0
jne 0x485ddb
cmp dword [ebx + 0x1c], 2
jne 0x485ddb
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x485dd8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + 0x7c]
cmp eax, ecx
jae 0x4064a4
add eax, 2
mov dword [ebp - 8], eax
test esi, esi
je 0x405f36
cmp eax, ecx
jae 0x405f36
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x405f36
add dword [ebp - 8], 2
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
add eax, 2
mov dword [ebp - 8], eax
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x485e7d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485e7d
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 0x405f36
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x405c60.151
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x485ee3
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485ee3
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.0x405c60.151
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x405c60.151
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x485f49
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485f49
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 0x405f36
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x405c60.151
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x485faf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485faf
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.0x405c60.151
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x405c60.151
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x486015
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486015
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 0x405f36
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x405c60.151
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x48607b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48607b
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.0x405c60.151
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x405c60.151
jmp 0x405f36
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
jmp 0x4060c0
cmp ecx, 0xa
je 0x405f36
jbe case.0x405c60.151
cmp ecx, 0xc
ja case.0x405c60.151
jmp 0x486121
cmp dword [ebx + 0x8c], 0
je 0x405f36
cmp eax, dword [ebx + 0x88]
jbe 0x405f36
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
jmp 0x405f36
cmp ecx, 0x85
je 0x486121
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x405c60.151
cmp dword [ebx + 0x6c], 0
jne case.0x405c60.151
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x486178
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486178
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 0x4861bc
je case.0x405c60.151
cmp ecx, 0xa0
ja 0x4861ab
je case.0x405c60.151
cmp ecx, 9
je case.0x405c60.151
cmp ecx, 0x20
je case.0x405c60.151
jmp 0x405f36
cmp ecx, 0x1680
je case.0x405c60.151
jmp 0x405f36
cmp ecx, 0x205f
ja 0x4861f3
je case.0x405c60.151
cmp ecx, 0x2000
jb 0x405f36
cmp ecx, 0x200a
jbe case.0x405c60.151
cmp ecx, 0x202f
je case.0x405c60.151
jmp 0x405f36
cmp ecx, 0x3000
je case.0x405c60.151
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x48624c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48624c
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 0x486290
je 0x405f36
cmp ecx, 0xa0
ja 0x48627f
je 0x405f36
cmp ecx, 9
je 0x405f36
cmp ecx, 0x20
jne case.0x405c60.151
jmp 0x405f36
cmp ecx, 0x1680
jne case.0x405c60.151
jmp 0x405f36
cmp ecx, 0x205f
ja 0x4862c7
je 0x405f36
cmp ecx, 0x2000
jb case.0x405c60.151
cmp ecx, 0x200a
jbe 0x405f36
cmp ecx, 0x202f
jne case.0x405c60.151
jmp 0x405f36
cmp ecx, 0x3000
jne case.0x405c60.151
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x486320
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486320
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 0x486345
je case.0x405c60.151
cmp ecx, 0xa
jb 0x405f36
cmp ecx, 0xd
jbe case.0x405c60.151
jmp 0x405f36
cmp ecx, 0x2028
jb 0x405f36
cmp ecx, 0x2029
jbe case.0x405c60.151
jmp 0x405f36
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x20], edx
je 0x4863aa
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4863aa
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 0x4863c9
je 0x405f36
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x405c60.151
jmp 0x405f36
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x405c60.151
jmp 0x405f36
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 - 0x30], ecx
jmp 0x4061a6
cmp ecx, 0xa
ja case.default.0x48640e
jmp dword [ecx*4 + 0x48d044]
cmp esi, 0xf
je case.0x405c60.151
jmp 0x40621b
mov al, byte [eax*8 + 0x4ac0d1]
cmp al, 9
je 0x48643a
cmp al, 5
je 0x48643a
cmp al, 8
je 0x48643a
xor ecx, ecx
jmp 0x486443
mov ecx, 1
jmp 0x486443
xor ecx, ecx
xor eax, eax
cmp esi, 0xf
sete al
cmp ecx, eax
je case.0x405c60.151
jmp 0x40621b
movzx ecx, byte [eax*8 + 0x4ac0d1]
movzx eax, word [edi + 4]
xor edx, edx
cmp eax, dword [ecx*4 + 0x4b6cf0]
setne dl
xor eax, eax
cmp esi, 0x10
sete al
cmp edx, eax
je case.0x405c60.151
jmp 0x40621b
movzx eax, byte [eax*8 + 0x4ac0d1]
jmp 0x486497
movzx eax, byte [eax*8 + 0x4ac0d0]
xor ecx, ecx
cmp word [edi + 4], ax
setne cl
xor eax, eax
cmp esi, 0x10
sete al
cmp ecx, eax
je case.0x405c60.151
jmp 0x40621b
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x48643a
cmp eax, 3
je 0x48643a
xor ecx, ecx
jmp 0x486443
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x48643a
cmp edx, 9
je 0x48643a
cmp edx, 0xa
jmp 0x486504
cmp edx, 0xb
je 0x48643a
cmp edx, 0xc
je 0x48643a
cmp edx, 0xd
jmp 0x48651b
cmp edx, 0x5f
je 0x48643a
jmp 0x486441
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x48643a
cmp edx, 9
je 0x48643a
cmp edx, 0xa
je 0x48643a
jmp 0x486501
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x48643a
cmp eax, 3
je 0x48643a
jmp 0x486518
cmp edx, 0x24
je 0x48643a
cmp edx, 0x40
je 0x48643a
cmp edx, 0x60
je 0x48643a
cmp edx, 0xa0
jb 0x4865a2
cmp edx, 0xd7ff
jbe 0x48643a
cmp edx, 0xe000
jae 0x48643a
jmp 0x486441
cmp esi, 0x10
je case.0x405c60.151
jmp 0x40621b
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 0x405e6e
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov esi, 2
jmp 0x405ecf
cmp eax, esi
jb 0x405f36
jmp 0x48597f
movzx ecx, word [edi + 2]
xor edx, edx
cmp esi, 0x6e
sete dl
add ecx, ecx
add edi, 4
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x28], edx
cmp ecx, dword [ebp + 0xc]
jge 0x486648
mov eax, dword [ebx + 0xc]
cmp dword [eax + ecx*4], 0
jl 0x486648
mov esi, dword [eax + ecx*4 + 4]
sub esi, dword [eax + ecx*4]
jmp 0x486652
mov esi, dword [ebx + 0x54]
neg esi
sbb esi, esi
neg esi
dec esi
movzx eax, word [edi]
add eax, 0xffffff9e
mov dword [ebp - 0x2c], esi
cmp eax, 7
ja case.default.0x48666b
movzx eax, byte [eax + 0x48d078]
jmp dword [eax*4 + 0x48d070]
movzx eax, word [edi]
movsx edx, byte [eax + 0x49f4c6]
add eax, 0xffffff9e
movzx ecx, al
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x49f520]
add edi, 2
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x4866d0
mov edx, bind
jmp 0x4866cd
movzx edx, word [edi + 4]
movzx ecx, word [edi + 2]
xor eax, eax
cmp word [edi], 0x69
mov dword [ebp - 0x10], ecx
sete al
test edx, edx
mov dword [ebp - 0xc], eax
mov eax, bind
cmove edx, eax
add edi, 6
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x18], edx
test esi, esi
je 0x405c40
jns 0x4866e2
test ecx, ecx
je 0x405c40
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], 1
cmp ecx, 1
jl 0x486727
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
push ebx
push esi
mov edx, eax
call fcn.004723ad
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x48b19f
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x30]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x10]
inc edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x30], edx
cmp edx, ecx
jle 0x4866f1
mov edx, dword [ebp - 0x18]
cmp ecx, edx
je 0x405c40
cmp dword [ebp - 0xc], 0
je 0x48b0f0
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x10], eax
jge case.0x405c60.151
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
push ebx
push dword [ebp - 0x2c]
mov edx, esi
call fcn.004723ad
add esp, 0xc
test eax, eax
js 0x48b0ca
inc dword [ebp - 0x10]
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.00405be0
add esp, 0x14
test eax, eax
je 0x48675f
jmp 0x405d87
push edx
mov edx, dword [ebp - 8]
push ebx
push esi
call fcn.004723ad
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x48b19f
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x405c40
movzx ecx, word [edi + 4]
movzx eax, word [edi + 2]
xor edx, edx
cmp word [edi], 0x69
mov dword [ebp - 0xc], bind
sete dl
test ecx, ecx
cmove ecx, dword [ebp - 0xc]
add edi, 6
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x38], edi
jmp 0x405db8
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 - 0x30], ecx
jmp 0x405e09
cmp esi, 0x6a
je case.0x405c60.151
jmp 0x405f41
cmp eax, 1
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
jl 0x405f5a
mov ecx, dword [ebp - 0x34]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx ebx, word [eax]
add eax, 2
mov dword [ebp - 0x10], ebx
cmp ebx, 0xff
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], eax
jbe 0x48687a
cmp esi, 0x6a
je case.0x405c60.151
jmp 0x4868a3
mov ecx, dword [ebp - 0x10]
shr dword [ebp - 0x10], 3
mov ebx, dword [ebp - 0x10]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1c]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0x405c60.151
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x34]
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jle 0x48684f
jmp 0x405f57
lea eax, [edi + 4]
mov dword [ebp - 0x28], eax
movzx eax, word [edi + 2]
movzx edx, word [edi + eax*2]
lea edi, [edi + eax*2]
mov ecx, edx
mov dword [ebp - 0x38], edi
lea eax, [ecx - 0x62]
cmp eax, 7
ja case.default.0x4868d5
movzx eax, byte [eax + 0x48d088]
jmp dword [eax*4 + 0x48d080]
lea eax, [ecx - 0x62]
movzx ecx, al
movsx edx, byte [eax + 0x49f520]
movsx eax, byte [eax + 0x49f528]
add edi, 2
and ecx, 1
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x486942
mov eax, bind
jmp 0x48693f
movzx eax, word [edi + 4]
xor ecx, ecx
cmp edx, 0x69
movzx edx, word [edi + 2]
sete cl
test eax, eax
mov esi, bind
cmove eax, esi
add edi, 6
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x2c], ecx
jmp 0x48693c
mov ecx, dword [ebp - 0x2c]
mov eax, 1
mov edx, eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x30], 1
cmp edx, 1
jl 0x4869c2
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx esi, word [eax]
mov ecx, dword [ebp - 0x20]
add eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
je 0x486998
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486998
mov eax, dword [ebp - 8]
and esi, 0x3ff
movzx eax, word [eax]
shl esi, 0xa
and eax, 0x3ff
or esi, eax
add esi, 0x10000
add dword [ebp - 8], 2
mov edx, dword [ebp - 0x28]
push ecx
mov ecx, esi
call fcn.004727b4
add esp, 4
test eax, eax
je case.0x405c60.151
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x18]
inc esi
mov dword [ebp - 0x30], esi
cmp esi, edx
jle 0x48694e
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x10]
cmp edx, eax
je 0x405c40
mov esi, dword [ebp - 8]
test ecx, ecx
je 0x48b51d
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x18], eax
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
mov ecx, dword [ebp - 0x20]
add esi, 2
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x48b4c1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b4c1
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
add esi, 2
jmp 0x48b4c4
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x48b658
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [edi + 2], ax
jne case.0x405c60.151
add edi, 4
jmp 0x405f39
movzx eax, word [edi + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
add esi, 0x10000
mov edx, 2
jmp 0x40604f
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x30], ecx
cmp eax, 0xd800
jne 0x486ae0
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 - 0x30], ecx
lea edi, [edi + edx*2]
mov dword [ebp - 0x38], edi
cmp esi, ecx
je 0x405c40
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x486b11
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
mov eax, dword [eax*8 + 0x4ac0d4]
add eax, esi
cmp dword [ebp - 0x30], eax
je 0x405c40
jmp case.0x405c60.151
movzx ecx, word [edi + 2]
mov edx, 0xff
cmp cx, dx
ja 0x486b4c
mov eax, dword [ebx + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x486b4e
mov edx, ecx
movzx ecx, word [eax]
mov esi, 0xff
cmp cx, si
ja 0x486b65
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x405c60.151
add eax, 2
mov dword [ebp - 8], eax
add edi, 4
jmp 0x405f39
movzx eax, word [edi + 2]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
add edi, 4
jmp 0x486c55
mov edx, 1
mov dword [ebp - 0x24], edx
movzx eax, word [edi + 2]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], eax
cmp ecx, 0x28
je 0x486bba
cmp ecx, 0x35
je 0x486bba
xor eax, eax
add edi, 4
jmp 0x486c52
mov eax, 1
add edi, 4
jmp 0x486c52
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], bind
add edi, 2
jmp 0x486c55
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], bind
add edi, 2
jmp 0x486c55
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], edx
add edi, 2
jmp 0x486c55
cmp esi, 0x2e
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
mov ecx, esi
sub ecx, eax
movzx eax, cl
movsx ebx, byte [ecx + 0x49f520]
movsx ecx, byte [ecx + 0x49f528]
mov dword [ebp - 0x1c], ebx
add edi, 2
and eax, 1
mov ebx, bind
test ecx, ecx
cmove ecx, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x486ec5
movzx eax, word [edi]
mov dword [ebp - 0x18], eax
and eax, 0xfc00
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x28], edi
cmp eax, 0xd800
jne 0x486ca8
mov ebx, dword [ebp - 0x18]
movzx eax, word [edi + 2]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x18], eax
mov eax, 2
mov dword [ebp - 0x10], eax
jmp 0x486cad
mov eax, 1
lea edx, [eax + eax]
add edi, edx
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x38], edi
cmp eax, 1
jle 0x486ed6
cmp esi, 0x2e
jb 0x486d19
mov esi, dword [ebp - 0x18]
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x486cef
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
mov ecx, dword [eax*8 + 0x4ac0d4]
add ecx, esi
cmp ecx, esi
je 0x486d16
lea edx, [ebp - 0x6c]
call fcn.00472701
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
jmp 0x486d20
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x18], 0
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0xc], 1
cmp esi, 1
jl 0x486da6
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x486d5a
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x28]
push ecx
call fcn.00420c43
add esp, 0xc
test eax, eax
jne 0x486d57
mov eax, dword [ebp - 0x14]
jmp 0x486d95
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
test edx, edx
jle 0x48b672
lea eax, [edx + edx]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x30]
cmp ecx, eax
ja 0x48b672
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x6c]
push eax
push ecx
call fcn.00420c43
add esp, 0xc
test eax, eax
jne 0x48b66f
mov eax, dword [ebp - 0x30]
add dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, esi
jle 0x486d2f
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x34]
cmp esi, ecx
je 0x405c40
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x48b68d
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], eax
cmp esi, ecx
jge 0x486e62
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x486df5
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x28]
push ecx
call fcn.00420c43
add esp, 0xc
test eax, eax
jne 0x486df2
mov eax, dword [ebp - 0x14]
jmp 0x486e24
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
test edx, edx
jle 0x486e2f
lea eax, [edx + edx]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0xc]
cmp ecx, eax
ja 0x486e2f
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x6c]
push eax
push ecx
call fcn.00420c43
add esp, 0xc
test eax, eax
jne 0x486e2f
mov eax, dword [ebp - 0xc]
add dword [ebp - 8], eax
inc esi
cmp esi, dword [ebp - 0x34]
jl 0x486dca
jmp 0x486e5c
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x486e5f
cmp eax, dword [ebx + 0x7c]
jb 0x486e5c
cmp eax, dword [ebx + 0x88]
jbe 0x486e5c
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x405c40
cmp eax, dword [ebp - 0x30]
je 0x405cae
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ax, word [esi - 2]
sub esi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
mov dword [ebp - 8], esi
cmp ax, cx
jne 0x486ebb
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x30]
jne 0x486e76
jmp 0x405cae
movzx ebx, word [edi]
add edi, 2
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x38], edi
jmp 0x486ed9
mov eax, dword [ebp - 0x2c]
cmp esi, 0x2e
jb 0x48703e
mov esi, dword [ebp - 0x18]
test ecx, ecx
je 0x486f2f
cmp esi, 0x7f
jbe 0x486f2f
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x486f11
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x24]
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
mov eax, dword [eax*8 + 0x4ac0d4]
add eax, esi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x2c]
jmp 0x486f44
cmp esi, 0xff
ja 0x486f41
mov eax, dword [ebx + 0x40]
movzx esi, byte [eax + esi]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
cmp ecx, 1
jl 0x486f87
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
cmp dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x24]
je 0x486f79
movzx ebx, word [esi]
cmp dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
jne case.0x405c60.151
inc dword [ebp - 0x10]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x10], ecx
jle 0x486f56
cmp ecx, dword [ebp - 0x34]
je 0x405c40
test eax, eax
jne 0x48b755
mov eax, dword [ebp - 8]
mov esi, eax
mov dword [ebp - 0x10], esi
cmp ecx, dword [ebp - 0x34]
jge 0x486ff8
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x486fd0
movzx edx, word [eax]
cmp esi, edx
mov edx, dword [ebp - 0x24]
je 0x486fc2
movzx edx, word [eax]
cmp dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x24]
jne 0x486ff5
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0x34]
jl 0x486fa8
jmp 0x486ff5
cmp dword [ebx + 0x8c], 0
je 0x486ff5
cmp eax, dword [ebx + 0x88]
jbe 0x486ff5
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
mov esi, dword [ebp - 0x10]
test edx, edx
jne 0x405c40
cmp eax, esi
je 0x405cae
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.00405be0
sub esi, 2
add esp, 0x14
mov dword [ebp - 8], esi
test eax, eax
jne 0x405d87
cmp esi, dword [ebp - 0x10]
jne 0x48700b
jmp 0x405cae
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], 1
cmp ecx, 1
jge 0x487052
mov esi, dword [ebp - 8]
jmp 0x487081
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx eax, word [eax]
mov esi, dword [ebp - 8]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x18], eax
jne case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, ecx
jle 0x487052
mov eax, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x34]
je 0x405c40
test eax, eax
jne 0x48b7c9
mov eax, dword [ebp - 8]
mov esi, eax
mov dword [ebp - 0x10], esi
cmp ecx, dword [ebp - 0x34]
jge 0x4870c1
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x487107
movzx eax, word [eax]
cmp esi, eax
jne 0x4870bb
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc ecx
cmp ecx, dword [ebp - 0x34]
jl 0x4870a2
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
test edx, edx
jne 0x405c40
cmp eax, esi
je 0x405cae
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.00405be0
sub esi, 2
add esp, 0x14
mov dword [ebp - 8], esi
test eax, eax
jne 0x405d87
cmp esi, dword [ebp - 0x10]
jne 0x4870d4
jmp 0x405cae
cmp dword [ebx + 0x8c], 0
je 0x4870be
cmp eax, dword [ebx + 0x88]
jbe 0x4870be
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
jmp 0x4870be
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064b6
cmp dword [ebp - 0x20], edx
je 0x48723e
movzx edx, word [edi + 2]
mov eax, edx
add edi, 4
and eax, 0xfc00
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x38], edi
cmp eax, 0xd800
jne 0x487180
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 - 0x38], 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 - 0x30], ecx
cmp eax, 0xd800
jne 0x4871c1
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 - 0x30], ecx
cmp esi, 0x1f
jne 0x4871d3
cmp edx, ecx
jne 0x405c40
jmp case.0x405c60.151
cmp edx, 0x7f
jbe 0x487216
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4871fe
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x4ac0d4]
add eax, edx
jmp 0x487229
cmp edx, 0xff
ja 0x487227
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
jmp 0x487229
mov eax, edx
cmp edx, ecx
je case.0x405c60.151
cmp eax, ecx
jne 0x405c40
jmp case.0x405c60.151
movzx edx, word [eax]
movzx ecx, word [edi + 2]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x405c60.151
cmp esi, 0x20
jne 0x48726f
cmp ecx, 0xff
ja 0x487267
mov eax, dword [ebx + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x405c60.151
add edi, 4
mov dword [ebp - 0x38], edi
jmp 0x405c40
movzx eax, word [edi + 2]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
add edi, 4
jmp 0x487369
movzx eax, word [edi + 2]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], eax
cmp ecx, 0x42
je 0x4872ad
cmp ecx, 0x4f
je 0x4872ad
xor eax, eax
add edi, 4
jmp 0x487366
mov eax, 1
add edi, 4
jmp 0x487366
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], bind
add edi, 2
jmp 0x487369
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x34], bind
add edi, 2
jmp 0x487369
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x34], edx
add edi, 2
jmp 0x487369
movzx eax, word [edi + 2]
mov edx, 1
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], 0
add edi, 4
jmp 0x487369
cmp esi, 0x48
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
mov ecx, esi
sub ecx, eax
movzx eax, cl
movsx ebx, byte [ecx + 0x49f520]
movsx ecx, byte [ecx + 0x49f528]
mov dword [ebp - 0x1c], ebx
add edi, 2
and eax, 1
mov ebx, bind
test ecx, ecx
cmove ecx, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x2c], eax
movzx ecx, word [edi]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x20]
add edi, 2
mov dword [ebp - 0x38], edi
test ecx, ecx
je 0x4873b2
mov eax, dword [ebp - 0x14]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4873af
movzx eax, word [edi]
and dword [ebp - 0x14], 0x3ff
shl dword [ebp - 0x14], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x14]
add eax, 0x10000
add edi, 2
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x2c]
cmp esi, 0x48
jb 0x4876c1
mov esi, dword [ebp - 0x14]
test ecx, ecx
je 0x487408
cmp esi, 0x7f
jbe 0x487408
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x4873ea
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax*8 + 0x4ac0d4]
add eax, esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x2c]
jmp 0x48741d
cmp esi, 0xff
ja 0x48741a
mov eax, dword [ebx + 0x40]
movzx esi, byte [eax + esi]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], 1
test ecx, ecx
je 0x487521
mov esi, dword [ebp - 0x1c]
cmp esi, 1
jl 0x4874a1
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, edx
and eax, 0xfc00
mov dword [ebp - 0x18], edx
cmp eax, 0xd800
jne 0x48747e
mov eax, dword [ebp - 8]
and dword [ebp - 0x18], 0x3ff
movzx eax, word [eax]
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add dword [ebp - 8], 2
jmp 0x487481
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
je case.0x405c60.151
cmp dword [ebp - 0x10], eax
je case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, esi
jle 0x487434
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 0x34]
cmp dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x24]
je 0x405c40
test eax, eax
jne 0x48b838
mov eax, dword [ebp - 8]
mov esi, eax
mov dword [ebp - 0x18], esi
test ecx, ecx
je 0x487620
mov esi, dword [ebp - 0x1c]
cmp esi, dword [ebp - 0x34]
jge 0x48758e
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x4875f1
movzx eax, word [eax]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487569
movzx eax, word [ecx + 2]
and dword [ebp - 0x2c], 0x3ff
shl dword [ebp - 0x2c], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x48756c
cmp dword [ebp - 0x1c], 1
jl 0x4874a1
mov esi, dword [ebp - 8]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
cmp dword [ebp - 0x14], ecx
je case.0x405c60.151
movzx edx, word [esi]
cmp dword [ebp - 0x10], edx
je case.0x405c60.151
mov ecx, dword [ebp - 0xc]
inc ecx
add esi, 2
cmp ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
jle 0x48752e
jmp 0x4874a4
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x14], eax
je 0x48758b
cmp dword [ebp - 0x10], eax
je 0x48758b
mov eax, dword [ebp - 0xc]
inc esi
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
mov eax, ecx
cmp esi, dword [ebp - 0x34]
jl 0x4874d7
mov eax, dword [ebp - 8]
test edx, edx
jne 0x405c40
cmp eax, dword [ebp - 0x18]
je 0x405cae
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ax, word [esi - 2]
sub esi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
mov dword [ebp - 8], esi
cmp ax, cx
jne 0x4875e7
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x18]
jne 0x4875a2
jmp 0x405cae
cmp dword [ebx + 0x8c], 0
je 0x48758e
cmp eax, dword [ebx + 0x88]
jbe 0x48758e
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48758e
mov eax, 0xfffffff4
jmp 0x405d87
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge 0x48767b
mov esi, dword [ebp - 0x14]
cmp eax, dword [ebx + 0x7c]
jae 0x487653
movzx ebx, word [eax]
cmp esi, ebx
mov ebx, dword [ebp + 0x10]
je 0x487678
movzx edx, word [eax]
cmp dword [ebp - 0x10], edx
mov edx, dword [ebp - 0x24]
je 0x487678
add eax, 2
inc ecx
mov dword [ebp - 8], eax
cmp ecx, dword [ebp - 0x34]
jl 0x48762b
jmp 0x487678
cmp dword [ebx + 0x8c], 0
je 0x487678
cmp eax, dword [ebx + 0x88]
jbe 0x487678
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
mov esi, dword [ebp - 0x18]
test edx, edx
jne 0x405c40
cmp eax, esi
je 0x405cae
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x18]
jne 0x48768e
jmp 0x405cae
mov dword [ebp - 0xc], 1
test ecx, ecx
je 0x4877bf
mov esi, dword [ebp - 0x1c]
cmp esi, 1
jl 0x48773f
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x20]
cmp eax, 0xd800
jne 0x487725
mov eax, dword [ebp - 8]
and dword [ebp - 0x10], 0x3ff
movzx eax, word [eax]
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add dword [ebp - 8], 2
jmp 0x487728
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x14], eax
je case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, esi
jle 0x4876d8
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 8]
mov edx, dword [ebp - 0x34]
cmp dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x24]
je 0x405c40
test eax, eax
jne 0x48b947
mov eax, dword [ebp - 8]
mov esi, eax
mov dword [ebp - 0x18], esi
test ecx, ecx
je 0x4878b0
mov esi, dword [ebp - 0x1c]
cmp esi, dword [ebp - 0x34]
jge 0x48781e
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x487881
movzx eax, word [eax]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x10], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4877fe
movzx eax, word [ecx + 2]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x487801
cmp dword [ebp - 0x1c], 1
jl 0x48773f
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx eax, word [eax]
mov esi, dword [ebp - 8]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x14], eax
je case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x1c]
jle 0x4877c9
mov eax, dword [ebp - 0x2c]
jmp 0x487742
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x14], eax
je 0x48781b
mov eax, dword [ebp - 0xc]
inc esi
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
mov eax, ecx
cmp esi, dword [ebp - 0x34]
jl 0x487775
mov eax, dword [ebp - 8]
test edx, edx
jne 0x405c40
cmp eax, dword [ebp - 0x18]
je 0x405cae
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ax, word [esi - 2]
sub esi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
mov dword [ebp - 8], esi
cmp ax, cx
jne 0x487877
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x18]
jne 0x487832
jmp 0x405cae
cmp dword [ebx + 0x8c], 0
je 0x48781e
cmp eax, dword [ebx + 0x88]
jbe 0x48781e
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48781e
mov eax, 0xfffffff4
jmp 0x405d87
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge 0x4878da
mov esi, dword [ebp - 0x14]
cmp eax, dword [ebx + 0x7c]
jae 0x487920
movzx eax, word [eax]
cmp esi, eax
je 0x4878d4
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc ecx
cmp ecx, dword [ebp - 0x34]
jl 0x4878bb
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x18]
test edx, edx
jne 0x405c40
cmp eax, esi
je 0x405cae
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x18]
jne 0x4878ed
jmp 0x405cae
cmp dword [ebx + 0x8c], 0
je 0x4878d7
cmp eax, dword [ebx + 0x88]
jbe 0x4878d7
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
jmp 0x4878d7
movzx ecx, word [edi + 2]
mov esi, ecx
mov eax, 1
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x2c], eax
add edi, 4
jmp 0x406377
movzx eax, word [edi + 2]
xor esi, esi
mov dword [ebp - 0x1c], eax
xor eax, eax
cmp ecx, 0x5c
sete al
mov dword [ebp - 0x14], esi
add edi, 4
mov dword [ebp - 0x2c], eax
jmp 0x406377
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], esi
add edi, 2
jmp 0x406370
mov eax, dword [ebp - 0x2c]
mov edx, 1
mov esi, edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], esi
add edi, 2
jmp 0x406370
mov eax, dword [ebp - 0x2c]
mov edx, 1
xor esi, esi
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], edx
add edi, 2
jmp 0x406377
movzx ecx, word [edi + 2]
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], ecx
add edi, 4
jmp 0x406377
mov dword [ebp - 0x3c], 1
jmp 0x4879fc
mov dword [ebp - 0x3c], 0
movzx ebx, word [edi + 2]
movzx ecx, word [edi]
add edi, 4
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x38], edi
jmp 0x406398
test ecx, ecx
js 0x488283
cmp ecx, 0xa
ja case.default.0x48640e
jmp dword [ecx*4 + 0x48d090]
cmp dword [ebp - 0x3c], 0
jne case.0x405c60.151
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x487a7b
and dword [ebp - 0x10], 0xfc00
cmp dword [ebp - 0x10], 0xd800
jne 0x487a7b
add esi, 2
mov dword [ebp - 8], esi
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x487a4c
jmp 0x4063a9
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], 1
cmp esi, 1
jl 0x4063a6
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
test ecx, ecx
je 0x487aef
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487aef
mov eax, dword [ebp - 8]
and edx, 0x3ff
movzx eax, word [eax]
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0xc], edx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x487b14
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, 9
je 0x487b39
cmp eax, 5
je 0x487b39
cmp eax, 8
je 0x487b39
xor eax, eax
jmp 0x487b3e
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x405c60.151
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, esi
jle 0x487aa2
mov eax, dword [ebp - 0x2c]
jmp 0x4063a6
mov dword [ebp - 0xc], 1
cmp esi, 1
jl 0x4063a3
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x487bb7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487bb7
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 eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x487bd9
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x40]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x405c60.151
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, esi
jle 0x487b6e
mov eax, dword [ebp - 0x2c]
jmp 0x4063a3
mov dword [ebp - 0xc], 1
cmp esi, 1
jl 0x4063a3
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x487c73
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487c73
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 eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x487c95
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x405c60.151
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, esi
jle 0x487c2a
mov eax, dword [ebp - 0x2c]
jmp 0x4063a3
mov dword [ebp - 0xc], 1
cmp esi, 1
jl 0x4063a3
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 8], eax
je 0x487d28
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487d28
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 eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x487d4a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x405c60.151
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, esi
jle 0x487cdf
mov eax, dword [ebp - 0x2c]
jmp 0x4063a3
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x28], 1
cmp esi, 1
jl 0x4063a6
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx edx, word [eax]
add eax, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], eax
test ecx, ecx
je 0x487de4
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487de4
mov eax, dword [ebp - 8]
and edx, 0x3ff
movzx eax, word [eax]
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0xc], edx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x487e09
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x487e30
cmp eax, 3
je 0x487e30
xor eax, eax
jmp 0x487e35
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x405c60.151
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, esi
jle 0x487d97
mov eax, dword [ebp - 0x2c]
jmp 0x4063a6
mov dword [ebp - 0x28], 1
cmp esi, 1
jl 0x4063a3
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
mov esi, eax
je 0x487eb5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487eb5
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x487edb
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x487f0f
cmp edx, 9
je 0x487f0f
cmp edx, 0xa
je 0x487f0f
cmp edx, 0xc
je 0x487f0f
cmp edx, 0xd
je 0x487f0f
xor eax, eax
jmp 0x487f14
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x405c60.151
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x14]
jle 0x487e65
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4063a9
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x488d28
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
je 0x487f96
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487f96
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x487fbc
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x487ff5
cmp edx, 9
je 0x487ff5
cmp edx, 0xa
je 0x487ff5
cmp edx, 0xb
je 0x487ff5
cmp edx, 0xc
je 0x487ff5
cmp edx, 0xd
je 0x487ff5
xor eax, eax
jmp 0x487ffa
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x405c60.151
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x14]
jle 0x487f4b
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4063a9
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x488d28
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
je 0x48807c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48807c
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], esi
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4880a2
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x4880ce
cmp eax, 3
je 0x4880ce
cmp edx, 0x5f
je 0x4880ce
xor eax, eax
jmp 0x4880d3
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x405c60.151
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x14]
jle 0x488031
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4063a9
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4063a9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x48815e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48815b
movzx eax, word [esi]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add esi, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], esi
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x40]
lea ebx, [ebx*4 + 0x4af670]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebx]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jb 0x488194
mov edx, dword [ebp - 0xc]
add dword [ebp - 0x10], 4
cmp dword [ebp - 0x18], edx
je 0x4881b2
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx]
cmp dword [ebp - 0x18], ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x20]
jae 0x488178
cmp dword [ebp - 0x3c], 0
je case.0x405c60.151
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x488110
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
cmp dword [ebp - 0x3c], 0
jne case.0x405c60.151
jmp 0x48819e
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4063a9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x488225
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488222
movzx eax, word [esi]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add esi, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], esi
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x18], 0x24
je 0x488259
cmp dword [ebp - 0x18], 0x40
je 0x488259
cmp dword [ebp - 0x18], 0x60
je 0x488259
cmp dword [ebp - 0x18], 0xa0
jb 0x488249
cmp dword [ebp - 0x18], 0xd7ff
jbe 0x488259
cmp dword [ebp - 0x18], 0xe000
mov dword [ebp - 0xc], 0
jb 0x488260
mov dword [ebp - 0xc], 1
mov ebx, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
je case.0x405c60.151
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x4881d7
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
cmp dword [ebp - 0x34], 0x16
mov ecx, dword [ebp - 0x20]
jne 0x488421
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
jl 0x4063a9
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x28], eax
cmp esi, eax
jae 0x48b505
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x4882f1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4882f1
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], esi
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x488316
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx edx, byte [eax*8 + 0x4ac0d2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x4883e0
mov ebx, dword [ebp - 0x20]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x488378
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488378
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 + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48839a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx ecx, byte [eax*8 + 0x4ac0d2]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x49f454], eax
je 0x4883d1
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x28]
cmp esi, eax
jb 0x48833b
jmp 0x4883d4
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
cmp dword [ebx + 0x8c], 0
je 0x488409
cmp esi, eax
jb 0x488409
cmp esi, dword [ebx + 0x88]
jbe 0x488409
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x14]
jle 0x4882a3
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
test ecx, ecx
je 0x488c43
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.default.0x48640e
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffffa
jmp dword [ecx*4 + 0x48d0bc]
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
lea eax, [esi + 2]
mov dword [ebp - 0x10], eax
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48b505
cmp dword [ebx + 0x18], 0
je 0x488521
push ecx
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040482b
add esp, 0xc
test eax, eax
jne case.0x405c60.151
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
cmp dword [ebx + 0x8c], 0
je 0x4884d1
cmp edx, dword [ebx + 0x7c]
jb 0x4884d1
cmp dword [ebx + 0x18], 0
jne 0x4884d1
cmp dword [ebx + 0x1c], 2
jne 0x4884d1
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x4884d1
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
cmp esi, dword [ebx + 0x7c]
jae 0x488509
mov ax, word [esi]
mov dword [ebp - 0x28], 0xfc00
and ax, word [ebp - 0x28]
mov dword [ebp - 0x28], 0xdc00
cmp ax, word [ebp - 0x28]
jne 0x488509
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488464
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x488497
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x488497
cmp dword [ebx + 0x1c], 1
je case.0x405c60.151
mov edx, dword [ebp - 0x10]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
je case.0x405c60.151
jmp 0x48849a
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4063a9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
add esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebx + 0x7c]
jae 0x4885b0
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x14]
jne 0x4885b0
add esi, 2
mov dword [ebp - 8], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x488578
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x7c]
add esi, esi
sub eax, esi
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 8]
cmp esi, eax
ja case.0x405c60.151
add esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], esi
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x488646
movzx eax, word [esi]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add esi, 2
mov dword [ebp - 8], esi
jmp 0x488649
mov eax, dword [ebp - 0x10]
cmp eax, 0xd
ja 0x488676
je 0x488663
cmp eax, 0xa
je 0x488695
add eax, 0xfffffff5
cmp eax, 1
ja case.0x405c60.151
jmp 0x48868b
cmp esi, dword [ebx + 0x7c]
jae 0x488695
cmp word [esi], 0xa
jne 0x488695
add esi, 2
mov dword [ebp - 8], esi
jmp 0x488695
cmp eax, 0x85
je 0x48868b
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x405c60.151
cmp dword [ebx + 0x6c], 0
jne case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488602
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x48870a
movzx eax, word [esi]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add esi, 2
mov dword [ebp - 8], esi
jmp 0x48870d
mov eax, dword [ebp - 0x10]
cmp eax, 0x180e
ja 0x488748
je case.0x405c60.151
cmp eax, 0xa0
ja 0x48873b
je case.0x405c60.151
cmp eax, 9
je case.0x405c60.151
cmp eax, 0x20
je case.0x405c60.151
jmp 0x48877f
cmp eax, 0x1680
je case.0x405c60.151
jmp 0x48877f
cmp eax, 0x205f
ja 0x488774
je case.0x405c60.151
cmp eax, 0x2000
jb 0x48877f
cmp eax, 0x200a
jbe case.0x405c60.151
cmp eax, 0x202f
je case.0x405c60.151
jmp 0x48877f
cmp eax, 0x3000
je case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x4886c6
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x4887f4
movzx eax, word [esi]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add esi, 2
mov dword [ebp - 8], esi
jmp 0x4887f7
mov eax, dword [ebp - 0x10]
cmp eax, 0x180e
ja 0x488826
je 0x488859
cmp eax, 0xa0
ja 0x488819
je 0x488859
cmp eax, 9
je 0x488859
cmp eax, 0x20
jne case.0x405c60.151
jmp 0x488859
cmp eax, 0x1680
jne case.0x405c60.151
jmp 0x488859
cmp eax, 0x205f
ja 0x48884e
je 0x488859
cmp eax, 0x2000
jb case.0x405c60.151
cmp eax, 0x200a
jbe 0x488859
cmp eax, 0x202f
jne case.0x405c60.151
jmp 0x488859
cmp eax, 0x3000
jne case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x4887b0
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x4888ce
movzx eax, word [esi]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add esi, 2
mov dword [ebp - 8], esi
jmp 0x4888d1
mov eax, dword [ebp - 0x10]
cmp eax, 0x85
ja 0x4888ee
je case.0x405c60.151
cmp eax, 0xa
jb 0x488900
cmp eax, 0xd
jbe case.0x405c60.151
jmp 0x488900
cmp eax, 0x2028
jb 0x488900
cmp eax, 0x2029
jbe case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x48888a
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x488975
movzx eax, word [esi]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
add eax, 0x10000
add esi, 2
mov dword [ebp - 8], esi
jmp 0x488978
mov eax, dword [ebp - 0x10]
cmp eax, 0x85
ja 0x48898f
je 0x48899d
add eax, 0xfffffff6
cmp eax, 3
ja case.0x405c60.151
jmp 0x48899d
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488931
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
add esi, 2
and eax, 0xfc00
mov dword [ebp - 8], esi
cmp eax, 0xd800
jne 0x488a14
movzx eax, word [esi]
mov ecx, dword [ebp - 0x10]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or eax, ecx
mov ecx, dword [ebp - 0x20]
add eax, 0x10000
add esi, 2
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], esi
jmp 0x488a17
mov eax, dword [ebp - 0x10]
cmp eax, 0x80
jae 0x488a2e
mov eax, dword [ebx + 0x44]
mov edx, dword [ebp - 0x10]
test byte [edx + eax], 4
jne case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x4889ca
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
cmp word [esi], 0x80
jae case.0x405c60.151
movzx edx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488a5b
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4063a9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
cmp word [esi], 0x80
jae 0x488ad8
movzx edx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x405c60.151
mov eax, dword [ebp - 0x14]
add esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebx + 0x7c]
jae 0x488b07
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x14]
jne 0x488b07
add esi, 2
mov dword [ebp - 8], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x488ab5
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
cmp word [esi], 0x80
jae case.0x405c60.151
movzx edx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488b30
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4063a9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
cmp word [esi], 0x80
jae 0x488bad
movzx edx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x405c60.151
mov eax, dword [ebp - 0x14]
add esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebx + 0x7c]
jae 0x488bdc
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x14]
jne 0x488bdc
add esi, 2
mov dword [ebp - 8], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x488b8a
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
cmp word [esi], 0x80
jae case.0x405c60.151
movzx edx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488c05
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov edx, dword [ebp - 0x34]
add edx, 0xfffffffa
cmp edx, 0xf
ja case.default.0x48640e
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffffa
jmp dword [ecx*4 + 0x48d0fc]
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
mov ecx, dword [ebx + 0x7c]
cmp esi, ecx
jae 0x48b505
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x488ca8
lea eax, [ebx + 0x1c]
push 0
push eax
push ecx
mov ecx, esi
call fcn.0040482b
add esp, 0xc
test eax, eax
jne case.0x405c60.151
lea edx, [ebx + 0x1c]
jmp 0x488cd6
mov eax, dword [ebx + 0x1c]
lea edx, [ebx + 0x1c]
add eax, eax
sub ecx, eax
cmp esi, ecx
ja 0x488cd6
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x488cd6
cmp dword [edx], 1
je case.0x405c60.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x405c60.151
cmp dword [ebx + 0x8c], 0
je 0x488d0f
lea eax, [esi + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x488d0f
cmp dword [ebx + 0x18], 0
jne 0x488d0f
cmp dword [edx], 2
jne 0x488d0f
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x488d0f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x488c78
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x7c]
add esi, esi
sub eax, esi
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 8]
cmp esi, eax
ja 0x48b505
add esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], esi
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x7c]
add esi, esi
sub eax, esi
mov dword [ebp - 0xc], esi
mov esi, dword [ebp - 8]
cmp esi, eax
ja 0x48b505
add esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], esi
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4063a9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x10], ecx
cmp ecx, 0xd
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
jg 0x488deb
cmp dword [ebp - 0x10], 0xd
je 0x488dd8
cmp dword [ebp - 0x10], 0xa
je 0x488e12
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x405c60.151
jmp 0x488e05
cmp esi, dword [ebx + 0x7c]
jae 0x488e12
cmp word [esi], 0xa
jne 0x488e12
add esi, 2
mov dword [ebp - 8], esi
jmp 0x488e12
cmp dword [ebp - 0x10], 0x85
je 0x488e08
mov eax, dword [ebp - 0x10]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x405c60.151
mov eax, dword [ebp - 0x14]
cmp dword [ebx + 0x6c], 0
jne case.0x405c60.151
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], eax
jle 0x488d9e
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], esi
cmp edx, 0x180e
jg 0x488e95
cmp edx, 0x180e
je case.0x405c60.151
cmp edx, 0xa0
jg 0x488e86
je case.0x405c60.151
cmp edx, 9
je case.0x405c60.151
cmp edx, 0x20
je case.0x405c60.151
jmp 0x488ed6
cmp dword [ebp - 0x18], 0x1680
je case.0x405c60.151
jmp 0x488ed6
cmp dword [ebp - 0x18], 0x205f
jg 0x488ec9
je case.0x405c60.151
cmp dword [ebp - 0x18], 0x2000
jl 0x488ed6
cmp dword [ebp - 0x18], 0x200a
jle case.0x405c60.151
cmp dword [ebp - 0x18], 0x202f
je case.0x405c60.151
jmp 0x488ed6
cmp dword [ebp - 0x18], 0x3000
je case.0x405c60.151
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x488e3b
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x18], edx
mov dword [ebp - 8], esi
cmp edx, 0x180e
jg 0x488f55
cmp edx, 0x180e
je 0x488f92
cmp edx, 0xa0
jg 0x488f46
je 0x488f92
cmp edx, 9
je 0x488f92
cmp edx, 0x20
jne case.0x405c60.151
jmp 0x488f92
cmp dword [ebp - 0x18], 0x1680
jne case.0x405c60.151
jmp 0x488f92
cmp dword [ebp - 0x18], 0x205f
jg 0x488f85
je 0x488f92
cmp dword [ebp - 0x18], 0x2000
jl case.0x405c60.151
cmp dword [ebp - 0x18], 0x200a
jle 0x488f92
cmp dword [ebp - 0x18], 0x202f
jne case.0x405c60.151
jmp 0x488f92
cmp dword [ebp - 0x18], 0x3000
jne case.0x405c60.151
mov ecx, dword [ebp - 0xc]
inc ecx
cmp ecx, dword [ebp - 0x14]
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 0x20]
jle 0x488f07
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], esi
cmp edx, 0x85
jg 0x488ffc
cmp edx, 0x85
je case.0x405c60.151
cmp edx, 0xa
jl 0x489012
cmp edx, 0xd
jle case.0x405c60.151
jmp 0x489012
cmp dword [ebp - 0x10], 0x2028
jl 0x489012
cmp dword [ebp - 0x10], 0x2029
jle case.0x405c60.151
mov edx, dword [ebp - 0xc]
inc edx
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x14]
jle 0x488fc3
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x10], 1
jl 0x4063a9
mov eax, dword [ebp - 0x14]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
mov dword [ebp - 0x28], ecx
cmp ecx, 0x85
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
jg 0x489079
cmp dword [ebp - 0x28], 0x85
je 0x48908d
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff6
cmp eax, 3
ja case.0x405c60.151
jmp 0x48908a
mov eax, dword [ebp - 0x28]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x405c60.151
mov eax, dword [ebp - 0x14]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], eax
jle 0x48903f
mov eax, dword [ebp - 0x2c]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4063a9
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp dx, word [ebp - 0xc]
ja 0x4890eb
movzx ecx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x405c60.151
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
inc ecx
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x28], ecx
cmp ecx, eax
jle 0x4890bc
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja case.0x405c60.151
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x48911d
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4063a9
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp dx, word [ebp - 0xc]
ja 0x4891b1
movzx ecx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x405c60.151
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
inc ecx
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x28], ecx
cmp ecx, eax
jle 0x489182
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4063a9
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja case.0x405c60.151
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x4891e3
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
cmp esi, 1
mov esi, dword [ebp - 8]
mov dword [ebp - 0x28], 1
jl 0x4063a9
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp dx, word [ebp - 0xc]
ja 0x489277
movzx ecx, word [esi]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x405c60.151
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
inc ecx
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x28], ecx
cmp ecx, eax
jle 0x489248
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4063a9
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 1
cmp esi, 1
jl 0x4063a6
mov esi, dword [ebp - 8]
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja case.0x405c60.151
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x405c60.151
mov eax, dword [ebp - 0xc]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x14]
jle 0x4892a9
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
jmp 0x4063a9
mov dword [ebp - 0x2c], esi
test eax, eax
js 0x489c6c
cmp eax, 0xa
ja case.default.0x48640e
jmp dword [eax*4 + 0x48d13c]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x489479
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48937a
test ecx, ecx
je 0x489353
mov edx, dword [ebp - 0x10]
mov eax, 0xfc00
and ax, word [esi]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], 0xd800
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov edx, 2
cmove eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x3c], 0
mov edx, dword [ebp - 0x24]
jne 0x489479
mov ebx, dword [ebp - 0x10]
inc eax
lea esi, [esi + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489316
jmp 0x489479
cmp dword [ebx + 0x8c], 0
je 0x489479
cmp esi, dword [ebx + 0x88]
jbe 0x489479
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x489479
mov eax, 0xfffffff4
jmp 0x405d87
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x489479
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x4894dd
movzx edx, word [esi]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x489409
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489409
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x48942e
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, 9
je 0x489453
cmp eax, 5
je 0x489453
cmp eax, 8
je 0x489453
xor eax, eax
jmp 0x489458
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x489476
mov eax, dword [ebp - 0x30]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x4893bd
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x405c40
cmp esi, dword [ebp - 0x2c]
je 0x405cae
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
sub esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x20], eax
je 0x4894d3
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4894d3
sub esi, 2
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x2c]
jne 0x48948a
jmp 0x405cae
cmp dword [ebx + 0x8c], 0
je 0x489476
cmp esi, dword [ebx + 0x88]
jbe 0x489476
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x489476
mov eax, 0xfffffff4
jmp 0x405d87
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x489479
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x4894dd
movzx eax, word [esi]
mov dword [ebp - 0x30], eax
test ecx, ecx
je 0x48955f
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489562
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
jmp 0x489562
movzx ecx, word [esi]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x489584
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x40]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x489476
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489518
jmp 0x489476
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x489479
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x4894dd
movzx eax, word [esi]
mov dword [ebp - 0x30], eax
test ecx, ecx
je 0x489626
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489629
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
jmp 0x489629
movzx ecx, word [esi]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48964b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x489476
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x4895db
jmp 0x489476
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x489479
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x4894dd
movzx eax, word [esi]
mov dword [ebp - 0x30], eax
test ecx, ecx
je 0x4896e6
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4896e9
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
jmp 0x4896e9
movzx ecx, word [esi]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48970b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je 0x489476
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48969b
jmp 0x489476
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x489479
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x4894dd
movzx edx, word [esi]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x4897a7
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4897a7
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x4897cc
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x4897f3
cmp eax, 3
je 0x4897f3
xor eax, eax
jmp 0x4897f8
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x489476
mov eax, dword [ebp - 0x30]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48975b
jmp 0x489476
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x489479
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x4894dd
movzx edx, word [esi]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x489877
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489877
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48989d
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x4898d1
cmp edx, 9
je 0x4898d1
cmp edx, 0xa
je 0x4898d1
cmp edx, 0xc
je 0x4898d1
cmp edx, 0xd
je 0x4898d1
xor eax, eax
jmp 0x4898d6
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x489476
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48982b
jmp 0x489476
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x489479
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x4894dd
movzx edx, word [esi]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x489958
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489958
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48997e
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x4899b7
cmp edx, 9
je 0x4899b7
cmp edx, 0xa
je 0x4899b7
cmp edx, 0xb
je 0x4899b7
cmp edx, 0xc
je 0x4899b7
cmp edx, 0xd
je 0x4899b7
xor eax, eax
jmp 0x4899bc
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x489476
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48990c
jmp 0x489476
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x489479
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x4894dd
movzx edx, word [esi]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x489a3e
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489a3e
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x30], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x489a64
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x489a90
cmp eax, 3
je 0x489a90
cmp edx, 0x5f
je 0x489a90
xor eax, eax
jmp 0x489a95
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x489476
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x4899f2
jmp 0x489476
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x489479
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x30], 1
cmp esi, dword [ebp - 0x10]
jae 0x48937a
movzx edx, word [esi]
mov dword [ebp - 0x18], edx
test ecx, ecx
je 0x489b28
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489b25
movzx eax, word [esi + 2]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], 2
add eax, 0x10000
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x40]
lea edx, [edx*4 + 0x4af670]
mov dword [ebp - 0x28], edx
mov edx, dword [edx]
cmp dword [ebp - 0x18], edx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x24]
jb 0x489b61
mov ebx, dword [ebp - 0xc]
add dword [ebp - 0x28], 4
cmp dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
je 0x489b8c
mov edx, dword [ebp - 0x28]
mov edx, dword [edx]
cmp dword [ebp - 0x18], edx
mov dword [ebp - 0xc], edx
mov edx, dword [ebp - 0x24]
jae 0x489b42
cmp dword [ebp - 0x3c], 0
mov edx, dword [ebp - 0x24]
je 0x489479
mov ecx, dword [ebp - 0x30]
inc eax
lea esi, [esi + ecx*2]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489ad4
jmp 0x489479
cmp dword [ebp - 0x3c], 0
je 0x489b6e
jmp 0x489479
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x489479
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x24]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x30], 1
cmp esi, dword [ebp - 0x28]
jae 0x48937a
movzx edx, word [esi]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x24]
test ecx, ecx
je 0x489c04
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489c01
movzx eax, word [esi + 2]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], 2
add eax, 0x10000
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x18], 0x24
je 0x489c38
cmp dword [ebp - 0x18], 0x40
je 0x489c38
cmp dword [ebp - 0x18], 0x60
je 0x489c38
cmp dword [ebp - 0x18], 0xa0
jb 0x489c28
cmp dword [ebp - 0x18], 0xd7ff
jbe 0x489c38
cmp dword [ebp - 0x18], 0xe000
mov dword [ebp - 0xc], 0
jb 0x489c3f
mov dword [ebp - 0xc], 1
mov ebx, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
je 0x489479
mov edx, dword [ebp - 0x30]
inc eax
lea esi, [esi + edx*2]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489bac
jmp 0x489479
mov eax, dword [ebp - 0x34]
cmp eax, 0x16
jne 0x489e71
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x489e24
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x30], eax
cmp esi, eax
jae 0x489dfc
movzx edx, word [esi]
add esi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], esi
test ecx, ecx
je 0x489cd2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489cd2
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], esi
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x489cf7
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx edx, byte [eax*8 + 0x4ac0d2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x489dc1
mov ebx, dword [ebp - 0x20]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x489d59
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489d59
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 + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x489d7b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx ecx, byte [eax*8 + 0x4ac0d2]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x49f454], eax
je 0x489db2
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x30]
cmp esi, eax
jb 0x489d1c
jmp 0x489db5
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 8], esi
cmp dword [ebx + 0x8c], 0
je 0x489dea
cmp esi, eax
jb 0x489dea
cmp esi, dword [ebx + 0x88]
jbe 0x489dea
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489c84
jmp 0x489e21
cmp dword [ebx + 0x8c], 0
je 0x489e21
cmp esi, dword [ebx + 0x88]
jbe 0x489e21
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x405c40
cmp esi, dword [ebp - 0x2c]
je 0x405cae
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ebx, dword [ebp - 0x20]
sub esi, 2
mov dword [ebp - 8], esi
test ebx, ebx
jne 0x48ae40
movzx ecx, word [esi]
jmp 0x48ae83
add eax, 0xfffffffa
test ecx, ecx
je 0x48a7a1
cmp eax, 0xf
ja case.default.0x48640e
jmp dword [eax*4 + 0x48d168]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x7fffffff
jge 0x48a053
cmp dword [ebp - 0x14], eax
jge 0x489f61
lea eax, [esi + 2]
mov dword [ebp - 0x10], eax
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48a01c
cmp dword [ebx + 0x18], 0
je 0x489fe1
push ecx
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040482b
add esp, 0xc
test eax, eax
jne 0x489f5e
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
cmp dword [ebx + 0x8c], 0
je 0x489f16
cmp edx, dword [ebx + 0x7c]
jb 0x489f16
cmp dword [ebx + 0x18], 0
jne 0x489f16
cmp dword [ebx + 0x1c], 2
jne 0x489f16
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x489f16
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
cmp esi, dword [ebx + 0x7c]
jae 0x489f4e
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
jne 0x489f4e
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x489ea9
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x405c40
cmp esi, dword [ebp - 0x2c]
je 0x405cae
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ax, word [esi - 2]
sub esi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
mov dword [ebp - 8], esi
cmp ax, cx
jne 0x489fb7
sub esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x34], 0x11
mov ecx, dword [ebp - 0x2c]
jne 0x489fd8
cmp esi, ecx
jbe 0x489fda
cmp word [esi], 0xa
jne 0x489fd8
cmp word [esi - 2], 0xd
lea eax, [esi - 2]
cmove esi, eax
mov dword [ebp - 8], esi
cmp esi, ecx
jne 0x489f72
jmp 0x405cae
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x489edc
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x489edc
cmp dword [ebx + 0x1c], 1
je 0x489f5e
mov edx, dword [ebp - 0x10]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
jne 0x489edf
jmp 0x489f5e
cmp dword [ebx + 0x8c], 0
je 0x489f5e
cmp esi, dword [ebx + 0x88]
jbe 0x489f5e
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x489f5e
mov eax, 0xfffffff4
jmp 0x405d87
cmp dword [ebp - 0x14], eax
jge 0x489f61
lea eax, [esi + 2]
mov dword [ebp - 0x10], eax
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48a01c
cmp dword [ebx + 0x18], 0
je 0x48a118
push ecx
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040482b
add esp, 0xc
test eax, eax
jne 0x489f5e
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x10]
cmp dword [ebx + 0x8c], 0
je 0x48a0cb
cmp edx, dword [ebx + 0x7c]
jb 0x48a0cb
cmp dword [ebx + 0x18], 0
jne 0x48a0cb
cmp dword [ebx + 0x1c], 2
jne 0x48a0cb
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48a0cb
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
cmp esi, dword [ebx + 0x7c]
jae 0x48a103
mov ax, word [esi]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
jne 0x48a103
add esi, 2
add edx, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48a062
jmp 0x489f5e
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x48a091
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48a091
cmp dword [ebx + 0x1c], 1
je 0x489f5e
mov edx, dword [ebp - 0x10]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
jne 0x48a094
jmp 0x489f5e
mov eax, dword [ebp - 0x1c]
cmp eax, 0x7fffffff
jge 0x48a1a8
mov ecx, dword [ebp - 0x14]
cmp ecx, eax
jge 0x489f61
mov eax, dword [ebx + 0x7c]
cmp esi, eax
jae 0x48a1b2
add esi, 2
mov dword [ebp - 8], esi
cmp esi, eax
jae 0x48a19d
mov ax, word [esi]
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 0x48a19d
add esi, 2
mov dword [ebp - 8], esi
inc ecx
cmp ecx, dword [ebp - 0x1c]
jl 0x48a16b
jmp 0x489f61
mov esi, dword [ebx + 0x7c]
jmp 0x48a1af
mov esi, ecx
mov dword [ebp - 8], esi
cmp dword [ebx + 0x8c], 0
je 0x489f61
cmp esi, dword [ebx + 0x88]
jbe 0x489f61
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x489f61
mov eax, 0xfffffff4
jmp 0x405d87
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x1c], eax
mov eax, ecx
sub eax, esi
sar eax, 1
cmp dword [ebp - 0x1c], eax
ja 0x48a1ad
mov eax, dword [ebp - 0x1c]
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
jmp 0x489f61
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489f61
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], 1
cmp esi, eax
jae 0x48a1b2
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a25f
movzx eax, word [esi + 2]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x48a262
mov eax, dword [ebp - 0x10]
cmp eax, 0xd
jne 0x48a283
mov eax, dword [ebx + 0x7c]
add esi, 2
mov dword [ebp - 8], esi
cmp esi, eax
jae 0x489f61
cmp word [esi], 0xa
jne 0x48a2c1
add esi, 2
jmp 0x48a2be
cmp eax, 0xa
je 0x48a2b5
cmp dword [ebx + 0x6c], 0
jne 0x489f61
cmp eax, 0xb
je 0x48a2b5
cmp eax, 0xc
je 0x48a2b5
cmp eax, 0x85
je 0x48a2b5
cmp eax, 0x2028
je 0x48a2b5
cmp eax, 0x2029
jne 0x489f61
mov eax, dword [ebp - 0xc]
lea esi, [esi + eax*2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 8], esi
inc ecx
cmp ecx, dword [ebp - 0x1c]
jl 0x48a21d
jmp 0x489f61
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489f61
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a1b2
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a323
movzx eax, word [esi + 2]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], 2
add eax, 0x10000
jmp 0x48a326
mov eax, dword [ebp - 0x10]
cmp eax, 0x180e
ja 0x48a37c
je 0x48a342
cmp eax, 0xa0
ja 0x48a373
je 0x48a342
cmp eax, 9
je 0x48a342
cmp eax, 0x20
jne 0x48a3a3
mov dword [ebp - 0xc], 1
xor eax, eax
cmp dword [ebp - 0x34], 0x12
sete al
cmp dword [ebp - 0xc], eax
je 0x489f61
mov eax, dword [ebp - 0x30]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a2dc
jmp 0x489f61
cmp eax, 0x1680
jne 0x48a3a3
jmp 0x48a342
cmp eax, 0x205f
ja 0x48a39c
je 0x48a342
cmp eax, 0x2000
jb 0x48a3a3
cmp eax, 0x200a
jbe 0x48a342
cmp eax, 0x202f
jne 0x48a3a3
jmp 0x48a342
cmp eax, 0x3000
je 0x48a342
mov dword [ebp - 0xc], 0
jmp 0x48a349
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489f61
mov dword [ebp - 0x30], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a1b2
movzx eax, word [esi]
mov dword [ebp - 0x10], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a3ff
movzx eax, word [esi + 2]
and dword [ebp - 0x10], 0x3ff
shl dword [ebp - 0x10], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x10]
mov dword [ebp - 0x30], 2
add eax, 0x10000
jmp 0x48a402
mov eax, dword [ebp - 0x10]
cmp eax, 0x85
ja 0x48a446
je 0x48a450
cmp eax, 0xa
jb 0x48a415
cmp eax, 0xd
jbe 0x48a450
mov dword [ebp - 0xc], 0
xor eax, eax
cmp dword [ebp - 0x34], 0x14
sete al
cmp dword [ebp - 0xc], eax
je 0x489f61
mov eax, dword [ebp - 0x30]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a3b8
jmp 0x489f61
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48a415
mov dword [ebp - 0xc], 1
jmp 0x48a41c
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489f61
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a1b2
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a4b2
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a4b5
movzx eax, word [esi]
cmp eax, 0x100
jae 0x48a4cf
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
mov edx, dword [ebp - 0x24]
jne 0x489f61
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a465
jmp 0x489f61
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489f61
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a1b2
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a53c
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a53f
movzx eax, word [esi]
cmp eax, 0x100
jae 0x489f61
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
mov edx, dword [ebp - 0x24]
je 0x489f61
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a4ef
jmp 0x489f61
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489f61
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a1b2
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a5ca
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a5cd
movzx eax, word [esi]
cmp eax, 0x100
jae 0x48a5e7
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
mov edx, dword [ebp - 0x24]
jne 0x489f61
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a57d
jmp 0x489f61
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489f61
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a1b2
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a654
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a657
movzx eax, word [esi]
cmp eax, 0x100
jae 0x489f61
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
mov edx, dword [ebp - 0x24]
je 0x489f61
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a607
jmp 0x489f61
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489f61
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a1b2
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a6e2
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a6e5
movzx eax, word [esi]
cmp eax, 0x100
jae 0x48a6ff
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
mov edx, dword [ebp - 0x24]
jne 0x489f61
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a695
jmp 0x489f61
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x489f61
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48a1b2
movzx eax, word [esi]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a76c
mov edx, dword [ebp - 0x28]
movzx eax, word [esi + 2]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or eax, edx
mov edx, dword [ebp - 0x24]
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], 2
jmp 0x48a76f
movzx eax, word [esi]
cmp eax, 0x100
jae 0x489f61
mov edx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
mov edx, dword [ebp - 0x24]
je 0x489f61
mov eax, dword [ebp - 0xc]
inc ecx
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48a71f
jmp 0x489f61
cmp eax, 0xf
ja case.default.0x48640e
jmp dword [eax*4 + 0x48d1a8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x48a85f
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48a8c3
cmp dword [ebx + 0x18], 0
je 0x48a7eb
lea eax, [ebx + 0x1c]
push 0
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040482b
add esp, 0xc
test eax, eax
jne 0x48a85c
mov ecx, dword [ebp - 0x14]
jmp 0x48a80f
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x48a80f
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48a80f
cmp dword [ebx + 0x1c], 1
je 0x48a85c
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je 0x48a85c
cmp dword [ebx + 0x8c], 0
je 0x48a849
lea eax, [esi + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x48a849
cmp dword [ebx + 0x18], 0
jne 0x48a849
cmp dword [ebx + 0x1c], 2
jne 0x48a849
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48a849
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
inc ecx
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp - 0x1c]
jl 0x48a7bd
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x405c40
cmp esi, dword [ebp - 0x2c]
je 0x405cae
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x2c]
sub esi, 2
cmp dword [ebp - 0x34], 0x11
mov dword [ebp - 8], esi
jne 0x48a8ba
cmp esi, ecx
jbe 0x48a8bc
cmp word [esi], 0xa
jne 0x48a8ba
cmp word [esi - 2], 0xd
lea eax, [esi - 2]
cmove esi, eax
mov dword [ebp - 8], esi
cmp esi, ecx
jne 0x48a870
jmp 0x405cae
cmp dword [ebx + 0x8c], 0
je 0x48a85c
cmp esi, dword [ebx + 0x88]
jbe 0x48a85c
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48a85c
mov eax, 0xfffffff4
jmp 0x405d87
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x1c], eax
mov eax, ecx
sub eax, esi
sar eax, 1
cmp dword [ebp - 0x1c], eax
jbe 0x48a945
mov esi, ecx
mov dword [ebp - 8], esi
cmp dword [ebx + 0x8c], 0
je 0x48a85f
cmp esi, dword [ebx + 0x88]
jbe 0x48a85f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48a85f
mov eax, 0xfffffff4
jmp 0x405d87
mov eax, dword [ebp - 0x1c]
lea esi, [esi + eax*2]
mov dword [ebp - 8], esi
jmp 0x48a85f
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a85f
mov ecx, dword [ebx + 0x7c]
cmp esi, ecx
jae 0x48a90e
movzx ecx, word [esi]
cmp ecx, 0xd
jne 0x48a987
mov ecx, dword [ebx + 0x7c]
add esi, 2
mov dword [ebp - 8], esi
cmp esi, ecx
jae 0x48a85f
cmp word [esi], 0xa
je 0x48a9bf
jmp 0x48a9c5
cmp ecx, 0xa
je 0x48a9bc
cmp dword [ebx + 0x6c], 0
jne 0x48a85f
cmp ecx, 0xb
je 0x48a9bc
cmp ecx, 0xc
je 0x48a9bc
cmp ecx, 0x85
je 0x48a9bc
cmp ecx, 0x2028
je 0x48a9bc
cmp ecx, 0x2029
jne 0x48a85f
mov ecx, dword [ebx + 0x7c]
add esi, 2
mov dword [ebp - 8], esi
inc eax
cmp eax, dword [ebp - 0x1c]
jl 0x48a962
jmp 0x48a85f
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a85f
cmp esi, dword [ebx + 0x7c]
jae 0x48a90e
movzx ecx, word [esi]
cmp ecx, 0x180e
jg 0x48aa24
je 0x48a85f
cmp ecx, 0xa0
jg 0x48aa17
je 0x48a85f
cmp ecx, 9
je 0x48a85f
cmp ecx, 0x20
jne 0x48aa5f
jmp 0x48a85f
cmp ecx, 0x1680
jne 0x48aa5f
jmp 0x48a85f
cmp ecx, 0x205f
jg 0x48aa53
je 0x48a85f
cmp ecx, 0x2000
jl 0x48aa5f
cmp ecx, 0x200a
jle 0x48a85f
cmp ecx, 0x202f
jne 0x48aa5f
jmp 0x48a85f
cmp ecx, 0x3000
je 0x48a85f
add esi, 2
inc eax
mov dword [ebp - 8], esi
cmp eax, dword [ebp - 0x1c]
jl 0x48a9dc
jmp 0x48a85f
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a85f
cmp esi, dword [ebx + 0x7c]
jae 0x48a90e
movzx ecx, word [esi]
cmp ecx, 0x180e
jg 0x48aabc
je 0x48aaf3
cmp ecx, 0xa0
jg 0x48aaaf
je 0x48aaf3
cmp ecx, 9
je 0x48aaf3
cmp ecx, 0x20
je 0x48aaf3
jmp 0x48a85f
cmp ecx, 0x1680
je 0x48aaf3
jmp 0x48a85f
cmp ecx, 0x205f
jg 0x48aae7
je 0x48aaf3
cmp ecx, 0x2000
jl 0x48a85f
cmp ecx, 0x200a
jle 0x48aaf3
cmp ecx, 0x202f
je 0x48aaf3
jmp 0x48a85f
cmp ecx, 0x3000
jne 0x48a85f
add esi, 2
inc eax
mov dword [ebp - 8], esi
cmp eax, dword [ebp - 0x1c]
jl 0x48aa80
jmp 0x48a85f
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a85f
cmp esi, dword [ebx + 0x7c]
jae 0x48a90e
movzx ecx, word [esi]
cmp ecx, 0x85
jg 0x48ab39
je 0x48a85f
cmp ecx, 0xa
jl 0x48ab4d
cmp ecx, 0xd
jg 0x48ab4d
jmp 0x48a85f
cmp ecx, 0x2028
jl 0x48ab4d
cmp ecx, 0x2029
jle 0x48a85f
add esi, 2
inc eax
mov dword [ebp - 8], esi
cmp eax, dword [ebp - 0x1c]
jl 0x48ab10
jmp 0x48a85f
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge 0x48a85f
cmp esi, dword [ebx + 0x7c]
jae 0x48a90e
movzx eax, word [esi]
cmp eax, 0x85
jg 0x48ab8c
je 0x48ab9a
add eax, 0xfffffff6
cmp eax, 3
jbe 0x48ab9a
jmp 0x48a85f
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48a85f
add esi, 2
inc ecx
mov dword [ebp - 8], esi
cmp ecx, dword [ebp - 0x1c]
jl 0x48ab6a
jmp 0x48a85f
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a85f
cmp esi, dword [ebx + 0x7c]
jae 0x48a90e
movzx ecx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp cx, word [ebp - 0xc]
ja 0x48abe0
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne 0x48a85f
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48abb7
jmp 0x48a85f
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x48a85f
cmp esi, dword [ebx + 0x7c]
jae 0x48a90e
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja 0x48a85f
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je 0x48a85f
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48ac00
jmp 0x48a85f
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a85f
cmp esi, dword [ebx + 0x7c]
jae 0x48a90e
movzx ecx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp cx, word [ebp - 0xc]
ja 0x48ac75
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne 0x48a85f
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48ac4c
jmp 0x48a85f
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x48a85f
cmp esi, dword [ebx + 0x7c]
jae 0x48a90e
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja 0x48a85f
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je 0x48a85f
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48ac95
jmp 0x48a85f
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge 0x48a85f
cmp esi, dword [ebx + 0x7c]
jae 0x48a90e
movzx ecx, word [esi]
mov dword [ebp - 0xc], 0xff
cmp cx, word [ebp - 0xc]
ja 0x48ad0a
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne 0x48a85f
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48ace1
jmp 0x48a85f
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge 0x48a85f
cmp esi, dword [ebx + 0x7c]
jae 0x48a90e
movzx eax, word [esi]
mov ecx, 0xff
cmp ax, cx
ja 0x48a85f
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x48a85f
mov eax, dword [ebp - 0x14]
inc eax
add esi, 2
mov dword [ebp - 8], esi
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
jl 0x48ad2a
jmp 0x48a85f
mov eax, dword [ebp + 0x18]
inc eax
cmp word [edi], 0x74
push eax
push dword [ebp + 0x14]
push ebx
push edx
push ecx
mov ecx, dword [ebp - 8]
jne 0x48ad99
lea edx, [edi + 4]
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov edi, dword [ebp - 0xc]
jmp 0x405cab
mov edx, dword [ebp - 0xc]
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
add edi, 4
jmp 0x405cab
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp + 0xc]
cmp eax, ecx
cmovg ecx, eax
movzx eax, word [edi + 6]
mov dword [ebp + 0xc], ecx
lea edi, [edi + eax*2]
add edi, 4
cmp word [edi], 0x71
jne 0x48ade8
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48add5
jmp 0x48ade8
mov ecx, dword [ebp + 0xc]
cmp esi, 0x86
je 0x48af63
add edi, 4
jmp 0x405cab
mov edx, esi
mov esi, dword [ebp - 8]
mov ecx, esi
call fcn.00405be0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x48ae23
mov ecx, dword [ebp - 0x18]
cmp dword [ebx + 0xb8], ecx
jne 0x405d87
jmp 0x48ae2e
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x18]
cmp word [ecx], 0x7b
je 0x48b016
add edi, 4
jmp 0x405cab
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48ae58
sub esi, 2
movzx ecx, word [esi]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48ae83
movzx eax, word [esi + 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 + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48aea5
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 2
jne 0x48aec9
sub esi, 2
jmp 0x489e61
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], esi
mov dword [ebp - 8], esi
cmp esi, dword [ebp - 0x2c]
jne 0x489e35
jmp 0x405cae
mov dword [ebx + 0x9c], 2
jmp 0x406564
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x48cd8a
cmp word [edi], 0x71
je 0x4065b3
cmp word [eax], 0x71
jne 0x48cd8a
jmp 0x4065b3
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x49f530]
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
lea eax, [edi + 4]
mov dword [ebx + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x405d87
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
lea edx, [edi + 4]
push ebx
push ecx
push dword [ebp + 8]
mov ecx, dword [ebp - 8]
call fcn.00405be0
add esp, 0x14
jmp 0x405d87
mov eax, dword [ebp - 0x58]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0x50]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je case.0x405c60.151
push eax
call dword [0x4bc80c]
add esp, 4
jmp case.0x405c60.151
mov ecx, dword [ebp - 0x50]
lea edx, [ebp - 0x14c]
cmp ecx, edx
je 0x405d87
push ecx
call dword [0x4bc80c]
mov eax, dword [ebp - 0xc]
add esp, 4
jmp 0x405d87
mov eax, 0xfffffffa
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x405d87
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x90], edx
mov eax, 0xfffffc1a
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov dword [ebx + 0xb8], esi
mov eax, 0xfffffc1b
jmp 0x405d87
cmp ecx, dword [ebx + 0x88]
jbe case.0x405c60.151
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x405c60.151
mov eax, 0xfffffff4
jmp 0x405d87
mov eax, 0xfffffff2
jmp 0x405d87
cmp eax, 0xfffffffe
jne 0x48b0d2
mov esi, dword [ebx + 0x7c]
cmp dword [ebx + 0x8c], 0
je case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jb case.0x405c60.151
cmp esi, dword [ebx + 0x88]
jmp 0x48b09c
mov dword [ebp - 0xc], eax
cmp ecx, edx
jl 0x48b0fc
jmp 0x48b162
mov eax, dword [ebp - 8]
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
push ebx
push esi
mov edx, eax
call fcn.004723ad
add esp, 0xc
test eax, eax
js 0x48b129
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x18]
jl 0x48b0f9
jmp 0x48b159
cmp eax, 0xfffffffe
jne 0x48b156
cmp dword [ebx + 0x8c], 0
je 0x48b156
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x88]
jbe 0x48b156
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jb case.0x405c60.151
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
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 0x48b162
xor eax, eax
jmp 0x405d87
cmp ecx, 0xfffffffe
jne 0x48b1a9
mov eax, dword [ebx + 0x7c]
jmp 0x48b1ac
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x405c60.151
cmp eax, dword [ebx + 0x7c]
jb case.0x405c60.151
cmp eax, dword [ebx + 0x88]
jmp 0x48b09c
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 0x48b2ce
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x18]
jge case.0x405c60.151
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b2b6
movzx eax, word [ecx]
mov dword [ebp - 0x10], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x48b252
movzx eax, word [ecx]
mov ebx, dword [ebp - 0x10]
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 - 0x10], eax
mov dword [ebp - 8], ecx
jmp 0x48b255
mov eax, dword [ebp - 0x10]
cmp eax, 0xff
jbe 0x48b267
cmp esi, 0x6a
je case.0x405c60.151
jmp 0x48b28c
shr dword [ebp - 0x10], 3
mov edx, dword [ebp - 0x10]
mov ecx, eax
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1c]
test byte [edx + ecx], al
mov edx, dword [ebp - 0x34]
je case.0x405c60.151
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 - 0x34], edx
push dword [ebp + 8]
mov edx, edi
call fcn.00405be0
add esp, 0x14
test eax, eax
je 0x48b1f9
jmp 0x405d87
cmp dword [ebx + 0x8c], 0
je case.0x405c60.151
cmp ecx, dword [ebx + 0x88]
jmp 0x48b09c
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x18]
jge case.0x405c60.151
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4064a4
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x28], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x48b315
cmp esi, 0x6a
je case.0x405c60.151
jmp 0x48b335
shr dword [ebp - 0x28], 3
mov ebx, dword [ebp - 0x28]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1c]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0x405c60.151
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 - 0x34], edx
push dword [ebp + 8]
mov edx, edi
call fcn.00405be0
add esp, 0x14
test eax, eax
je 0x48b2de
jmp 0x405d87
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 2
jmp 0x405faf
cmp esi, 0x6a
je 0x405fdb
jmp 0x4065db
cmp dword [ebx + 0x8c], 0
je 0x405fdb
cmp eax, dword [ebx + 0x88]
jbe 0x405fdb
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
jmp 0x405fdb
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0x40]
je case.0x405c60.151
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48b3ed
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.00405be0
add esp, 0x14
test eax, eax
je 0x48b3c7
jmp 0x405d87
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x18]
jge 0x48b48e
cmp eax, dword [ebx + 0x7c]
jae 0x48b460
movzx ecx, word [eax]
mov dword [ebp - 0x28], ecx
cmp ecx, 0xff
jbe 0x48b433
cmp esi, 0x6a
jne 0x48b452
jmp 0x48b485
shr dword [ebp - 0x28], 3
mov ebx, dword [ebp - 0x28]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x1c]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
je 0x48b485
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x48b419
jmp 0x48b485
cmp dword [ebx + 0x8c], 0
je 0x48b485
cmp eax, dword [ebx + 0x88]
jbe 0x48b485
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
cmp eax, dword [ebp - 0x40]
jb case.0x405c60.151
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
sub esi, 2
cmp esi, dword [ebp - 0x40]
jae 0x48b491
jmp 0x405d87
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.004727b4
add esp, 4
test eax, eax
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc 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.00405be0
add esp, 0x14
test eax, eax
je 0x4869f8
jmp 0x405d87
cmp dword [ebx + 0x8c], 0
je case.0x405c60.151
cmp esi, dword [ebx + 0x88]
jmp 0x48b09c
mov dword [ebp - 0x40], esi
cmp edx, eax
jge 0x48b5c4
mov dword [ebp - 0xc], 1
cmp esi, dword [ebx + 0x7c]
jae 0x48b59f
movzx edx, word [esi]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x30], edx
test ecx, ecx
je 0x48b576
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b571
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
mov dword [ebp - 0xc], 2
jmp 0x48b579
mov eax, dword [ebp - 0x30]
jmp 0x48b579
movzx eax, word [esi]
mov edx, dword [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.004727b4
add esp, 4
test eax, eax
je 0x48b5c4
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
inc edx
lea esi, [esi + eax*2]
mov dword [ebp - 0x18], edx
cmp edx, dword [ebp - 0x10]
jl 0x48b528
jmp 0x48b5c4
cmp dword [ebx + 0x8c], 0
je 0x48b5c4
cmp esi, dword [ebx + 0x88]
jbe 0x48b5c4
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0x40]
je case.0x405c60.151
cmp dword [ebp - 0x20], 0
je 0x48b613
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48b613
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.00405be0
add esp, 0x14
test eax, eax
je 0x48b5e7
jmp 0x405d87
cmp dword [ebx + 0x8c], 0
je case.0x405c60.151
cmp edx, dword [ebx + 0x7c]
jb case.0x405c60.151
cmp edx, dword [ebx + 0x88]
jmp 0x48b09c
cmp dword [ebx + 0x8c], edx
je case.0x405c60.151
cmp ecx, dword [ebx + 0x88]
jmp 0x48b09c
mov ecx, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x405c60.151
cmp ecx, dword [ebx + 0x7c]
jb case.0x405c60.151
jmp 0x48b096
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x10]
lea edx, [ecx + ecx]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x1c], eax
jge case.0x405c60.151
mov eax, dword [ebx + 0x7c]
sub eax, edx
cmp esi, eax
ja 0x48b6ea
lea eax, [ecx + ecx]
push eax
push dword [ebp - 0x28]
push esi
call fcn.00420c43
add esp, 0xc
test eax, eax
jne 0x48b6ea
add esi, dword [ebp - 0xc]
jmp 0x48b724
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jle 0x48b0d2
mov eax, dword [ebx + 0x7c]
lea edx, [ecx + ecx]
sub eax, edx
mov dword [ebp - 0x30], edx
cmp esi, eax
ja 0x48b0d2
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x6c]
push eax
push esi
call fcn.00420c43
add esp, 0xc
test eax, eax
jne 0x48b0d2
add esi, dword [ebp - 0x30]
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x1c]
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.00405be0
mov ecx, dword [ebp - 0x10]
add esp, 0x14
lea edx, [ecx + ecx]
test eax, eax
je 0x48b6bc
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x34]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
cmp dword [ebp - 0x18], ecx
je 0x48b79e
cmp dword [ebp - 0x14], ecx
jne case.0x405c60.151
inc eax
mov dword [ebp - 0x1c], 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.00405be0
add esp, 0x14
test eax, eax
je 0x48b778
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x18], eax
jne case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
je 0x48b7ec
jmp 0x405d87
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test ecx, ecx
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
je 0x48b8e2
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48b8a8
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 - 0x14], edx
je case.0x405c60.151
cmp dword [ebp - 0x10], edx
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
je 0x48b863
jmp 0x405d87
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x34]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
cmp dword [ebp - 0x14], ecx
je case.0x405c60.151
cmp dword [ebp - 0x10], ecx
je case.0x405c60.151
inc eax
mov dword [ebp - 0x1c], 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.00405be0
add esp, 0x14
test eax, eax
je 0x48b8f2
jmp 0x405d87
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test ecx, ecx
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
je 0x48b9e8
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48b9b7
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 - 0x14], edx
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
je 0x48b972
jmp 0x405d87
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp - 0x34]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x14], eax
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
je 0x48b9f8
jmp 0x405d87
cmp eax, 0xa
ja case.default.0x48640e
jmp dword [eax*4 + 0x48d1e8]
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48baa9
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48baa9
add esi, 2
cmp dword [ebp - 0x3c], 0
jne case.0x405c60.151
inc eax
mov dword [ebp - 0x14], 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.00405be0
add esp, 0x14
test eax, eax
je 0x48ba77
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], edx
je 0x48bb4f
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bb4f
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 + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x48bb74
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, 9
je 0x48bb99
cmp eax, 5
je 0x48bb99
cmp eax, 8
je 0x48bb99
xor eax, eax
jmp 0x48bb9e
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
je 0x48bafe
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48bc41
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bc41
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 + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48bc63
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x40]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
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.00405be0
add esp, 0x14
test eax, eax
je 0x48bbf6
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48bd26
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bd26
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 + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48bd48
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
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.00405be0
add esp, 0x14
test eax, eax
je 0x48bcdb
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48be04
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48be04
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 + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48be26
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d0]
cmp eax, dword [ebp - 0x40]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
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.00405be0
add esp, 0x14
test eax, eax
je 0x48bdb9
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], edx
je 0x48bee8
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bee8
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 + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x48bf0d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x48bf34
cmp eax, 3
je 0x48bf34
xor eax, eax
jmp 0x48bf39
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
je 0x48be97
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
je 0x48bfe2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bfe2
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 + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48c008
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x48c03c
cmp edx, 9
je 0x48c03c
cmp edx, 0xa
je 0x48c03c
cmp edx, 0xc
je 0x48c03c
cmp edx, 0xd
je 0x48c03c
xor eax, eax
jmp 0x48c041
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
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.00405be0
add esp, 0x14
test eax, eax
je 0x48bf91
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
je 0x48c0e9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c0e9
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 + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48c10f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
cmp dword [eax*4 + 0x4b6cf0], 6
je 0x48c148
cmp edx, 9
je 0x48c148
cmp edx, 0xa
je 0x48c148
cmp edx, 0xb
je 0x48c148
cmp edx, 0xc
je 0x48c148
cmp edx, 0xd
je 0x48c148
xor eax, eax
jmp 0x48c14d
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
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.00405be0
add esp, 0x14
test eax, eax
je 0x48c098
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x14], eax
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], ecx
je 0x48c1f5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c1f5
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 + 0x4ad470]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48c21b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f5d0]
movzx eax, byte [eax*8 + 0x4ac0d1]
mov eax, dword [eax*4 + 0x4b6cf0]
cmp eax, 1
je 0x48c247
cmp eax, 3
je 0x48c247
cmp edx, 0x5f
je 0x48c247
xor eax, eax
jmp 0x48c24c
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x14]
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.00405be0
add esp, 0x14
test eax, eax
je 0x48c1a4
jmp 0x405d87
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48c2f1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c2ee
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 - 0x14]
mov edx, dword [ebp - 0x40]
mov ebx, dword [edx*4 + 0x4af670]
lea edx, [edx*4 + 0x4af670]
mov dword [ebp - 0xc], ebx
cmp ecx, ebx
mov ebx, dword [ebp + 0x10]
jb 0x48c323
mov ebx, dword [ebp + 0x10]
lea edx, [edx + 4]
cmp ecx, dword [ebp - 0xc]
je 0x48c359
mov ebx, dword [edx]
mov dword [ebp - 0xc], ebx
cmp ecx, ebx
mov ebx, dword [ebp + 0x10]
jae 0x48c30c
cmp dword [ebp - 0x3c], 0
je case.0x405c60.151
inc eax
mov dword [ebp - 0x14], 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.00405be0
add esp, 0x14
test eax, eax
je 0x48c2a3
jmp 0x405d87
cmp dword [ebp - 0x3c], 0
jne case.0x405c60.151
jmp 0x48c32d
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.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x1c]
jge case.0x405c60.151
cmp esi, dword [ebx + 0x7c]
jae 0x48b505
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
je 0x48c3d6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c3d3
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 - 0x14]
cmp ecx, 0x24
je 0x48c401
cmp ecx, 0x40
je 0x48c401
cmp ecx, 0x60
je 0x48c401
cmp ecx, 0xa0
jb 0x48c3f5
cmp ecx, 0xd7ff
jbe 0x48c401
cmp ecx, 0xe000
jae 0x48c401
xor ecx, ecx
jmp 0x48c406
mov ecx, 1
cmp ecx, dword [ebp - 0x3c]
je case.0x405c60.151
inc eax
mov dword [ebp - 0x14], 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.00405be0
add esp, 0x14
test eax, eax
je 0x48c388
jmp 0x405d87
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge case.0x405c60.151
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x30], eax
cmp esi, eax
jae 0x48b505
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x20], 0
mov dword [ebp - 0xc], edx
je 0x48c4a3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c4a3
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 + 0x4ad470]
shl eax, 7
and edx, 0x8000007f
jns 0x48c4c8
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f5d0]
movzx edx, byte [eax*8 + 0x4ac0d2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x48c58f
mov ebx, dword [ebp - 0x20]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x48c52a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c52a
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 + 0x4ad470]
shl eax, 7
and ecx, 0x8000007f
jns 0x48c54c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f5d0]
movzx ecx, byte [eax*8 + 0x4ac0d2]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x49f454], eax
je 0x48c583
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x30]
cmp esi, eax
jb 0x48c4ed
jmp 0x48c586
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x14]
cmp dword [ebx + 0x8c], 0
je 0x48c5b8
cmp esi, eax
jb 0x48c5b8
cmp esi, dword [ebx + 0x88]
jbe 0x48c5b8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
je 0x48c44d
jmp 0x405d87
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x406447
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x406447
cmp dword [ebx + 0x1c], 1
je case.0x405c60.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x405c60.151
jmp 0x406447
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
jmp 0x40645f
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x48640e
jmp dword [eax*4 + 0x48d214]
cmp edx, 0xd
ja 0x48c68a
je 0x48c66f
cmp edx, 0xa
je case.0x48c64a.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x405c60.151
jmp 0x48c6a1
cmp esi, dword [ebx + 0x7c]
jae case.0x48c64a.13
cmp word [esi], 0xa
jne case.0x48c64a.13
add esi, 2
jmp case.0x48c64a.13
cmp edx, 0x85
je 0x48c6a1
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x405c60.151
cmp dword [ebx + 0x6c], 0
jne case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x180e
ja 0x48c6f4
je case.0x405c60.151
cmp edx, 0xa0
ja 0x48c6e3
je case.0x405c60.151
cmp edx, 9
je case.0x405c60.151
cmp edx, 0x20
je case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x1680
je case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x205f
ja 0x48c72b
je case.0x405c60.151
cmp edx, 0x2000
jb case.0x48c64a.13
cmp edx, 0x200a
jbe case.0x405c60.151
cmp edx, 0x202f
je case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x3000
je case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x180e
ja 0x48c780
je case.0x48c64a.13
cmp edx, 0xa0
ja 0x48c76f
je case.0x48c64a.13
cmp edx, 9
je case.0x48c64a.13
cmp edx, 0x20
jne case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x1680
jne case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x205f
ja 0x48c7b7
je case.0x48c64a.13
cmp edx, 0x2000
jb case.0x405c60.151
cmp edx, 0x200a
jbe case.0x48c64a.13
cmp edx, 0x202f
jne case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x3000
jne case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x85
ja 0x48c7ed
je case.0x405c60.151
cmp edx, 0xa
jb case.0x48c64a.13
cmp edx, 0xd
jbe case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x2028
jb case.0x48c64a.13
cmp edx, 0x2029
jbe case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x85
ja 0x48c829
je case.0x48c64a.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x405c60.151
jmp case.0x48c64a.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x100
jae case.0x48c64a.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x100
jae case.0x405c60.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x100
jae case.0x48c64a.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x100
jae case.0x405c60.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x100
jae case.0x48c64a.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x405c60.151
jmp case.0x48c64a.13
cmp edx, 0x100
jae case.0x405c60.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x405c60.151
jmp case.0x48c64a.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48c64a.13
cmp dword [ebx + 0x18], 0
jne case.0x48c64a.13
cmp dword [ebx + 0x1c], 2
jne case.0x48c64a.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48c64a.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
jmp case.0x48c64a.13
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x1c]
jge case.0x405c60.151
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48b505
mov eax, dword [ebp - 0x34]
cmp eax, 0xc
jne 0x48c9b8
cmp dword [ebx + 0x18], 0
je 0x48c989
push 0
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040482b
add esp, 0xc
test eax, eax
jne case.0x405c60.151
mov ecx, dword [ebp - 0x14]
jmp 0x48c9b5
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x48c9b5
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48c9b5
cmp dword [ebx + 0x1c], 1
je case.0x405c60.151
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x405c60.151
mov eax, dword [ebp - 0x34]
movzx edx, word [esi]
add eax, 0xfffffffa
add esi, 2
cmp eax, 0xf
ja case.default.0x48640e
jmp dword [eax*4 + 0x48d254]
cmp dword [ebx + 0x8c], 0
je case.0x48c9ca.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48c9ca.13
cmp dword [ebx + 0x18], 0
jne case.0x48c9ca.13
cmp dword [ebx + 0x1c], 2
jne case.0x48c9ca.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48c9ca.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485920
jmp case.0x48c9ca.13
cmp edx, 0xd
ja 0x48ca59
je 0x48ca3e
cmp edx, 0xa
je case.0x48c9ca.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x405c60.151
jmp 0x48ca70
cmp esi, dword [ebx + 0x7c]
jae case.0x48c9ca.13
cmp word [esi], 0xa
jne case.0x48c9ca.13
add esi, 2
jmp case.0x48c9ca.13
cmp edx, 0x85
je 0x48ca70
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x405c60.151
cmp dword [ebx + 0x6c], 0
jne case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x180e
ja 0x48cac3
je case.0x405c60.151
cmp edx, 0xa0
ja 0x48cab2
je case.0x405c60.151
cmp edx, 9
je case.0x405c60.151
cmp edx, 0x20
je case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x1680
je case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x205f
ja 0x48cafa
je case.0x405c60.151
cmp edx, 0x2000
jb case.0x48c9ca.13
cmp edx, 0x200a
jbe case.0x405c60.151
cmp edx, 0x202f
je case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x3000
je case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x180e
ja 0x48cb4f
je case.0x48c9ca.13
cmp edx, 0xa0
ja 0x48cb3e
je case.0x48c9ca.13
cmp edx, 9
je case.0x48c9ca.13
cmp edx, 0x20
jne case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x1680
jne case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x205f
ja 0x48cb86
je case.0x48c9ca.13
cmp edx, 0x2000
jb case.0x405c60.151
cmp edx, 0x200a
jbe case.0x48c9ca.13
cmp edx, 0x202f
jne case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x3000
jne case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x85
ja 0x48cbbc
je case.0x405c60.151
cmp edx, 0xa
jb case.0x48c9ca.13
cmp edx, 0xd
jbe case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x2028
jb case.0x48c9ca.13
cmp edx, 0x2029
jbe case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0x85
ja 0x48cbf8
je case.0x48c9ca.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x405c60.151
jmp case.0x48c9ca.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0xff
ja case.0x48c9ca.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0xff
ja case.0x405c60.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0xff
ja case.0x48c9ca.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0xff
ja case.0x405c60.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0xff
ja case.0x48c9ca.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x405c60.151
jmp case.0x48c9ca.13
cmp edx, 0xff
ja case.0x405c60.151
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x405c60.151
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x14], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
je 0x48c943
jmp 0x405d87
mov dword [ebx + 0x9c], 2
jmp 0x4062ef
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x406338
cmp word [edi], 0x71
je 0x48cd02
cmp word [eax], 0x71
jne 0x406338
xor edx, edx
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x94], eax
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x71
je 0x4062e3
mov esi, dword [ebp - 0xc]
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x10]
lea ecx, [esi + esi]
mov dword [eax + ecx*4], edi
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0x40]
mov dword [eax + ecx*4 + 4], edi
mov ecx, dword [ebx + 0x10]
mov eax, dword [ebx + 0xc]
sub ecx, esi
mov esi, dword [ebp - 0x18]
mov dword [eax + ecx*4], esi
jmp 0x406338
cmp edx, 0xfffffc1b
jne 0x48cd8a
movzx eax, word [edi]
cmp eax, 0x7b
je 0x48cd7f
cmp eax, 0x71
jne 0x48cd76
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x48cd68
movzx eax, word [edi + 2]
neg eax
lea edi, [edi + eax*2]
xor eax, eax
cmp dword [ebx + 0xb8], edi
cmove edx, eax
mov eax, edx
jmp 0x405d87
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 + 0x49f530]
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.00405be0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x48cde1
cmp edi, 0xfffffc19
jne 0x48cdfa
cmp dword [ebx + 0xb0], 0
jne 0x48cdfa
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0xb0], ecx
mov eax, edi
jmp 0x405d87
cmp edi, 0xfffffc1f
jne 0x48ce18
mov edx, dword [ebx + 0x80]
mov ecx, dword [ebp - 0xc]
call fcn.004725e3
test eax, eax
je 0x48cf29
mov eax, edi
jmp 0x405d87
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 + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00405be0
add esp, 0x14
test eax, eax
mov ecx, 0xfffffc1c
cmovne ecx, eax
mov eax, ecx
jmp 0x405d87
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 + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00405be0
add esp, 0x14
test eax, eax
mov ecx, 0xfffffc1d
cmovne ecx, eax
mov eax, ecx
jmp 0x405d87
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 + 0x49f530]
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.00405be0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x48ceda
cmp ecx, 0xfffffc19
jne 0x48cee9
cmp dword [ebx + 0xb0], 0
jne 0x48cee9
mov dword [ebx + 0xb0], esi
mov eax, 0xfffffc1d
test ecx, ecx
cmovne eax, ecx
jmp 0x405d87
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 + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
mov ecx, esi
call fcn.00405be0
add esp, 0x14
test eax, eax
jne 0x405d87
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1e
jmp 0x405d87
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 + 0x49f530]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00405be0
add esp, 0x14
jmp 0x48cf68
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0x405d87
mov dword [ebx + 0x80], edi
mov eax, 0xfffffc20
jmp 0x405d87
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 + 0x49f530]
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.00405be0
add esp, 0x14
cmp eax, 1
je 0x48cfc8
cmp eax, 0xfffffc19
jne 0x48cf68
cmp dword [ebx + 0xb0], 0
jne 0x48cf68
jmp 0x48cf62
cmp esi, 0x99
je 0x405d65
cmp dword [ebx + 0xa8], 0
jne 0x405d65
cmp dword [ebx + 0x60], 0
jne case.0x405c60.151
cmp dword [ebx + 0x64], 0
je 0x405d65
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp edi, eax
je case.0x405c60.151
jmp 0x405d65
mov eax, 0xfffffc19
jmp 0x405d87
mov eax, 0xfffffffb
jmp 0x405d87
mov eax, 0xffffffeb
jmp 0x405d87
inc dword [ebx]
mov eax, 0xfffffff8
jmp 0x405d87