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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
push ebx
push esi
push edi
mov edi, edx
mov eax, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 8], eax
test edi, edi
je 0x483c60
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x44], 0
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x50]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x1c], ecx
cmp eax, dword [ebx + 4]
jae 0x48c26f
inc eax
mov dword [ebx], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebx + 8]
jae 0x48c265
cmp dword [ebx + 0x9c], 2
je 0x483c91
lea esp, [esp]
movzx ecx, word [edi]
xor edx, edx
mov esi, ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], edx
cmp esi, 0xa1
ja case.0x40b754.98
movzx eax, byte [esi + 0x40c24c]
jmp dword [eax*4 + 0x40c100]
cmp esi, 0x88
jae 0x48a32e
cmp esi, 0x81
je 0x48a32e
cmp dword [ebx + 0x70], 0
jne 0x40c026
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
je 0x40c026
movzx eax, word [edi]
movzx eax, byte [eax + 0x49e538]
lea edi, [edi + eax*2]
mov dword [ebp - 0x34], edi
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
jb 0x40b710
jmp 0x48c26f
movzx eax, word [edi + 2]
add eax, eax
mov esi, edi
sub esi, eax
mov ecx, 0x88
movzx eax, word [esi]
mov dword [ebp - 0x20], esi
cmp ax, cx
jae 0x4848b8
mov ecx, 0x81
cmp ax, cx
je 0x4848b8
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp eax, 0x7d
jb 0x40b7fb
mov edx, 0x80
cmp ax, dx
jbe 0x48a4c3
mov edx, 0x82
cmp ax, dx
je 0x48a4c3
mov edx, 0x85
cmp ax, dx
je 0x40bba5
mov edx, 0x8a
cmp ax, dx
je 0x40bba5
mov edx, 0x86
cmp ax, dx
je 0x40bba5
mov edx, 0x8b
cmp ax, dx
je 0x40bba5
mov edx, dword [ebp + 0xc]
cmp word [edi], 0x78
jne 0x48492e
mov eax, 0x81
cmp word [esi], ax
je 0x48a490
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40b730
mov edx, dword [ebp - 8]
mov edi, dword [ebp + 8]
cmp edx, edi
je 0x48c20b
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x80], edi
test esi, esi
jne 0x48c251
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, word [edi + 0x22]
lea eax, [edi + 2]
add edi, 0x22
mov dword [ebp - 0x38], eax
mov eax, ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0xc], eax
cmp eax, 0x6d
jle 0x40bf7e
mov eax, 1
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], 1
test ecx, ecx
je 0x485b5a
cmp eax, 1
jl 0x40bfdc
mov ecx, dword [ebx + 0x7c]
lea esp, [esp]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x40bf75
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
je 0x485b24
cmp ecx, 0xff
ja 0x485b4c
mov ebx, dword [ebp - 0x38]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x2c]
shr ecx, 3
test byte [ecx + ebx], al
mov ebx, dword [ebp + 0x10]
jne 0x40ba51
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], esi
cmp eax, esi
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x40b97e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x48585e
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x40b9a0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e2]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
cmp eax, esi
jae 0x40ba39
mov edi, dword [ebp - 0x1c]
mov ebx, eax
movzx ecx, word [ebx]
mov esi, 1
test edi, edi
je 0x40b9df
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x485883
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x40ba01
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x2c]
add eax, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx ecx, byte [eax*8 + 0x4ab0e2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49e504], eax
jne 0x40bb1d
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x34]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
jne 0x4858a7
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x40b730
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x7c]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x28]
jle 0x40b8f0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
cmp dword [ebp - 0x28], ebx
mov ebx, dword [ebp + 0x10]
je 0x40b730
test edx, edx
jne 0x48a664
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
test ecx, ecx
je 0x485c36
cmp edx, dword [ebp - 0x18]
jge 0x40bae8
mov dword [ebp - 0x2c], 1
cmp eax, dword [ebx + 0x7c]
jae 0x485c04
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x20], ecx
cmp eax, 0xd800
je 0x485bca
cmp ecx, 0xff
ja 0x485bf6
shr dword [ebp - 0x20], 3
mov ebx, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
jne 0x40c0a9
cmp dword [ebp - 0x30], 0
jne 0x40b730
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
jmp 0x48a61a
lea ebx, [ebx + esi*2]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
cmp ebx, esi
jb 0x40b9c1
jmp 0x40ba2d
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
cmp dword [ebp - 0x1c], edx
je 0x486050
movzx esi, word [edi + 2]
add edi, 2
mov eax, esi
and eax, 0xfc00
mov edx, 1
cmp eax, 0xd800
je 0x485fa0
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp esi, 0x80
jae 0x485fc4
cmp ecx, 0xff
ja 0x40bb87
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.0x40b754.157
add edi, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x34], edi
jmp 0x40b730
movzx edx, word [esi + 4]
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x4848c8
mov eax, dword [ebx + 0x94]
mov esi, dword [ebp - 0x40]
and eax, 0xffff0000
or eax, edx
mov dword [ebx + 0x94], eax
cmp esi, dword [ebx + 0x14]
mov esi, dword [ebp - 0x20]
jge 0x4848ed
mov ecx, dword [ebp + 0xc]
cmp dword [ebp - 0x40], ecx
jg 0x4848fd
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x14]
cmp edx, eax
jg 0x40b844
lea edx, [eax + 2]
mov dword [ebp + 0xc], edx
jmp 0x40b844
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x40bc56
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x485629
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x2c]
sar eax, 7
movzx ecx, byte [eax + 0x4ac478]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x40bc7c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [edi + 2]
movzx ecx, word [ecx*2 + 0x49e5e0]
cmp eax, 9
jne 0x485651
movzx eax, word [edi + 4]
mov ecx, dword [eax*4 + 0x4ae678]
lea eax, [eax*4 + 0x4ae678]
cmp edx, ecx
jb 0x485850
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0x40bcc2
mov ecx, dword [eax]
cmp edx, ecx
jae 0x40bcb0
jmp 0x485850
cmp esi, 0x10
jne case.0x40b754.157
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x40b730
cmp dword [ebp - 0x1c], edx
je 0x485f71
mov ax, word [edi + 2]
add edi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xd800
mov esi, 1
mov dword [ebp - 0x34], edi
cmp ax, cx
je 0x40c0ee
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp esi, eax
jg 0x48a8c0
test esi, esi
jle 0x40b730
mov edi, edi
mov cx, word [edi]
mov ax, word [edx]
add edx, 2
add edi, 2
dec esi
mov dword [ebp - 8], edx
mov dword [ebp - 0x34], edi
cmp cx, ax
jne case.0x40b754.157
test esi, esi
jle 0x40b730
jmp 0x40bd20
movzx edx, word [edi + 4]
mov dword [ebp - 0xc], edx
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
cmp eax, dword [ebx + 0x14]
jge case.0x40b754.129
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0xc]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ecx], eax
lea esp, [esp]
cmp esi, 0x88
jae 0x48bf00
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 + 0x49e538]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040b6d0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x48bf57
cmp edx, 0xfffffc20
je 0x48bf0f
test edx, edx
je 0x48bf34
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esi - 0x55]
add edi, 2
test al, 1
je 0x40c0f8
mov edx, 1
movsx ecx, byte [eax + 0x49e454]
movsx eax, byte [eax + 0x49e4f8]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x40be33
mov dword [ebp - 0x24], SysAllocStringLen
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], edi
cmp eax, 0x10
je 0x486f04
cmp eax, 0xf
je 0x486efb
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x486f20
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x30]
je 0x40b730
test edx, edx
mov edx, dword [ebp - 0x2c]
je 0x48875c
test edx, edx
jns 0x48acd6
cmp dword [ebp - 0x28], 0x16
mov edx, edi
je 0x48b64c
test eax, eax
mov eax, dword [ebp + 0x18]
je 0x48bb54
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov esi, dword [ebp - 8]
lea ecx, [ecx]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x40b754.157
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48a8a8
cmp dword [ebp - 0x28], 0xc
jne 0x40bf07
cmp dword [ebx + 0x18], 0
je 0x48b805
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040a22c
add esp, 0xc
test eax, eax
jne case.0x40b754.157
mov ecx, dword [ebp - 0x10]
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
je 0x48b83e
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x48b85f
cmp dword [ebx + 0x8c], 0
jne 0x48bb12
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
jmp 0x40bec0
cmp dword [ebx + 0x8c], edx
je case.0x40b754.157
jmp 0x48a60f
cmp dword [ebx + 0x8c], 0
jmp 0x40bf6a
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x40bf91
movzx eax, byte [eax + 0x40c2f8]
jmp dword [eax*4 + 0x40c2f0]
mov ecx, dword [ebp - 0xc]
add ecx, 0xffffff9e
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jb 0x40c09d
mov dword [ebp - 0x30], 1
movsx eax, byte [ecx + 0x49e454]
movsx ecx, byte [ecx + 0x49e4f8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x40b8cb
mov dword [ebp - 0x18], SysAllocStringLen
jmp 0x40b8cb
mov eax, dword [ebp - 8]
jmp 0x40ba6a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je case.0x40b754.119
mov dword [ebp - 0x34], edi
jmp 0x40b730
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
jmp 0x4845a6
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49e538]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040b6d0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x48a33d
test edx, edx
jne 0x48bf81
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x77
jne case.0x40b754.157
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
jmp case.0x40b754.129
test cl, 1
jne 0x40c0e4
xor edx, edx
jmp 0x40bfb4
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x2c]
inc edx
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jge 0x40bae8
jmp 0x40ba94
mov dword [ebp - 0x20], edx
jmp 0x48463a
add edi, 2
jmp 0x4845ff
mov eax, dword [ebp - 8]
jmp 0x4849c6
mov esi, dword [ebp - 0x1c]
jmp 0x484fdb
mov edx, 1
jmp 0x40bfb4
mov esi, 2
jmp 0x40bd04
xor edx, edx
jmp 0x40be11
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x483c82
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.0040b6d0
add esp, 0x14
jmp 0x40b897
sub ecx, eax
test ecx, ecx
jle 0x483c8a
neg ecx
mov eax, ecx
jmp 0x40b897
mov eax, dword [ebp - 8]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x64]
mov dword [ebp + 0x14], eax
mov dword [ebx + 0x9c], 0
jmp 0x40b730
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x48a369
movzx eax, word [edi]
movzx ecx, byte [eax + 0x49e538]
movzx eax, word [edi + 2]
add ecx, eax
lea edi, [edi + ecx*2]
mov dword [ebp - 0x34], edi
jmp 0x40b730
mov eax, dword [ebp - 8]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
lea edx, [edi + 4]
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
cmp eax, 1
je 0x483d60
cmp eax, 0xfffffc20
jne 0x483d3d
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x40b897
cmp word [edi], 0x77
je 0x483d45
cmp word [ecx], 0x77
jne 0x40b897
jmp 0x483d45
test eax, eax
jne 0x40b897
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x77
je 0x483cf1
mov ecx, dword [ebp + 8]
jmp 0x483d69
mov ecx, dword [ebx + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [edi]
mov edx, 0x82
cmp ax, dx
je 0x483d7f
cmp eax, 0x77
jne case.0x40b754.157
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x483d7f
cmp word [edi], 0x78
mov edx, dword [ebx + 0x90]
mov eax, dword [ebx + 0x84]
mov dword [ebp + 0xc], edx
mov dword [ebp - 8], eax
je 0x486790
cmp eax, dword [ebp - 0x14]
jne 0x48a15b
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40b730
movzx ecx, word [edi + 2]
add edi, 4
mov dword [ebp - 0x28], ecx
cmp word [edi], 0x76
jne 0x483ea0
cmp dword [0x4c330c], edx
je 0x483e97
mov dword [ebp - 0xa4], 2
movzx eax, word [edi + 2]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x94], eax
mov eax, dword [ebp + 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0x8c], eax
movzx eax, word [edi + 4]
mov dword [ebp - 0x7c], eax
movzx eax, word [edi + 6]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x88], eax
movzx eax, word [ebx + 0x94]
mov dword [ebp - 0x84], eax
test eax, eax
jne 0x483e64
mov dword [ebp - 0x84], 0xffffffff
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0xa4]
push eax
call dword [0x4c330c]
add esp, 4
test eax, eax
jg case.0x40b754.157
js 0x40b897
mov ecx, dword [ebp - 0x28]
add edi, 8
sub ecx, 4
mov dword [ebp - 0x28], ecx
movzx eax, word [edi]
mov dword [ebp - 0x14], eax
xor edx, edx
add eax, 0xffffff73
mov dword [ebp - 0x2c], edx
cmp eax, 4
ja case.default.0x483eb9
jmp dword [eax*4 + 0x48c27c]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x484060
movzx eax, word [edi + 2]
cmp eax, 0xffff
je 0x483f5f
cmp eax, dword [ecx + 4]
je 0x483f5f
xor edx, edx
jmp 0x484060
mov eax, dword [ebx + 0xa8]
test eax, eax
je case.0x483eb9.145
mov eax, dword [ebx + 0x24]
movzx ecx, word [edi + 2]
imul ecx, eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [edi + 4]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jle 0x484060
mov edx, dword [ebx + 0xa8]
mov edx, dword [edx + 4]
mov dword [ebp - 0xc], edx
xor edx, edx
movzx eax, word [eax]
dec ecx
cmp eax, dword [ebp - 0xc]
je 0x483f5f
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x20]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x483f27
jmp 0x484060
movzx edx, word [edi + 2]
add edx, edx
mov dword [ebp - 0x40], edx
cmp edx, dword [ebp + 0xc]
jge 0x483f73
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jl 0x483f73
mov eax, dword [ebp - 0x14]
mov edx, 1
movzx ecx, byte [eax + 0x49e538]
jmp case.0x483eb9.145
xor edx, edx
jmp case.0x483eb9.145
mov eax, dword [ebx + 0x24]
movzx ecx, word [edi + 2]
imul ecx, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x30]
lea eax, [eax + ecx*2]
movzx ecx, word [edi + 4]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jle 0x484060
xor edx, edx
movzx ebx, word [eax]
add ebx, ebx
dec ecx
cmp ebx, dword [ebp + 0xc]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp + 0x10]
jge 0x483fc0
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x40]
cmp dword [eax + ebx*4], edx
mov ebx, dword [ebp + 0x10]
jge 0x483f5f
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0xc]
lea eax, [eax + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x483f9e
jmp 0x484060
mov ecx, dword [ebp - 8]
mov dword [ebx + 0x9c], 1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push 0
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
cmp eax, 1
jne 0x48404e
mov eax, dword [ebx + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x48400d
mov dword [ebp + 0xc], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
mov edx, 1
jne 0x48402e
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x484020
mov eax, dword [ebp - 0x14]
mov ecx, 2
movzx eax, byte [eax + 0x49e538]
sub ecx, eax
mov eax, dword [ebp - 0x14]
lea edi, [edi + ecx*2]
movzx ecx, byte [eax + 0x49e538]
jmp case.0x483eb9.145
test eax, eax
je 0x48405d
cmp eax, 0xfffffc20
jne 0x40b897
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
lea edi, [edi + ecx*2]
mov dword [ebp - 0x34], edi
test edx, edx
jne 0x484078
cmp word [edi - 4], 0x77
jne 0x40b730
cmp esi, 0x8c
jne 0x40b7a1
mov ecx, dword [ebp - 8]
mov dword [ebx + 0x9c], 2
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
jmp 0x40b897
movzx edx, word [edi + 2]
mov eax, dword [ebx + 0x94]
and eax, 0xffff0000
or eax, edx
lea esi, [edx + edx]
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x40], esi
cmp esi, dword [ebx + 0x14]
jl 0x4840e7
or eax, 0x10000
add edi, 4
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x34], edi
jmp 0x40b730
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + esi*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0xc]
sar ecx, 1
mov dword [eax + esi*4 + 4], ecx
cmp dword [ebp + 0xc], esi
jg 0x48410f
lea eax, [esi + 2]
mov dword [ebp + 0xc], eax
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40b730
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x484139
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x48413b
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.0040b6d0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x4841b4
cmp ecx, 0xfffffc19
je 0x4841b4
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x48419c
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x483c8a
cmp word [edi], 0x77
je 0x4841a4
cmp word [eax], 0x77
jne 0x483c8a
jmp 0x4841a4
test ecx, ecx
jne 0x483c8a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48413b
jmp 0x4841bd
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
cmp word [edi], 0x78
je case.0x40b754.157
test esi, esi
jne 0x40b892
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x4841cf
mov eax, dword [ebx + 0x90]
add edi, 4
mov dword [ebp - 0x34], edi
mov dword [ebp + 0xc], eax
jmp 0x40b730
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x484210
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x484212
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.0040b6d0
mov ecx, eax
mov eax, dword [ebp - 0xc]
add esp, 0x14
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jg 0x48426e
jne 0x484283
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x48429e
cmp word [edi], 0x77
je 0x48425e
cmp word [eax], 0x77
jne 0x48429e
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x484212
jmp 0x4842ac
mov eax, ecx
sub eax, 0
je 0x48425e
dec eax
je case.0x40b754.157
mov eax, ecx
jmp 0x40b897
cmp ecx, 0xfffffc19
je case.0x40b754.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x483c8a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48429e
test esi, esi
jne 0x40b892
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40b730
cmp dword [ebp - 0x1c], edx
je 0x484303
movzx ecx, word [edi + 2]
test ecx, ecx
jle 0x48431d
mov eax, dword [ebp - 8]
sub eax, 2
dec ecx
mov dword [ebp - 8], eax
cmp eax, dword [ebx + 0x78]
jb case.0x40b754.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x4842fd
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x4842cc
jmp 0x484320
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.0x40b754.157
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x88]
jae 0x48432e
mov dword [ebx + 0x88], eax
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40b730
cmp dword [0x4c330c], edx
je 0x484408
mov dword [ebp - 0xd8], 2
movzx eax, word [edi + 2]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebx + 0x78]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp + 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ebp - 0xc0], eax
movzx eax, word [edi + 4]
mov dword [ebp - 0xb0], eax
movzx eax, word [edi + 6]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xbc], eax
movzx eax, word [ebx + 0x94]
mov dword [ebp - 0xb8], eax
test eax, eax
jne 0x4843d2
mov dword [ebp - 0xb8], 0xffffffff
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xd8]
push eax
call dword [0x4c330c]
add esp, 4
test eax, eax
jg case.0x40b754.157
js 0x40b897
add edi, 8
mov dword [ebp - 0x34], edi
jmp 0x40b730
movzx eax, word [edi + 2]
mov ecx, dword [ebx + 0x74]
lea esi, [ecx + eax*2]
cmp esi, ecx
jne 0x484425
xor edx, edx
jmp 0x484429
movzx edx, word [esi + 4]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x484450
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x48444a
cmp eax, dword [ecx + 0x14]
jne 0x48444a
mov eax, 0xffffffe6
jmp 0x40b897
mov ecx, dword [ecx]
test ecx, ecx
jne 0x484436
mov dword [ebp - 0x58], edx
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov ecx, dword [ebx + 0x10]
add edi, 4
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x50], ecx
cmp ecx, 0x1e
jg 0x484490
lea eax, [ebp - 0x154]
mov dword [ebp - 0x54], eax
jmp 0x4844af
lea eax, [ecx*4]
push eax
call dword [0x4bbddc]
add esp, 4
mov dword [ebp - 0x54], eax
test eax, eax
je 0x48a3fd
mov ecx, dword [ebp - 0x50]
shl ecx, 2
push ecx
push dword [ebx + 0xc]
push eax
call fcn.0041f050
mov eax, 0x88
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x4844db
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 + 0x49e538]
push dword [ebp + 0xc]
lea edx, [esi + eax*2]
push dword [ebp + 8]
call fcn.0040b6d0
mov ecx, dword [ebp - 0x50]
add esp, 0x14
shl ecx, 2
push ecx
push dword [ebp - 0x54]
mov dword [ebp - 0xc], eax
push dword [ebx + 0xc]
call fcn.0041f050
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 0x94], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0xc]
add esp, 0xc
cmp eax, 1
je 0x484578
cmp eax, 0xfffffc19
je 0x484578
cmp eax, 0xfffffc1c
jl 0x48454d
cmp eax, 0xfffffc20
jle case.0x40b754.157
test eax, eax
jne 0x48a3da
lea eax, [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x77
lea esi, [esi + eax*2]
jne 0x48a3b1
mov eax, dword [ebp - 0x2c]
jmp 0x4844cd
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je 0x48458f
push eax
call dword [0x4bb80c]
add esp, 4
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x40b730
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x4845a6
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40b730
add edi, 2
mov dword [ebp - 0x34], edi
mov edx, edi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x77
lea edx, [edx + eax*2]
je 0x4845c7
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.0040b6d0
add esp, 0x14
test eax, eax
je 0x40b730
jmp 0x40b897
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x4845ff
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40b730
movzx esi, word [edi + 2]
add edi, 2
mov dword [ebp - 0x20], 1
cmp esi, 0x86
je 0x48463a
cmp esi, 0x8b
jne 0x4847be
movzx edx, word [edi + 4]
mov dword [ebp - 0x14], edx
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
cmp eax, dword [ebx + 0x14]
jge case.0x40b754.132
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, edi
sub eax, dword [ebx + 0x74]
sar eax, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0x14]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 8]
sub edx, dword [ebx + 0x78]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0xc]
sar edx, 1
mov dword [eax + ecx*4], edx
cmp esi, 0x88
jb 0x4846b0
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 + 0x49e538]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040b6d0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x48471b
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x74]
lea edi, [eax + ecx*2]
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x48468a
cmp ecx, 0xfffffc20
jne 0x484748
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x483c8a
cmp word [edi], 0x77
je 0x484750
cmp word [eax], 0x77
jne 0x483c8a
jmp 0x484750
test ecx, ecx
jne 0x483c8a
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48468a
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x48479a
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x18]
mov dword [eax + edx*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x38]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x34]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x20], 0
jne 0x486790
test eax, eax
je case.0x40b754.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40b730
mov dword [ebp - 0x20], 0
mov eax, edi
sub eax, dword [ebx + 0x74]
mov dword [ebp - 0x2c], 0
sar eax, 1
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x14], eax
cmp esi, 0x88
jb 0x4847ea
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 + 0x49e538]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040b6d0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x484848
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp - 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x74]
mov dword [ebp - 0x2c], 1
lea edi, [eax + ecx*2]
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x4847d8
cmp ecx, 0xfffffc20
jne 0x484875
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x483c8a
cmp word [edi], 0x77
je 0x48487d
cmp word [eax], 0x77
jne 0x483c8a
jmp 0x48487d
test ecx, ecx
jne 0x483c8a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
jne 0x484899
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x94], eax
jmp 0x4847d8
cmp dword [ebp - 0x2c], 0
jne 0x486790
cmp dword [ebp - 0x20], 0
je case.0x40b754.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40b730
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov dword [ebp + 0x14], edx
jmp 0x40b7e5
cmp dword [eax + 4], edx
jne 0x40bbbd
mov eax, dword [ebp - 8]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x80], eax
mov eax, 1
jmp 0x40b897
or eax, 0x10000
mov dword [ebx + 0x94], eax
jmp 0x40b841
mov eax, dword [ebx + 0xc]
lea ecx, [eax + ecx*4]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0x40]
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x2c]
cmp eax, ecx
jae 0x40bbeb
mov edi, dword [ebp - 0x2c]
sub ecx, eax
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
jmp 0x40bbeb
mov eax, dword [ebp - 8]
cmp eax, ecx
je 0x40b84e
movzx ecx, word [edi]
cmp ecx, 0x7b
je 0x48a471
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push edx
push dword [ebp + 8]
cmp ecx, 0x7a
jne 0x48a1a5
mov esi, dword [ebp - 8]
lea edx, [edi + 4]
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov edi, dword [ebp - 0x20]
mov ecx, 0x81
movzx eax, word [edi]
cmp ax, cx
je 0x48a407
mov ecx, 0x88
cmp ax, cx
jb 0x40b79e
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.0040b6d0
add esp, 0x14
jmp 0x40b897
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x4849c6
cmp eax, dword [ebx + 0x78]
je case.0x40b754.157
cmp eax, dword [ebx + 0x78]
jne case.0x40b754.157
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x40b730
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x4849eb
cmp eax, dword [ebx + 0x78]
je case.0x40b754.157
mov ecx, dword [ebx + 0x78]
cmp eax, ecx
je 0x40ba46
cmp eax, dword [ebx + 0x7c]
je case.0x40b754.157
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x484a2e
cmp eax, ecx
jbe case.0x40b754.157
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0047176a
add esp, 0xc
test eax, eax
je case.0x40b754.157
jmp 0x40ba46
mov esi, dword [ebx + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp dword [ebp - 8], eax
jb case.0x40b754.157
mov ecx, dword [ebp - 8]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne case.0x40b754.157
cmp esi, 1
je 0x40ba46
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
jne case.0x40b754.157
jmp 0x40ba46
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp dword [ebp - 8], eax
jne case.0x40b754.157
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x40b730
mov eax, dword [ebp - 8]
add edi, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x34], edi
jmp 0x40b730
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x484b64
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x484b2d
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0040a22c
add esp, 0xc
test eax, eax
jne 0x40ba46
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x40b754.157
add eax, 2
cmp eax, dword [ebx + 0x7c]
jb case.0x40b754.157
cmp dword [ebx + 0x18], 0
jne case.0x40b754.157
cmp dword [ebx + 0x1c], 2
jne case.0x40b754.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne case.0x40b754.157
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x40b754.157
mov eax, 0xfffffff4
jmp 0x40b897
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x484ad2
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x484acf
cmp edx, 1
je 0x40ba46
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x484acf
jmp 0x40ba46
cmp dword [ebx + 0x4c], edx
jne case.0x40b754.157
cmp dword [ebx + 0x8c], edx
jmp 0x484b7c
cmp dword [ebx + 0x8c], 0
je 0x40ba46
cmp eax, dword [ebx + 0x88]
jbe 0x40ba46
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x40b730
cmp dword [ebx + 0x4c], edx
jne case.0x40b754.157
cmp dword [ebx + 0x5c], edx
je case.0x40b754.23
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jb case.0x40b754.157
cmp dword [ebx + 0x8c], edx
jmp 0x484b7c
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x484b75
mov edx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
test edx, edx
je 0x484bf7
push dword [ebp - 0x1c]
push esi
push ecx
mov ecx, eax
call fcn.0040a22c
add esp, 0xc
test eax, eax
jne 0x484c2c
jmp 0x484acf
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x484ad2
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x484acf
cmp edx, 1
je 0x484c2c
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x484acf
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 0x484ad2
jmp 0x484b75
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x1c], edx
je 0x484df7
cmp eax, dword [ebx + 0x78]
je 0x484d2f
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x484c76
sub edx, 2
cmp edx, dword [ebx + 0x88]
jae 0x484c84
mov dword [ebx + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x484caf
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 0x484d11
cmp ecx, 0x5f
jne 0x484cc2
mov eax, dword [ebp - 8]
lea esi, [ecx - 0x5e]
jmp 0x484d31
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x484ce4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x484d07
cmp eax, 3
jne 0x484d2c
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x484d31
cmp ecx, 0x100
jae 0x484d2c
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x484d2c
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x484d31
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x484d99
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x484d64
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 0x484de0
cmp ecx, 0x5f
je 0x484f20
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
js 0x484ecc
jmp 0x484ed1
cmp dword [ebx + 0x8c], 0
je 0x484dbe
cmp eax, dword [ebx + 0x88]
jbe 0x484dbe
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
xor ecx, ecx
mov ax, word [edi]
add edi, 2
mov dword [ebp - 0x34], edi
cmp ax, 5
jne 0x484f2a
cmp ecx, esi
jne 0x40b730
jmp case.0x40b754.157
cmp ecx, 0x100
jae 0x484dbe
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne 0x484f20
jmp 0x484dbe
cmp eax, dword [ebx + 0x78]
je 0x484e96
cmp eax, dword [ebx + 0x88]
ja 0x484e14
add eax, 0xfffffffe
mov dword [ebx + 0x88], eax
mov eax, dword [ebp - 8]
movzx ecx, word [eax - 2]
cmp dword [ebx + 0x58], edx
je 0x484e76
cmp ecx, 0x5f
jne 0x484e27
lea esi, [ecx - 0x5e]
jmp 0x484e98
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x484e49
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x484e6c
cmp eax, 3
jne 0x484e93
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x484e98
mov edx, 0xff
cmp cx, dx
ja 0x484e96
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x484e93
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x484e98
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x484d99
cmp dword [ebx + 0x58], 0
je 0x484f00
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x484f20
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x484ed1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x484f20
cmp eax, 3
jne 0x484dbe
lea ecx, [eax - 2]
jmp 0x484dc0
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x484dbe
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x484dbe
mov ecx, 1
jmp 0x484dc0
cmp ecx, esi
je 0x40b730
jmp case.0x40b754.157
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x7c]
test edx, edx
je 0x484f66
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x1c]
cmp eax, ecx
jae 0x484f9e
push esi
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.0040a22c
add esp, 0xc
test eax, eax
jne case.0x40b754.157
jmp 0x484f9b
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x484f98
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x484f98
cmp edx, 1
je case.0x40b754.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
je case.0x40b754.157
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je 0x484fde
add eax, 2
cmp eax, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
jb 0x484fde
cmp dword [ebx + 0x18], 0
jne 0x484fde
cmp dword [ebx + 0x1c], 2
jne 0x484fde
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x484fdb
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + 0x7c]
cmp eax, ecx
jae 0x40bf75
add eax, 2
mov dword [ebp - 8], eax
test esi, esi
je 0x40ba46
cmp eax, ecx
jae 0x40ba46
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x40ba46
add dword [ebp - 8], 2
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
add eax, 2
mov dword [ebp - 8], eax
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x485080
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485080
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 0x40ba46
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x40b754.157
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4850e6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4850e6
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.0x40b754.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x40b754.157
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x48514c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48514c
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 0x40ba46
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x40b754.157
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4851b2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4851b2
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.0x40b754.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x40b754.157
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x485218
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485218
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 0x40ba46
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x40b754.157
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x48527e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48527e
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.0x40b754.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x40b754.157
jmp 0x40ba46
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x40bf75
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], eax
je 0x4852ea
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
jne 0x4852ea
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
cmp ecx, 0xd
ja 0x485356
je 0x48530b
cmp ecx, 0xa
je 0x40ba46
jbe case.0x40b754.157
cmp ecx, 0xc
ja case.0x40b754.157
jmp 0x48536d
cmp eax, edx
jb 0x485341
cmp dword [ebx + 0x8c], 0
je 0x40ba46
cmp eax, dword [ebx + 0x88]
jbe 0x40ba46
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
jmp 0x40ba46
cmp word [eax], 0xa
jne 0x40ba46
add eax, 2
mov dword [ebp - 8], eax
jmp 0x40ba46
cmp ecx, 0x85
je 0x48536d
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40b754.157
cmp dword [ebx + 0x6c], 0
jne case.0x40b754.157
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4853c4
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4853c4
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 0x485408
je case.0x40b754.157
cmp ecx, 0xa0
ja 0x4853f7
je case.0x40b754.157
cmp ecx, 9
je case.0x40b754.157
cmp ecx, 0x20
je case.0x40b754.157
jmp 0x40ba46
cmp ecx, 0x1680
je case.0x40b754.157
jmp 0x40ba46
cmp ecx, 0x205f
ja 0x48543f
je case.0x40b754.157
cmp ecx, 0x2000
jb 0x40ba46
cmp ecx, 0x200a
jbe case.0x40b754.157
cmp ecx, 0x202f
je case.0x40b754.157
jmp 0x40ba46
cmp ecx, 0x3000
je case.0x40b754.157
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x485498
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485498
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 0x4854dc
je 0x40ba46
cmp ecx, 0xa0
ja 0x4854cb
je 0x40ba46
cmp ecx, 9
je 0x40ba46
cmp ecx, 0x20
jne case.0x40b754.157
jmp 0x40ba46
cmp ecx, 0x1680
jne case.0x40b754.157
jmp 0x40ba46
cmp ecx, 0x205f
ja 0x485513
je 0x40ba46
cmp ecx, 0x2000
jb case.0x40b754.157
cmp ecx, 0x200a
jbe 0x40ba46
cmp ecx, 0x202f
jne case.0x40b754.157
jmp 0x40ba46
cmp ecx, 0x3000
jne case.0x40b754.157
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x48556c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48556c
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 0x485591
je case.0x40b754.157
cmp ecx, 0xa
jb 0x40ba46
cmp ecx, 0xd
jbe case.0x40b754.157
jmp 0x40ba46
cmp ecx, 0x2028
jb 0x40ba46
cmp ecx, 0x2029
jbe case.0x40b754.157
jmp 0x40ba46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4855f6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4855f6
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 0x485615
je 0x40ba46
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x40b754.157
jmp 0x40ba46
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x40b754.157
jmp 0x40ba46
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
jmp 0x40bc56
cmp eax, 0xa
ja case.default.0x48565a
jmp dword [eax*4 + 0x48c290]
mov al, byte [ecx*8 + 0x4ab0e1]
cmp al, 9
je 0x485686
cmp al, 5
je 0x485686
cmp al, 8
je 0x485686
xor ecx, ecx
jmp 0x4856a2
cmp esi, 0xf
je case.0x40b754.157
jmp 0x40bccb
mov ecx, 1
jmp 0x4856a2
movzx eax, byte [ecx*8 + 0x4ab0e1]
xor ecx, ecx
cmp dword [eax*4 + 0x4b6190], 6
sete cl
xor eax, eax
cmp esi, 0xf
sete al
cmp ecx, eax
je case.0x40b754.157
jmp 0x40bccb
movzx ecx, byte [ecx*8 + 0x4ab0e1]
movzx eax, word [edi + 4]
xor edx, edx
cmp eax, dword [ecx*4 + 0x4b6190]
setne dl
xor eax, eax
cmp esi, 0x10
sete al
cmp edx, eax
je case.0x40b754.157
jmp 0x40bccb
movzx eax, byte [ecx*8 + 0x4ab0e1]
jmp 0x4856f6
movzx eax, byte [ecx*8 + 0x4ab0e0]
xor ecx, ecx
cmp word [edi + 4], ax
setne cl
xor eax, eax
cmp esi, 0x10
sete al
cmp ecx, eax
je case.0x40b754.157
jmp 0x40bccb
movzx eax, byte [ecx*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x485686
cmp eax, 3
je 0x485686
xor ecx, ecx
jmp 0x4856a2
cmp edx, 0x180e
ja 0x485795
je case.0x48565a.0
cmp edx, 0x85
ja 0x485778
je case.0x48565a.0
cmp edx, 9
jb case.0x4857b9.8203
cmp edx, 0xd
jbe case.0x48565a.0
cmp edx, 0x20
je case.0x48565a.0
jmp case.0x4857b9.8203
cmp edx, 0xa0
je case.0x48565a.0
cmp edx, 0x1680
je case.0x48565a.0
jmp case.0x4857b9.8203
cmp edx, 0x202f
ja 0x4857c0
je case.0x48565a.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4857b9.8203
movzx eax, byte [edx + 0x48c2c4]
jmp dword [eax*4 + 0x48c2bc]
cmp edx, 0x205f
je case.0x48565a.0
cmp edx, 0x3000
je case.0x48565a.0
jmp case.0x4857b9.8203
movzx eax, byte [ecx*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x485686
cmp eax, 3
je 0x485686
cmp edx, 0x5f
je 0x485686
xor ecx, ecx
jmp 0x4856a2
cmp edx, 0x24
je 0x485686
cmp edx, 0x40
je 0x485686
cmp edx, 0x60
je 0x485686
cmp edx, 0xa0
jb 0x48583d
cmp edx, 0xd7ff
jbe 0x485686
cmp edx, 0xe000
jae 0x485686
xor ecx, ecx
jmp 0x4856a2
cmp esi, 0x10
je case.0x40b754.157
jmp 0x40bccb
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 0x40b97e
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov esi, 2
jmp 0x40b9df
cmp eax, esi
jb 0x40ba46
jmp 0x484b82
movzx ecx, word [edi + 2]
movzx edx, word [edi + 4]
xor eax, eax
cmp esi, 0x74
sete al
imul ecx, dword [ebx + 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x30]
add edi, 6
lea ecx, [eax + ecx*2]
mov dword [ebp - 0x34], edi
test edx, edx
jle 0x485907
mov eax, dword [ebp + 0xc]
movzx esi, word [ecx]
add esi, esi
dec edx
mov dword [ebp - 0x40], esi
cmp esi, eax
mov esi, dword [ebx + 0x24]
jge 0x485900
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x40]
cmp dword [eax + ebx*4], 0
mov ebx, dword [ebp + 0x10]
jge 0x485908
mov eax, dword [ebp + 0xc]
lea ecx, [ecx + esi*2]
test edx, edx
jg 0x4858de
dec edx
test edx, edx
jns 0x48593e
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebx + 0x54]
neg esi
sbb esi, esi
neg esi
dec esi
movzx edx, word [edi]
mov eax, edx
mov dword [ebp - 0xc], eax
add eax, 0xffffff9e
mov dword [ebp - 0x14], esi
cmp eax, 7
ja case.default.0x485937
movzx eax, byte [eax + 0x48c2f8]
jmp dword [eax*4 + 0x48c2f0]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebx + 0xc]
mov esi, dword [eax + ecx*4 + 4]
sub esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x28]
jmp 0x485919
xor ecx, ecx
cmp esi, 0x72
movzx esi, word [edi + 2]
sete cl
add esi, esi
add edi, 4
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x28], ecx
cmp esi, dword [ebp + 0xc]
jge 0x48590f
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + esi*4]
test edx, edx
js 0x48590f
mov esi, dword [eax + esi*4 + 4]
sub esi, edx
jmp 0x485919
mov eax, dword [ebp - 0xc]
add eax, 0xffffff9e
movzx ecx, al
movsx edx, byte [eax + 0x49e4f8]
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x49e454]
add edi, 2
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x4859e3
mov edx, SysAllocStringLen
mov dword [ebp - 0x18], edx
jmp 0x4859e3
movzx ecx, word [edi + 2]
xor eax, eax
cmp edx, 0x69
movzx edx, word [edi + 4]
sete al
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0xc], eax
test edx, edx
jne 0x4859dd
mov edx, SysAllocStringLen
mov dword [ebp - 0x18], edx
add edi, 6
mov dword [ebp - 0x34], edi
test esi, esi
je 0x40b730
jns 0x4859f5
test ecx, ecx
je 0x40b730
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, 1
jl 0x485a3a
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push esi
mov edx, eax
call fcn.004714cf
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x48a5ec
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x2c]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x20]
inc edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x2c], edx
cmp edx, ecx
jle 0x485a04
mov edx, dword [ebp - 0x18]
cmp ecx, edx
je 0x40b730
cmp dword [ebp - 0xc], 0
je 0x48a53d
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], eax
jge case.0x40b754.157
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push dword [ebp - 0x14]
mov edx, esi
call fcn.004714cf
add esp, 0xc
test eax, eax
js 0x48a517
inc dword [ebp - 0x20]
lea esi, [esi + eax*2]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x485a72
jmp 0x40b897
mov edx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0x40]
push ebx
push esi
call fcn.004714cf
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x48a5ec
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x40b730
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [edi + 4]
sete al
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x30], eax
movzx eax, word [edi + 2]
mov dword [ebp - 0x28], eax
test ecx, ecx
jne 0x485b19
mov dword [ebp - 0x18], SysAllocStringLen
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x40b8cb
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
jmp 0x40b919
cmp esi, 0x6e
je case.0x40b754.157
jmp 0x40ba51
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x40ba6a
mov ecx, dword [ebp - 0x28]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf75
movzx ebx, word [eax]
add eax, 2
mov dword [ebp - 0x20], ebx
cmp ebx, 0xff
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], eax
jbe 0x485b94
cmp esi, 0x6e
je case.0x40b754.157
jmp 0x485bbd
mov ecx, dword [ebp - 0x20]
shr dword [ebp - 0x20], 3
mov ebx, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0x40b754.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x485b69
jmp 0x40ba67
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax + 2]
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], 2
jmp 0x40babc
cmp esi, 0x6e
je 0x40bae8
jmp 0x40c0a9
cmp dword [ebx + 0x8c], 0
je 0x40bae8
cmp eax, dword [ebx + 0x88]
jbe 0x40bae8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
jmp 0x40bae8
cmp edx, dword [ebp - 0x18]
jge 0x485ca7
cmp eax, dword [ebx + 0x7c]
jae 0x485c82
movzx ecx, word [eax]
mov dword [ebp - 0x14], ecx
cmp ecx, 0xff
jbe 0x485c55
cmp esi, 0x6e
jne 0x485c74
jmp 0x485ca7
shr dword [ebp - 0x14], 3
mov ebx, dword [ebp - 0x14]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
je 0x485ca7
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x485c3b
jmp 0x485ca7
cmp dword [ebx + 0x8c], 0
je 0x485ca7
cmp eax, dword [ebx + 0x88]
jbe 0x485ca7
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
cmp dword [ebp - 0x30], 0
jne 0x40b730
cmp eax, dword [ebp - 0x24]
jb case.0x40b754.157
mov esi, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
sub esi, 2
cmp esi, dword [ebp - 0x24]
jae 0x485cbd
jmp 0x40b897
lea eax, [edi + 4]
mov dword [ebp - 0x14], eax
movzx eax, word [edi + 2]
movzx ecx, word [edi + eax*2]
lea edi, [edi + eax*2]
mov esi, ecx
mov dword [ebp - 0x34], edi
lea eax, [esi - 0x62]
cmp eax, 0xb
ja case.default.0x485d16
movzx eax, byte [eax + 0x48c308]
jmp dword [eax*4 + 0x48c300]
lea ecx, [esi - 0x62]
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jae 0x485d39
mov eax, dword [ebp - 0x30]
movzx edx, cl
and edx, 1
mov dword [ebp - 0x38], edx
jmp 0x485d41
mov eax, 1
mov dword [ebp - 0x30], eax
movsx esi, byte [esi + 0x49e496]
movsx ecx, byte [ecx + 0x49e454]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
test esi, esi
jne 0x485da8
mov esi, SysAllocStringLen
jmp 0x485da5
movzx esi, word [edi + 4]
xor edx, edx
cmp ecx, 0x69
sete dl
xor eax, eax
cmp ecx, 0x6d
movzx ecx, word [edi + 2]
sete al
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], eax
test esi, esi
jne 0x485d90
mov esi, SysAllocStringLen
mov dword [ebp - 0x20], esi
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x485da8
mov eax, dword [ebp - 0x30]
mov esi, 1
mov ecx, esi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], 1
cmp ecx, 1
jl 0x485e2f
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf75
movzx edx, word [eax]
mov ecx, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x2c], edx
mov dword [ebp - 8], eax
test ecx, ecx
je 0x485e02
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485e02
mov eax, dword [ebp - 8]
and edx, 0x3ff
movzx eax, word [eax]
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
add dword [ebp - 8], 2
jmp 0x485e05
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00471823
add esp, 4
test eax, eax
je case.0x40b754.157
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, ecx
jle 0x485db4
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
cmp ecx, esi
je 0x40b730
mov esi, dword [ebp - 8]
test edx, edx
jne 0x48a7f5
mov dword [ebp - 0xc], esi
cmp ecx, dword [ebp - 0x20]
jge 0x485ef6
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], 1
cmp eax, dword [ebx + 0x7c]
jae 0x485ecb
movzx edx, word [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov esi, eax
test ecx, ecx
je 0x485e9c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485e9c
movzx eax, word [esi + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
mov dword [ebp - 0x18], 2
jmp 0x485e9f
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00471823
add esp, 4
test eax, eax
je 0x485ef3
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x28]
inc ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x20]
jl 0x485e4e
jmp 0x485ef0
cmp dword [ebx + 0x8c], 0
je 0x485ef0
cmp eax, dword [ebx + 0x88]
jbe 0x485ef0
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x40b730
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0xc]
je case.0x40b754.157
cmp dword [ebp - 0x1c], 0
je 0x485f4d
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x485f4d
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.0040b6d0
add esp, 0x14
test eax, eax
je 0x485f21
jmp 0x40b897
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x48a8e1
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [edi + 2], ax
jne case.0x40b754.157
add edi, 4
jmp 0x40ba49
movzx eax, word [edi + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
add esi, 0x10000
mov edx, 2
jmp 0x40bb66
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
jne 0x485ffe
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
lea edi, [edi + edx*2]
mov dword [ebp - 0x34], edi
cmp esi, ecx
je 0x40b730
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ac478]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x48602f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e5e0]
mov eax, dword [eax*8 + 0x4ab0e4]
add eax, esi
cmp dword [ebp - 0x2c], eax
je 0x40b730
jmp case.0x40b754.157
movzx ecx, word [edi + 2]
mov edx, 0xff
cmp cx, dx
ja 0x48606a
mov eax, dword [ebx + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x48606c
mov edx, ecx
movzx ecx, word [eax]
mov esi, 0xff
cmp cx, si
ja 0x486083
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x40b754.157
add eax, 2
mov dword [ebp - 8], eax
add edi, 4
jmp 0x40ba49
movzx eax, word [edi + 2]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], eax
add edi, 4
jmp 0x48615b
mov dword [ebp - 0x30], 1
movzx eax, word [edi + 2]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp ecx, 0x28
je 0x4860d3
cmp ecx, 0x35
je 0x4860d3
xor edx, edx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x48615b
mov edx, 1
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x48615b
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], SysAllocStringLen
add edi, 2
jmp 0x48615e
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], SysAllocStringLen
add edi, 2
jmp 0x48615e
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], ecx
add edi, 2
jmp 0x48615e
cmp esi, 0x2e
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
mov ecx, esi
sub ecx, eax
movzx edx, cl
movsx eax, byte [ecx + 0x49e454]
mov dword [ebp - 0x28], eax
movsx eax, byte [ecx + 0x49e4f8]
and edx, 1
add edi, 2
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x48615b
mov dword [ebp - 0x18], SysAllocStringLen
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4863e4
movzx eax, word [edi]
mov dword [ebp - 0x24], eax
and eax, 0xfc00
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x2c], edi
cmp eax, 0xd800
jne 0x4861ae
mov ebx, dword [ebp - 0x24]
movzx eax, word [edi + 2]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
add eax, 0x10000
mov dword [ebp - 0x24], eax
mov eax, 2
mov dword [ebp - 0x10], eax
jmp 0x4861b3
mov eax, 1
lea ebx, [eax + eax]
add edi, ebx
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
cmp eax, 1
jle 0x4863f5
cmp esi, 0x2e
jb 0x486225
mov esi, dword [ebp - 0x24]
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ac478]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x4861f5
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e5e0]
mov ecx, dword [eax*8 + 0x4ab0e4]
add ecx, esi
cmp ecx, esi
je 0x48621f
lea edx, [ebp - 0x70]
call fcn.00471c27
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
jmp 0x48622c
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24], 0
mov esi, dword [ebp - 0x28]
mov dword [ebp - 0xc], 1
cmp esi, 1
jge 0x486243
mov eax, dword [ebp - 8]
jmp 0x4862c6
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x486274
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.0041f733
add esp, 0xc
test eax, eax
jne 0x486271
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
jmp 0x4862b5
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x48a8fb
lea eax, [edx + edx]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x20]
cmp ecx, eax
ja 0x48a8fb
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x70]
push eax
push ecx
call fcn.0041f733
add esp, 0xc
test eax, eax
jne 0x48a8f8
mov eax, dword [ebp - 0x20]
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
inc ecx
mov dword [ebp - 0xc], ecx
cmp ecx, esi
jle 0x486243
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
cmp esi, dword [ebp - 0x18]
je 0x40b730
test edx, edx
jne 0x48a916
mov edx, eax
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x18]
jge 0x486380
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x486310
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.0041f733
add esp, 0xc
test eax, eax
jne 0x48630d
mov eax, dword [ebp - 0x14]
jmp 0x48633f
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x48634a
lea eax, [edx + edx]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0xc]
cmp ecx, eax
ja 0x48634a
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x70]
push eax
push ecx
call fcn.0041f733
add esp, 0xc
test eax, eax
jne 0x48634a
mov eax, dword [ebp - 0xc]
add dword [ebp - 8], eax
inc esi
cmp esi, dword [ebp - 0x18]
jl 0x4862e5
jmp 0x486377
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x48637a
cmp eax, dword [ebx + 0x7c]
jb 0x486377
cmp eax, dword [ebx + 0x88]
jbe 0x486377
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x40b730
cmp eax, edx
je 0x40b7a1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x4863db
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x486396
jmp 0x40b7a1
movzx ebx, word [edi]
add edi, 2
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
jmp 0x4863f8
mov eax, dword [ebp - 0x1c]
cmp esi, 0x2e
jb 0x48655f
mov esi, dword [ebp - 0x24]
test eax, eax
je 0x48644e
cmp esi, 0x7f
jbe 0x48644e
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ac478]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x486430
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x38]
add ecx, eax
movzx eax, word [ecx*2 + 0x49e5e0]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x4ab0e4]
add eax, esi
mov dword [ebp - 0x10], eax
jmp 0x486465
cmp esi, 0xff
ja 0x486462
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + esi]
mov dword [ebp - 0x10], eax
jmp 0x486465
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp esi, 1
jl 0x4864a8
cmp eax, dword [ebx + 0x7c]
jae 0x40bf75
movzx ebx, word [eax]
cmp dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
je 0x48649a
movzx ebx, word [eax]
cmp dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
jne case.0x40b754.157
inc dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], esi
jle 0x486477
cmp esi, dword [ebp - 0x18]
je 0x40b730
test edx, edx
jne 0x48a9de
mov edx, eax
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x18]
jge 0x486516
mov edx, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x7c]
jae 0x4864ee
movzx ebx, word [eax]
cmp edx, ebx
mov ebx, dword [ebp + 0x10]
je 0x4864e0
movzx ebx, word [eax]
cmp dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
jne 0x486513
add eax, 2
inc esi
mov dword [ebp - 8], eax
cmp esi, dword [ebp - 0x18]
jl 0x4864c6
jmp 0x486513
cmp dword [ebx + 0x8c], 0
je 0x486513
cmp eax, dword [ebx + 0x88]
jbe 0x486513
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x40b730
cmp eax, edx
je 0x40b7a1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
mov ecx, dword [ebp - 8]
sub ecx, 2
add esp, 0x14
mov dword [ebp - 8], ecx
test eax, eax
jne 0x40b897
cmp ecx, esi
jne 0x48652c
jmp 0x40b7a1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], 1
cmp eax, 1
jge 0x486573
mov esi, dword [ebp - 8]
jmp 0x48659f
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf75
movzx eax, word [eax]
mov esi, dword [ebp - 8]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x24], eax
jne case.0x40b754.157
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x14], eax
jle 0x486573
cmp eax, dword [ebp - 0x18]
je 0x40b730
test edx, edx
jne 0x48aa55
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
mov esi, eax
mov dword [ebp - 0x20], esi
cmp edx, dword [ebp - 0x18]
jge 0x4865e2
mov esi, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x7c]
jae 0x486628
movzx eax, word [eax]
cmp esi, eax
jne 0x4865dc
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc edx
cmp edx, dword [ebp - 0x18]
jl 0x4865c3
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
test ecx, ecx
jne 0x40b730
cmp eax, esi
je 0x40b7a1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
mov ecx, dword [ebp - 8]
sub ecx, 2
add esp, 0x14
mov dword [ebp - 8], ecx
test eax, eax
jne 0x40b897
cmp ecx, esi
jne 0x4865f5
jmp 0x40b7a1
cmp dword [ebx + 0x8c], 0
je 0x4865df
cmp eax, dword [ebx + 0x88]
jbe 0x4865df
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
jmp 0x4865df
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf64
cmp dword [ebp - 0x1c], edx
je 0x48675f
movzx edx, word [edi + 2]
mov eax, edx
add edi, 4
and eax, 0xfc00
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x34], edi
cmp eax, 0xd800
jne 0x4866a1
movzx eax, word [edi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add edi, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 8]
add eax, 2
movzx ecx, word [eax - 2]
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
jne 0x4866e2
mov eax, dword [ebp - 8]
and ecx, 0x3ff
movzx eax, word [eax]
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov dword [ebp - 0x2c], ecx
cmp esi, 0x1f
jne 0x4866f4
cmp edx, ecx
jne 0x40b730
jmp case.0x40b754.157
cmp edx, 0x7f
jbe 0x486737
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ac478]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48671f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e5e0]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax*8 + 0x4ab0e4]
add eax, edx
jmp 0x48674a
cmp edx, 0xff
ja 0x486748
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
jmp 0x48674a
mov eax, edx
cmp edx, ecx
je case.0x40b754.157
cmp eax, ecx
jne 0x40b730
jmp case.0x40b754.157
movzx edx, word [eax]
movzx ecx, word [edi + 2]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x40b754.157
cmp esi, 0x20
jne 0x486790
cmp ecx, 0xff
ja 0x486788
mov eax, dword [ebx + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x40b754.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40b730
movzx eax, word [edi + 2]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], eax
add edi, 4
jmp 0x48687d
movzx edx, word [edi + 2]
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], edx
cmp ecx, 0x42
je 0x4867d0
cmp ecx, 0x4f
je 0x4867d0
xor edx, edx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x48687d
mov edx, 1
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x48687d
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], SysAllocStringLen
add edi, 2
jmp 0x486880
mov ecx, 1
mov eax, ecx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], SysAllocStringLen
add edi, 2
jmp 0x486880
mov ecx, 1
xor eax, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x486880
movzx ebx, word [edi + 2]
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ebx
add edi, 4
jmp 0x486880
cmp esi, 0x48
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
mov ecx, esi
sub ecx, eax
movzx edx, cl
movsx eax, byte [ecx + 0x49e454]
movsx ecx, byte [ecx + 0x49e4f8]
and edx, 1
add edi, 2
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ecx
test ecx, ecx
jne 0x48687d
mov dword [ebp - 0x10], SysAllocStringLen
mov ecx, dword [ebp - 0x30]
movzx ebx, word [edi]
add edi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
je 0x4868ce
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4868cb
movzx eax, word [edi]
mov ebx, dword [ebp - 0x18]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
add edi, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x34], edi
mov eax, dword [ebp - 0x24]
cmp esi, 0x48
mov esi, dword [ebp - 0x1c]
jb 0x486be9
test esi, esi
je 0x48692c
cmp dword [ebp - 0x18], 0x7f
jbe 0x48692c
mov eax, dword [ebp - 0x18]
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 7
movzx ecx, byte [eax + 0x4ac478]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48690b
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e5e0]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x4ab0e4]
add eax, edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
jmp 0x486956
cmp dword [ebp - 0x18], 0xff
mov ebx, dword [ebp + 0x10]
ja 0x48694d
mov esi, dword [ebp - 0x18]
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + esi]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
jmp 0x486956
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xc], 1
test esi, esi
je 0x4869df
cmp eax, 1
jl 0x486a1d
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf75
movzx esi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], esi
jne 0x4869b7
movzx eax, word [eax]
and eax, 0x3ff
and esi, 0x3ff
shl esi, 0xa
or eax, esi
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov ebx, dword [ebp - 0x28]
cmp dword [ebp - 0x18], ebx
je case.0x40b754.157
mov esi, dword [ebp - 0x20]
cmp esi, ebx
je case.0x40b754.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x48696a
jmp 0x486a20
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x486a20
cmp eax, dword [ebx + 0x7c]
jae 0x40bf75
movzx esi, word [eax]
cmp dword [ebp - 0x18], esi
je case.0x40b754.157
movzx ebx, word [eax]
cmp dword [ebp - 0x20], ebx
je case.0x40b754.157
mov ebx, dword [ebp - 0xc]
inc ebx
add eax, 2
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], eax
jle 0x4869e7
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
cmp dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x1c]
je 0x40b730
test edx, edx
jne 0x48aac4
mov edx, eax
mov dword [ebp - 0x28], edx
test esi, esi
je 0x486b48
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x10]
jge 0x486aba
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x486b1e
movzx eax, word [eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x38], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486a96
movzx eax, word [edx + 2]
and dword [ebp - 0x38], 0x3ff
shl dword [ebp - 0x38], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x38]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x486a99
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x18], eax
je 0x486ab4
cmp dword [ebp - 0x20], eax
je 0x486ab4
mov eax, dword [ebp - 0xc]
inc esi
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
mov eax, edx
cmp esi, dword [ebp - 0x10]
jl 0x486a4c
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
test ecx, ecx
jne 0x40b730
cmp eax, edx
je 0x40b7a1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x486b15
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x486ad0
jmp 0x40b7a1
cmp dword [ebx + 0x8c], 0
je 0x486ab7
cmp eax, dword [ebx + 0x88]
jbe 0x486ab7
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
jmp 0x486ab7
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x10]
jge 0x486ba0
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x486b7b
movzx ebx, word [eax]
cmp esi, ebx
mov ebx, dword [ebp + 0x10]
je 0x486ba0
movzx esi, word [eax]
cmp dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x18]
je 0x486ba0
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x10]
jl 0x486b53
jmp 0x486ba0
cmp dword [ebx + 0x8c], 0
je 0x486ba0
cmp eax, dword [ebx + 0x88]
jbe 0x486ba0
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
test ecx, ecx
jne 0x40b730
mov esi, dword [ebp - 0x28]
cmp eax, esi
je 0x40b7a1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x486bb6
jmp 0x40b7a1
mov dword [ebp - 0xc], 1
test esi, esi
je 0x486c6f
mov ebx, dword [ebp + 0x10]
cmp eax, 1
jl 0x486ca1
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf75
movzx esi, word [eax]
add eax, 2
mov dword [ebp - 8], eax
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], esi
jne 0x486c4f
movzx eax, word [eax]
mov ebx, esi
and eax, 0x3ff
and ebx, 0x3ff
shl ebx, 0xa
or eax, ebx
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x1c]
je case.0x40b754.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x486c00
jmp 0x486ca4
cmp eax, 1
jl 0x486ca1
mov esi, dword [ebp - 8]
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x18], eax
je case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x24]
jle 0x486c77
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x10]
cmp dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
je 0x40b730
test edx, edx
jne 0x48abd6
mov edx, eax
mov dword [ebp - 0x20], edx
test esi, esi
je 0x486dc7
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x10]
jge 0x486d39
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x486d9d
movzx eax, word [eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486d1a
movzx eax, word [edx + 2]
and dword [ebp - 0x28], 0x3ff
shl dword [ebp - 0x28], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x28]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x486d1d
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x18], eax
je 0x486d33
mov eax, dword [ebp - 0xc]
inc esi
lea edx, [edx + eax*2]
mov dword [ebp - 8], edx
mov eax, edx
cmp esi, dword [ebp - 0x10]
jl 0x486cd0
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x40b730
cmp eax, edx
je 0x40b7a1
mov ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x486d94
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x486d4f
jmp 0x40b7a1
cmp dword [ebx + 0x8c], 0
je 0x486d36
cmp eax, dword [ebx + 0x88]
jbe 0x486d36
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
jmp 0x486d36
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x10]
jge 0x486dee
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x486e37
movzx eax, word [eax]
cmp esi, eax
je 0x486deb
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc edx
cmp edx, dword [ebp - 0x10]
jl 0x486dd2
mov eax, dword [ebp - 8]
test ecx, ecx
jne 0x40b730
mov esi, dword [ebp - 0x20]
cmp eax, esi
je 0x40b7a1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x486e04
jmp 0x40b7a1
cmp dword [ebx + 0x8c], 0
je 0x486dee
cmp eax, dword [ebx + 0x88]
jbe 0x486dee
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x486dee
mov eax, 0xfffffff4
jmp 0x40b897
movzx eax, word [edi + 2]
mov ecx, eax
mov edx, 1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x40be33
movzx eax, word [edi + 2]
mov dword [ebp - 0x10], edx
xor edx, edx
cmp ecx, 0x5c
sete dl
add edi, 4
mov dword [ebp - 0x24], eax
xor ecx, ecx
mov dword [ebp - 0x38], edx
jmp 0x40be33
xor ecx, ecx
mov esi, 1
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x40be2c
mov esi, 1
mov ecx, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x40be2c
mov esi, 1
xor ecx, ecx
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], esi
add edi, 2
jmp 0x40be33
movzx eax, word [edi + 2]
xor ecx, ecx
mov esi, 1
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
add edi, 4
jmp 0x40be33
mov dword [ebp - 0x3c], 1
jmp 0x486f0b
mov dword [ebp - 0x3c], 0
movzx esi, word [edi + 2]
movzx eax, word [edi]
add edi, 4
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x34], edi
jmp 0x40be54
test eax, eax
js 0x48774f
cmp eax, 0xa
ja case.default.0x48565a
jmp dword [eax*4 + 0x48c314]
cmp dword [ebp - 0x3c], 0
jne case.0x40b754.157
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x486f87
and dword [ebp - 0x14], 0xfc00
cmp dword [ebp - 0x14], 0xd800
jne 0x486f87
add ecx, 2
mov dword [ebp - 8], ecx
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x486f58
jmp 0x40be65
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be62
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x486ff9
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486ff9
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and edx, 0x8000007f
jns 0x48701e
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp eax, 9
je 0x487043
cmp eax, 5
je 0x487043
cmp eax, 8
je 0x487043
xor eax, eax
jmp 0x487048
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x486fae
mov edx, dword [ebp - 0x38]
jmp 0x40be62
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x40be5f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x4870c7
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4870c7
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x4870ec
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp dword [eax*4 + 0x4b6190], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x487079
mov edx, dword [ebp - 0x38]
jmp 0x40be5f
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x40be5f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48718c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48718c
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x4871b1
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x48713e
mov edx, dword [ebp - 0x38]
jmp 0x40be5f
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x40be5f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48724a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48724a
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x48726f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e0]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x4871fc
mov edx, dword [ebp - 0x38]
jmp 0x40be5f
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be62
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x487308
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487308
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and edx, 0x8000007f
jns 0x48732d
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x487354
cmp eax, 3
je 0x487354
xor eax, eax
jmp 0x487359
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x4872bd
mov edx, dword [ebp - 0x38]
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be65
mov edx, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
test eax, eax
je 0x4873e5
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4873e2
movzx eax, word [ecx]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x180e
ja 0x487439
je 0x4874d0
cmp dword [ebp - 0x18], 0x85
ja 0x48741e
je 0x4874d0
cmp dword [ebp - 0x18], 9
jb case.0x48745c.8203
cmp dword [ebp - 0x18], 0xd
jbe 0x4874d0
cmp dword [ebp - 0x18], 0x20
jne case.0x48745c.8203
jmp 0x4874d0
cmp dword [ebp - 0x18], 0xa0
je 0x4874d0
cmp dword [ebp - 0x18], 0x1680
jne case.0x48745c.8203
jmp 0x4874d0
cmp dword [ebp - 0x18], 0x202f
ja 0x487463
je 0x4874d0
mov eax, dword [ebp - 0x18]
add eax, 0xffffe000
cmp eax, 0x29
ja case.0x48745c.8203
movzx eax, byte [eax + 0x48c348]
jmp dword [eax*4 + 0x48c340]
cmp dword [ebp - 0x18], 0x205f
je 0x4874d0
cmp dword [ebp - 0x18], 0x3000
je 0x4874d0
mov ecx, dword [ebp - 0x18]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x48749a
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp dword [eax*4 + 0x4b6190], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40b754.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x4874da
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne case.0x40b754.157
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x487393
mov edx, dword [ebp - 0x38]
jmp 0x40be65
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x40be5f
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48754c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48754c
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ac478]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x487572
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x48759e
cmp eax, 3
je 0x48759e
cmp edx, 0x5f
je 0x48759e
xor eax, eax
jmp 0x4875a3
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x4874fe
mov edx, dword [ebp - 0x38]
jmp 0x40be5f
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x487625
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487625
movzx eax, word [ecx]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
mov ebx, dword [ebp - 0x44]
lea ebx, [ebx*4 + 0x4ae678]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebx]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jb 0x48765e
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 8]
je 0x487680
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx]
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jae 0x48763f
cmp dword [ebp - 0x3c], 0
je case.0x40b754.157
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
jle 0x4875da
jmp 0x40be65
cmp dword [ebp - 0x3c], 0
jne case.0x40b754.157
jmp 0x487668
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x4876f0
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4876ed
movzx eax, word [ecx]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x24
je 0x487724
cmp dword [ebp - 0x18], 0x40
je 0x487724
cmp dword [ebp - 0x18], 0x60
je 0x487724
cmp dword [ebp - 0x18], 0xa0
jb 0x487714
cmp dword [ebp - 0x18], 0xd7ff
jbe 0x487724
cmp dword [ebp - 0x18], 0xe000
mov dword [ebp - 0xc], 0
jb 0x48772b
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], esi
je case.0x40b754.157
mov ebx, dword [ebp - 0x14]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
jle 0x4876a2
jmp 0x40be65
cmp dword [ebp - 0x28], 0x16
jne 0x4878f5
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], 1
jl 0x40be62
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x20], eax
cmp ecx, eax
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x4877bc
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4877bc
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and edx, 0x8000007f
jns 0x4877e1
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e5e0]
movzx edx, byte [eax*8 + 0x4ab0e2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp ecx, eax
jae 0x4878b4
mov ebx, dword [ebp - 0x1c]
mov esi, edx
movzx edx, word [ecx]
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x14], edx
test ebx, ebx
je 0x487849
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487849
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], 2
mov ecx, dword [ebp - 0x14]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x48786e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx ecx, byte [eax*8 + 0x4ab0e2]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x49e504], eax
je 0x4878ab
mov eax, dword [ebp - 0xc]
mov esi, ecx
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 8], ecx
cmp ecx, eax
jb 0x487806
jmp 0x4878b1
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x10]
cmp dword [ebx + 0x8c], 0
je 0x4878dd
cmp ecx, eax
jb 0x4878dd
cmp ecx, dword [ebx + 0x88]
jbe 0x4878dd
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x10]
jle 0x48776c
mov edx, dword [ebp - 0x38]
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4880df
mov eax, dword [ebp - 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x48565a
mov eax, dword [ebp - 0x28]
add eax, 0xfffffffa
jmp dword [eax*4 + 0x48c374]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
lea edx, [ecx + 2]
mov dword [ebp - 0x20], edx
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x48a74d
cmp dword [ebx + 0x18], 0
je 0x4879f6
mov eax, dword [ebp - 0x1c]
push eax
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
call fcn.0040a22c
add esp, 0xc
test eax, eax
jne case.0x40b754.157
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebx + 0x8c], 0
je 0x4879a6
cmp edx, dword [ebx + 0x7c]
jb 0x4879a6
cmp dword [ebx + 0x18], 0
jne 0x4879a6
cmp dword [ebx + 0x1c], 2
jne 0x4879a6
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x4879a6
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebx + 0x7c]
jae 0x4879de
mov ax, word [ecx]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xdc00
cmp ax, word [ebp - 0x14]
jne 0x4879de
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487938
mov edx, dword [ebp - 0x38]
jmp 0x40be62
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp ecx, edx
ja 0x48796c
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48796c
cmp dword [ebx + 0x1c], 1
je case.0x40b754.157
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
je case.0x40b754.157
jmp 0x48796f
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be65
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x487a82
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jne 0x487a82
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x487a4a
jmp 0x40be62
mov eax, dword [ebx + 0x7c]
add ecx, ecx
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja case.0x40b754.157
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x487b09
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x487b0c
mov eax, dword [ebp - 0x20]
cmp eax, 0xd
ja 0x487b39
je 0x487b26
cmp eax, 0xa
je 0x487b58
add eax, 0xfffffff5
cmp eax, 1
ja case.0x40b754.157
jmp 0x487b4e
cmp ecx, dword [ebx + 0x7c]
jae 0x487b58
cmp word [ecx], 0xa
jne 0x487b58
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x487b58
cmp eax, 0x85
je 0x487b4e
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x40b754.157
cmp dword [ebx + 0x6c], 0
jne case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487ac5
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x487bc7
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x487bca
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x487c05
je case.0x40b754.157
cmp eax, 0xa0
ja 0x487bf8
je case.0x40b754.157
cmp eax, 9
je case.0x40b754.157
cmp eax, 0x20
je case.0x40b754.157
jmp 0x487c3c
cmp eax, 0x1680
je case.0x40b754.157
jmp 0x487c3c
cmp eax, 0x205f
ja 0x487c31
je case.0x40b754.157
cmp eax, 0x2000
jb 0x487c3c
cmp eax, 0x200a
jbe case.0x40b754.157
cmp eax, 0x202f
je case.0x40b754.157
jmp 0x487c3c
cmp eax, 0x3000
je case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487b83
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x487cab
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x487cae
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x487cdd
je 0x487d10
cmp eax, 0xa0
ja 0x487cd0
je 0x487d10
cmp eax, 9
je 0x487d10
cmp eax, 0x20
jne case.0x40b754.157
jmp 0x487d10
cmp eax, 0x1680
jne case.0x40b754.157
jmp 0x487d10
cmp eax, 0x205f
ja 0x487d05
je 0x487d10
cmp eax, 0x2000
jb case.0x40b754.157
cmp eax, 0x200a
jbe 0x487d10
cmp eax, 0x202f
jne case.0x40b754.157
jmp 0x487d10
cmp eax, 0x3000
jne case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487c67
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x487d7f
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x487d82
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x487d9f
je case.0x40b754.157
cmp eax, 0xa
jb 0x487db1
cmp eax, 0xd
jbe case.0x40b754.157
jmp 0x487db1
cmp eax, 0x2028
jb 0x487db1
cmp eax, 0x2029
jbe case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487d3b
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x487e20
movzx eax, word [ecx]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x487e23
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x487e3a
je 0x487e48
add eax, 0xfffffff6
cmp eax, 3
ja case.0x40b754.157
jmp 0x487e48
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487ddc
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x487eb9
movzx eax, word [ecx]
mov ebx, dword [ebp - 0x14]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], ecx
jmp 0x487ebc
mov eax, dword [ebp - 0x14]
cmp eax, 0x80
jae 0x487ed6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487e6f
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
cmp word [ecx], 0x80
jae case.0x40b754.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 4
mov ebx, dword [ebp + 0x10]
je case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487efd
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be65
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
cmp word [ecx], 0x80
mov ebx, dword [ebp + 0x10]
jae 0x487f7d
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 1
mov ebx, dword [ebp + 0x10]
jne case.0x40b754.157
mov eax, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x487fac
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jne 0x487fac
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x487f54
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
cmp word [ecx], 0x80
jae case.0x40b754.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 1
mov ebx, dword [ebp + 0x10]
je case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x487fcf
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be65
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
cmp word [ecx], 0x80
mov ebx, dword [ebp + 0x10]
jae 0x48804f
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 0x10
mov ebx, dword [ebp + 0x10]
jne case.0x40b754.157
mov eax, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x48807e
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebp - 0x10]
jne 0x48807e
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x488026
jmp 0x40be62
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
cmp word [ecx], 0x80
jae case.0x40b754.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 0x10
mov ebx, dword [ebp + 0x10]
je case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x4880a1
jmp 0x40be62
mov ebx, dword [ebp - 0x28]
add ebx, 0xfffffffa
cmp ebx, 0xf
ja case.default.0x48565a
mov ebx, dword [ebp - 0x28]
add ebx, 0xfffffffa
jmp dword [ebx*4 + 0x48c3b4]
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x48a74d
cmp dword [ebx + 0x18], 0
je 0x488141
lea eax, [ebx + 0x1c]
push 0
push eax
push edx
mov edx, dword [ebx + 0x18]
call fcn.0040a22c
add esp, 0xc
test eax, eax
jne case.0x40b754.157
mov ecx, dword [ebp - 8]
jmp 0x48816d
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp ecx, edx
ja 0x48816d
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48816d
cmp dword [ebx + 0x1c], 1
je case.0x40b754.157
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
je case.0x40b754.157
cmp dword [ebx + 0x8c], 0
je 0x4881a7
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x4881a7
cmp dword [ebx + 0x18], 0
jne 0x4881a7
cmp dword [ebx + 0x1c], 2
jne 0x4881a7
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x4881a7
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov eax, dword [ebp - 0xc]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x488111
mov edx, dword [ebp - 0x38]
jmp 0x40be62
mov ebx, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [ebx + 0x7c]
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x48a74d
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x40be62
mov ebx, dword [ebp + 0x10]
add ecx, ecx
mov eax, dword [ebx + 0x7c]
sub eax, ecx
mov dword [ebp - 0xc], ecx
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x48a74d
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x40be62
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be65
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x20], ebx
cmp ebx, 0xd
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
jg 0x488271
cmp dword [ebp - 0x20], 0xd
je 0x48825e
cmp dword [ebp - 0x20], 0xa
je 0x488298
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x40b754.157
jmp 0x48828b
cmp ecx, dword [ebx + 0x7c]
jae 0x488298
cmp word [ecx], 0xa
jne 0x488298
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x488298
cmp dword [ebp - 0x20], 0x85
je 0x48828e
mov eax, dword [ebp - 0x20]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x40b754.157
mov eax, dword [ebp - 0x10]
cmp dword [ebx + 0x6c], 0
jne case.0x40b754.157
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x488224
jmp 0x40be62
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
cmp eax, 0x180e
jg 0x488315
cmp eax, 0x180e
je case.0x40b754.157
cmp eax, 0xa0
jg 0x488306
je case.0x40b754.157
cmp eax, 9
je case.0x40b754.157
cmp eax, 0x20
je case.0x40b754.157
jmp 0x488356
cmp dword [ebp - 0x18], 0x1680
je case.0x40b754.157
jmp 0x488356
cmp dword [ebp - 0x18], 0x205f
jg 0x488349
je case.0x40b754.157
cmp dword [ebp - 0x18], 0x2000
jl 0x488356
cmp dword [ebp - 0x18], 0x200a
jle case.0x40b754.157
cmp dword [ebp - 0x18], 0x202f
je case.0x40b754.157
jmp 0x488356
cmp dword [ebp - 0x18], 0x3000
je case.0x40b754.157
mov eax, dword [ebp - 0xc]
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
jle 0x4882be
jmp 0x40be65
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], eax
cmp eax, 0x180e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jg 0x4883db
cmp dword [ebp - 0x18], 0x180e
je 0x488418
cmp dword [ebp - 0x18], 0xa0
jg 0x4883cc
je 0x488418
cmp dword [ebp - 0x18], 9
je 0x488418
cmp dword [ebp - 0x18], 0x20
jne case.0x40b754.157
jmp 0x488418
cmp dword [ebp - 0x18], 0x1680
jne case.0x40b754.157
jmp 0x488418
cmp dword [ebp - 0x18], 0x205f
jg 0x48840b
je 0x488418
cmp dword [ebp - 0x18], 0x2000
jl case.0x40b754.157
cmp dword [ebp - 0x18], 0x200a
jle 0x488418
cmp dword [ebp - 0x18], 0x202f
jne case.0x40b754.157
jmp 0x488418
cmp dword [ebp - 0x18], 0x3000
jne case.0x40b754.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x488387
jmp 0x40be65
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x20], eax
cmp eax, 0x85
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jg 0x488487
cmp dword [ebp - 0x20], 0x85
je case.0x40b754.157
cmp dword [ebp - 0x20], 0xa
jl 0x48849d
cmp dword [ebp - 0x20], 0xd
jle case.0x40b754.157
jmp 0x48849d
cmp dword [ebp - 0x20], 0x2028
jl 0x48849d
cmp dword [ebp - 0x20], 0x2029
jle case.0x40b754.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x488449
jmp 0x40be65
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], 1
jl 0x40be65
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x14], ebx
cmp ebx, 0x85
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
jg 0x488504
cmp dword [ebp - 0x14], 0x85
je 0x488518
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff6
cmp eax, 3
ja case.0x40b754.157
jmp 0x488515
mov eax, dword [ebp - 0x14]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x40b754.157
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x4884ca
jmp 0x40be62
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be65
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx ebx, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp bx, word [ebp - 0xc]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
ja 0x488576
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x40b754.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], eax
jle 0x48853e
jmp 0x40be62
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x40b754.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x40b754.157
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x48859f
jmp 0x40be62
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be65
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx ebx, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp bx, word [ebp - 0xc]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
ja 0x488633
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x40b754.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], eax
jle 0x4885fb
jmp 0x40be62
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x40b754.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x40b754.157
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x48865c
jmp 0x40be62
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x40be65
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx ebx, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp bx, word [ebp - 0xc]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
ja 0x4886f0
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x40b754.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x14]
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x14], eax
jle 0x4886b8
jmp 0x40be62
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x40be65
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x40b754.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x40b754.157
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
inc eax
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x488719
jmp 0x40be62
mov dword [ebp - 0x38], ecx
test edx, edx
js 0x489081
cmp edx, 0xa
ja case.default.0x48565a
jmp dword [edx*4 + 0x48c3f4]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48901b
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebp - 0x2c]
jae 0x4887e8
test eax, eax
je 0x4887c4
mov ax, word [ecx]
mov dword [ebp - 0x14], 0xfc00
and ax, word [ebp - 0x14]
mov dword [ebp - 0x14], 0xd800
cmp ax, word [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
jne 0x4887c4
mov dword [ebp - 0xc], 2
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
jne 0x48901b
mov ebx, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48878c
jmp 0x48901b
cmp dword [ebx + 0x8c], 0
je 0x48901b
cmp ecx, dword [ebx + 0x88]
jbe 0x48901b
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48901b
mov eax, 0xfffffff4
jmp 0x40b897
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48901b
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4887e8
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x488873
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488873
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and edx, 0x8000007f
jns 0x488898
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp eax, 9
je 0x4888bd
cmp eax, 5
je 0x4888bd
cmp eax, 8
je 0x4888bd
xor eax, eax
jmp 0x4888c2
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x48901b
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x48882b
jmp 0x48901b
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48901b
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4887e8
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x488944
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488944
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x488969
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp dword [eax*4 + 0x4b6190], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48901b
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x4888f8
jmp 0x48901b
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48901b
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4887e8
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x488a0f
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488a0f
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x488a34
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48901b
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x4889c3
jmp 0x48901b
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48901b
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4887e8
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x488ad3
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488ad3
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov ecx, dword [ebp - 0xc]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x488af8
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e0]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48901b
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x488a87
jmp 0x48901b
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48901b
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4887e8
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x488b97
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488b97
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and edx, 0x8000007f
jns 0x488bbc
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x488be3
cmp eax, 3
je 0x488be3
xor eax, eax
jmp 0x488be8
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x48901b
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x488b4b
jmp 0x48901b
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48901b
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4887e8
movzx ebx, word [ecx]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x488c76
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488c73
movzx eax, word [ecx + 2]
and dword [ebp - 0x18], 0x3ff
shl dword [ebp - 0x18], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x18]
mov dword [ebp - 0xc], 2
add eax, 0x10000
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], 0x180e
ja 0x488cca
je 0x488d61
cmp dword [ebp - 0x18], 0x85
ja 0x488caf
je 0x488d61
cmp dword [ebp - 0x18], 9
jb case.0x488ced.8203
cmp dword [ebp - 0x18], 0xd
jbe 0x488d61
cmp dword [ebp - 0x18], 0x20
jne case.0x488ced.8203
jmp 0x488d61
cmp dword [ebp - 0x18], 0xa0
je 0x488d61
cmp dword [ebp - 0x18], 0x1680
jne case.0x488ced.8203
jmp 0x488d61
cmp dword [ebp - 0x18], 0x202f
ja 0x488cf4
je 0x488d61
mov eax, dword [ebp - 0x18]
add eax, 0xffffe000
cmp eax, 0x29
ja case.0x488ced.8203
movzx eax, byte [eax + 0x48c428]
jmp dword [eax*4 + 0x48c420]
cmp dword [ebp - 0x18], 0x205f
je 0x488d61
cmp dword [ebp - 0x18], 0x3000
je 0x488d61
mov ecx, dword [ebp - 0x18]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x488d2b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp dword [eax*4 + 0x4b6190], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48901b
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x488d6b
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne 0x48901b
mov esi, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + esi*2]
mov esi, dword [ebp - 0x30]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x488c1e
jmp 0x48901b
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48901b
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4887e8
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x488de1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488de1
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x2c], 2
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ac478]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x488e07
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x488e33
cmp eax, 3
je 0x488e33
cmp edx, 0x5f
je 0x488e33
xor eax, eax
jmp 0x488e38
mov eax, 1
mov ecx, dword [ebp - 8]
cmp eax, dword [ebp - 0x3c]
je 0x48901b
mov eax, dword [ebp - 0x2c]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x10]
inc eax
cmp eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 8], ecx
jl 0x488d95
jmp 0x48901b
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48901b
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4887e8
movzx ebx, word [ecx]
mov dword [ebp - 0x28], ebx
test eax, eax
je 0x488ec5
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488ec2
movzx eax, word [ecx + 2]
and dword [ebp - 0x28], 0x3ff
shl dword [ebp - 0x28], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x44]
lea ebx, [ebx*4 + 0x4ae678]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebx]
cmp dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jb 0x488efe
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 8]
je 0x488f26
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp dword [ebp - 0x28], eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
jae 0x488edf
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
je 0x48901b
mov ebx, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x488e71
jmp 0x48901b
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
je 0x488f0b
jmp 0x48901b
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48901b
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x488ff6
movzx ebx, word [ecx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x488f98
mov eax, dword [ebp - 0x28]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488f95
movzx eax, word [ecx + 2]
and dword [ebp - 0x28], 0x3ff
shl dword [ebp - 0x28], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x28], 0x24
je 0x488fcc
cmp dword [ebp - 0x28], 0x40
je 0x488fcc
cmp dword [ebp - 0x28], 0x60
je 0x488fcc
cmp dword [ebp - 0x28], 0xa0
jb 0x488fbc
cmp dword [ebp - 0x28], 0xd7ff
jbe 0x488fcc
cmp dword [ebp - 0x28], 0xe000
mov dword [ebp - 0xc], 0
jb 0x488fd3
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x30]
je 0x48901b
mov ebx, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + ebx*2]
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x488f40
jmp 0x48901b
cmp dword [ebx + 0x8c], 0
je 0x48901b
cmp ecx, dword [ebx + 0x88]
jbe 0x48901b
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
test esi, esi
jne 0x40b730
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x40b7a1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x1c], eax
je 0x489078
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x489078
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48902e
jmp 0x40b7a1
mov edx, dword [ebp - 0x28]
cmp edx, 0x16
jne 0x489294
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jl 0x48909d
jmp 0x489246
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], edx
cmp ecx, edx
jae 0x489221
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
test eax, eax
je 0x4890eb
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4890eb
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and edx, 0x8000007f
jns 0x489110
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e5e0]
movzx edx, byte [eax*8 + 0x4ab0e2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp ecx, eax
jae 0x4891e6
mov ebx, dword [ebp - 0x1c]
mov esi, edx
movzx edx, word [ecx]
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x14], edx
test ebx, ebx
je 0x489178
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489178
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0x14], edx
mov dword [ebp - 0xc], 2
mov ecx, dword [ebp - 0x14]
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x48919d
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx ecx, byte [eax*8 + 0x4ab0e2]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x49e504], eax
je 0x4891da
mov eax, dword [ebp - 0xc]
mov esi, ecx
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], ecx
cmp ecx, eax
jb 0x489135
jmp 0x4891e0
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp - 0x30]
cmp dword [ebx + 0x8c], 0
je 0x48920f
cmp ecx, eax
jb 0x48920f
cmp ecx, dword [ebx + 0x88]
jbe 0x48920f
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x24]
jl 0x48909a
jmp 0x489246
cmp dword [ebx + 0x8c], 0
je 0x489246
cmp ecx, dword [ebx + 0x88]
jbe 0x489246
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
test esi, esi
jne 0x40b730
cmp ecx, dword [ebp - 0x38]
je 0x40b7a1
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
test esi, esi
jne 0x48a1ed
movzx edx, word [ecx]
jmp 0x48a236
test eax, eax
je 0x489ba3
add edx, 0xfffffffa
cmp edx, 0xf
ja case.default.0x48565a
jmp dword [edx*4 + 0x48c454]
cmp dword [ebp - 0x24], 0x7fffffff
mov edx, dword [ebp - 0x10]
jge 0x4893c0
cmp edx, dword [ebp - 0x24]
jge 0x489b25
lea eax, [ecx + 2]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
jae 0x489520
cmp dword [ebx + 0x18], 0
je 0x489308
push eax
lea edx, [ebx + 0x1c]
push edx
push dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
call fcn.0040a22c
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x489b25
mov edx, dword [ebp - 0x10]
jmp 0x489338
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x489338
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x489338
cmp dword [ebx + 0x1c], 1
je 0x489b25
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ebx + 0x36]
je 0x489b25
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 0x18]
je 0x489378
cmp eax, dword [ebx + 0x7c]
jb 0x489378
cmp dword [ebx + 0x18], 0
jne 0x489378
cmp dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 8]
jne 0x489378
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x489375
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov eax, dword [ebp - 0x18]
add ecx, 2
add eax, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebx + 0x7c]
jae 0x4893ae
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
jne 0x4893ae
add ecx, 2
add dword [ebp - 0x18], 2
mov dword [ebp - 8], ecx
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x4892ce
jmp 0x489b25
cmp edx, dword [ebp - 0x24]
jge 0x489b25
lea eax, [ecx + 2]
mov dword [ebp - 0x18], eax
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
jae 0x489520
cmp dword [ebx + 0x18], 0
je 0x489409
push eax
lea edx, [ebx + 0x1c]
push edx
push dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
call fcn.0040a22c
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x489b25
mov edx, dword [ebp - 0x10]
jmp 0x489439
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x489439
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x489439
cmp dword [ebx + 0x1c], 1
je 0x489b25
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ebx + 0x36]
je 0x489b25
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 0x18]
je 0x489479
cmp eax, dword [ebx + 0x7c]
jb 0x489479
cmp dword [ebx + 0x18], 0
jne 0x489479
cmp dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 8]
jne 0x489479
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x489476
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov eax, dword [ebp - 0x18]
add ecx, 2
add eax, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], eax
cmp ecx, dword [ebx + 0x7c]
jae 0x4894af
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
jne 0x4894af
add ecx, 2
add dword [ebp - 0x18], 2
mov dword [ebp - 8], ecx
inc edx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x4893cf
jmp 0x489b25
mov eax, dword [ebp - 0x24]
cmp eax, 0x7fffffff
jge 0x489516
mov edx, dword [ebp - 0x10]
cmp edx, eax
jge 0x489b25
mov eax, dword [ebx + 0x7c]
cmp ecx, eax
jae 0x489520
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x48950b
mov ax, word [ecx]
mov dword [ebp - 0xc], 0xfc00
and ax, word [ebp - 0xc]
mov dword [ebp - 0xc], 0xdc00
cmp ax, word [ebp - 0xc]
mov eax, dword [ebx + 0x7c]
jne 0x48950b
add ecx, 2
mov dword [ebp - 8], ecx
inc edx
cmp edx, dword [ebp - 0x24]
jl 0x4894d9
jmp 0x489b25
mov ecx, dword [ebx + 0x7c]
jmp 0x48951d
mov ecx, edx
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x8c], 0
je 0x489b25
cmp ecx, dword [ebx + 0x88]
jbe 0x489b25
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x489b25
mov eax, 0xfffffff4
jmp 0x40b897
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x24], eax
mov eax, edx
sub eax, ecx
sar eax, 1
cmp dword [ebp - 0x24], eax
ja 0x48951b
mov eax, dword [ebp - 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
jmp 0x489b25
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489b25
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], 1
cmp ecx, eax
jae 0x489520
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4895cd
movzx eax, word [ecx + 2]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
mov dword [ebp - 0xc], 2
add eax, 0x10000
jmp 0x4895d0
mov eax, dword [ebp - 0x20]
cmp eax, 0xd
jne 0x4895f1
mov eax, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x489b25
cmp word [ecx], 0xa
jne 0x48962f
add ecx, 2
jmp 0x48962c
cmp eax, 0xa
je 0x489623
cmp dword [ebx + 0x6c], 0
jne 0x489b25
cmp eax, 0xb
je 0x489623
cmp eax, 0xc
je 0x489623
cmp eax, 0x85
je 0x489623
cmp eax, 0x2028
je 0x489623
cmp eax, 0x2029
jne 0x489b25
mov eax, dword [ebp - 0xc]
lea ecx, [ecx + eax*2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 8], ecx
inc edx
cmp edx, dword [ebp - 0x24]
jl 0x48958b
jmp 0x489b25
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489b25
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x489520
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489691
movzx eax, word [ecx + 2]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
jmp 0x489694
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x4896ea
je 0x4896b0
cmp eax, 0xa0
ja 0x4896e1
je 0x4896b0
cmp eax, 9
je 0x4896b0
cmp eax, 0x20
jne 0x489711
mov dword [ebp - 0xc], 1
xor eax, eax
cmp dword [ebp - 0x28], 0x12
sete al
cmp dword [ebp - 0xc], eax
je 0x489b25
mov eax, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48964a
jmp 0x489b25
cmp eax, 0x1680
jne 0x489711
jmp 0x4896b0
cmp eax, 0x205f
ja 0x48970a
je 0x4896b0
cmp eax, 0x2000
jb 0x489711
cmp eax, 0x200a
jbe 0x4896b0
cmp eax, 0x202f
jne 0x489711
jmp 0x4896b0
cmp eax, 0x3000
je 0x4896b0
mov dword [ebp - 0xc], 0
jmp 0x4896b7
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489b25
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x489520
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48976d
movzx eax, word [ecx + 2]
and dword [ebp - 0x20], 0x3ff
shl dword [ebp - 0x20], 0xa
and eax, 0x3ff
or eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], 2
add eax, 0x10000
jmp 0x489770
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x4897b4
je 0x4897be
cmp eax, 0xa
jb 0x489783
cmp eax, 0xd
jbe 0x4897be
mov dword [ebp - 0xc], 0
xor eax, eax
cmp dword [ebp - 0x28], 0x14
sete al
cmp dword [ebp - 0xc], eax
je 0x489b25
mov eax, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489726
jmp 0x489b25
add eax, 0xffffdfd8
cmp eax, 1
ja 0x489783
mov dword [ebp - 0xc], 1
jmp 0x48978a
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489b25
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x489520
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489820
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x489823
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48983d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne 0x489b25
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x4897d3
jmp 0x489b25
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489b25
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x489520
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4898aa
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x4898ad
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x489b25
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
je 0x489b25
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48985d
jmp 0x489b25
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489b25
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x489520
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489938
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x48993b
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x489955
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
jne 0x489b25
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x4898eb
jmp 0x489b25
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489b25
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x489520
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4899c2
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x4899c5
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x489b25
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
je 0x489b25
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489975
jmp 0x489b25
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489b25
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x489520
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489a50
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x489a53
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x489a6d
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
jne 0x489b25
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489a03
jmp 0x489b25
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x489b25
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x489b00
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489ad6
mov ebx, dword [ebp - 0x14]
movzx eax, word [ecx + 2]
and ebx, 0x3ff
shl ebx, 0xa
and eax, 0x3ff
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], 2
jmp 0x489ad9
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x489b25
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
je 0x489b25
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489a8d
jmp 0x489b25
cmp dword [ebx + 0x8c], 0
je 0x489b25
cmp ecx, dword [ebx + 0x88]
jbe 0x489b25
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
test esi, esi
jne 0x40b730
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x40b7a1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 8]
sub ecx, 2
mov edx, 0xfc00
mov ax, word [ecx]
and ax, dx
mov edx, 0xdc00
mov dword [ebp - 8], ecx
cmp ax, dx
jne 0x489b7d
sub ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x28], 0x11
jne 0x489b9a
cmp ecx, esi
jbe 0x489b9c
cmp word [ecx], 0xa
jne 0x489b9a
cmp word [ecx - 2], 0xd
jne 0x489b9a
add ecx, 0xfffffffe
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x489b38
jmp 0x40b7a1
lea eax, [edx - 6]
cmp eax, 0xf
ja case.default.0x48565a
jmp dword [eax*4 + 0x48c494]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a0f8
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
jae 0x489c94
cmp dword [ebx + 0x18], 0
je 0x489bf8
lea edx, [ebx + 0x1c]
push 0
push edx
mov edx, dword [ebx + 0x18]
push eax
call fcn.0040a22c
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x48a0f8
mov edx, dword [ebp - 0x10]
jmp 0x489c26
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x489c26
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x489c26
cmp dword [ebx + 0x1c], 1
je 0x48a0f8
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
je 0x48a0f8
cmp dword [ebx + 0x8c], 0
je 0x489c60
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x489c60
cmp dword [ebx + 0x18], 0
jne 0x489c60
cmp dword [ebx + 0x1c], 2
jne 0x489c60
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x489c60
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
inc edx
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x489bc2
jmp 0x48a0f8
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x24], eax
mov eax, edx
sub eax, ecx
sar eax, 1
cmp dword [ebp - 0x24], eax
jbe 0x489ccb
mov ecx, edx
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x8c], 0
je 0x48a0f8
cmp ecx, dword [ebx + 0x88]
jbe 0x48a0f8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48a0f8
mov eax, 0xfffffff4
jmp 0x40b897
mov eax, dword [ebp - 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
jmp 0x48a0f8
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48a0f8
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x489c94
movzx edx, word [ecx]
cmp edx, 0xd
jne 0x489d0d
mov edx, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, edx
jae 0x48a0f8
cmp word [ecx], 0xa
je 0x489d45
jmp 0x489d4b
cmp edx, 0xa
je 0x489d42
cmp dword [ebx + 0x6c], 0
jne 0x48a0f8
cmp edx, 0xb
je 0x489d42
cmp edx, 0xc
je 0x489d42
cmp edx, 0x85
je 0x489d42
cmp edx, 0x2028
je 0x489d42
cmp edx, 0x2029
jne 0x48a0f8
mov edx, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
inc eax
cmp eax, dword [ebp - 0x24]
jl 0x489ce8
jmp 0x48a0f8
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48a0f8
cmp ecx, dword [ebx + 0x7c]
jae 0x489c94
movzx edx, word [ecx]
cmp edx, 0x180e
jg 0x489daa
je 0x48a0f8
cmp edx, 0xa0
jg 0x489d9d
je 0x48a0f8
cmp edx, 9
je 0x48a0f8
cmp edx, 0x20
jne 0x489de5
jmp 0x48a0f8
cmp edx, 0x1680
jne 0x489de5
jmp 0x48a0f8
cmp edx, 0x205f
jg 0x489dd9
je 0x48a0f8
cmp edx, 0x2000
jl 0x489de5
cmp edx, 0x200a
jle 0x48a0f8
cmp edx, 0x202f
jne 0x489de5
jmp 0x48a0f8
cmp edx, 0x3000
je 0x48a0f8
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x489d62
jmp 0x48a0f8
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48a0f8
cmp ecx, dword [ebx + 0x7c]
jae 0x489c94
movzx edx, word [ecx]
cmp edx, 0x180e
jg 0x489e42
je 0x489e79
cmp edx, 0xa0
jg 0x489e35
je 0x489e79
cmp edx, 9
je 0x489e79
cmp edx, 0x20
je 0x489e79
jmp 0x48a0f8
cmp edx, 0x1680
je 0x489e79
jmp 0x48a0f8
cmp edx, 0x205f
jg 0x489e6d
je 0x489e79
cmp edx, 0x2000
jl 0x48a0f8
cmp edx, 0x200a
jle 0x489e79
cmp edx, 0x202f
je 0x489e79
jmp 0x48a0f8
cmp edx, 0x3000
jne 0x48a0f8
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x489e06
jmp 0x48a0f8
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48a0f8
cmp ecx, dword [ebx + 0x7c]
jae 0x489c94
movzx edx, word [ecx]
cmp edx, 0x85
jg 0x489ebf
je 0x48a0f8
cmp edx, 0xa
jl 0x489ed3
cmp edx, 0xd
jg 0x489ed3
jmp 0x48a0f8
cmp edx, 0x2028
jl 0x489ed3
cmp edx, 0x2029
jle 0x48a0f8
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x489e96
jmp 0x48a0f8
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a0f8
cmp ecx, dword [ebx + 0x7c]
jae 0x489c94
movzx eax, word [ecx]
cmp eax, 0x85
jg 0x489f12
je 0x489f20
add eax, 0xfffffff6
cmp eax, 3
jbe 0x489f20
jmp 0x48a0f8
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48a0f8
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489ef0
jmp 0x48a0f8
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a0f8
cmp ecx, dword [ebx + 0x7c]
jae 0x489c94
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x489f68
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne 0x48a0f8
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489f3d
jmp 0x48a0f8
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a0f8
cmp ecx, dword [ebx + 0x7c]
jae 0x489c94
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48a0f8
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
je 0x48a0f8
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489f85
jmp 0x48a0f8
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a0f8
cmp ecx, dword [ebx + 0x7c]
jae 0x489c94
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x489ffc
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
jne 0x48a0f8
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x489fd1
jmp 0x48a0f8
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a0f8
cmp ecx, dword [ebx + 0x7c]
jae 0x489c94
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48a0f8
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
je 0x48a0f8
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a019
jmp 0x48a0f8
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a0f8
cmp ecx, dword [ebx + 0x7c]
jae 0x489c94
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48a08c
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
jne 0x48a0f8
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a065
jmp 0x48a0f8
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a0f8
cmp ecx, dword [ebx + 0x7c]
jae 0x48a0d3
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48a0f8
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
je 0x48a0f8
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a0a2
jmp 0x48a0f8
cmp dword [ebx + 0x8c], 0
je 0x48a0f8
cmp ecx, dword [ebx + 0x88]
jbe 0x48a0f8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
test esi, esi
jne 0x40b730
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x40b7a1
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 8]
sub ecx, 2
cmp dword [ebp - 0x28], 0x11
mov dword [ebp - 8], ecx
jne 0x48a152
cmp ecx, esi
jbe 0x48a154
cmp word [ecx], 0xa
jne 0x48a152
cmp word [ecx - 2], 0xd
jne 0x48a152
add ecx, 0xfffffffe
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48a10b
jmp 0x40b7a1
mov eax, dword [ebp + 0x18]
inc eax
cmp word [edi], 0x7a
push eax
push dword [ebp + 0x14]
push ebx
push edx
push ecx
mov ecx, dword [ebp - 8]
jne 0x48a18a
lea edx, [edi + 4]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov edi, dword [ebp - 0xc]
jmp 0x40b79e
mov edx, dword [ebp - 0xc]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
add edi, 4
jmp 0x40b79e
mov edx, esi
mov esi, dword [ebp - 8]
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x48a1cc
mov ecx, dword [ebp - 0x20]
cmp dword [ebx + 0xb8], ecx
jne 0x40b897
jmp 0x48a1d7
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0x48a43a
add edi, 4
jmp 0x40b79e
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x48a208
sub ecx, 2
mov dword [ebp - 8], ecx
movzx edx, word [ecx]
mov eax, edx
and eax, 0xfc00
mov dword [ebp - 0x14], edx
cmp eax, 0xd800
jne 0x48a239
movzx eax, word [ecx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add edx, 0x10000
mov dword [ebp - 0x14], edx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x14]
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and edx, 0x8000007f
jns 0x48a25e
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e2]
mov dword [ebp - 0x2c], eax
cmp ecx, dword [ebp - 0x38]
je 0x40b7a1
lea edx, [ecx - 2]
mov dword [ebp - 0xc], edx
test esi, esi
jne 0x48a28b
movzx ecx, word [edx]
jmp 0x48a2d1
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48a2a6
sub edx, 2
mov dword [ebp - 0xc], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a2d1
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x48a2f3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx eax, word [eax*2 + 0x49e5e0]
movzx edx, byte [eax*8 + 0x4ab0e2]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49e504], eax
je 0x48a326
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x2c], edx
jmp 0x48a273
mov ecx, dword [ebp - 8]
jmp 0x48925a
mov dword [ebx + 0x9c], 2
jmp 0x40c026
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x48bfc0
cmp word [edi], 0x77
je 0x40c075
cmp word [eax], 0x77
jne 0x48bfc0
jmp 0x40c075
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x49e538]
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
lea eax, [edi + 4]
mov dword [ebx + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x40b897
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je case.0x40b754.157
push eax
call dword [0x4bb80c]
add esp, 4
jmp case.0x40b754.157
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x154]
cmp ecx, edx
je 0x40b897
push ecx
call dword [0x4bb80c]
mov eax, dword [ebp - 0xc]
add esp, 4
jmp 0x40b897
mov eax, 0xfffffffa
jmp 0x40b897
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x40b897
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x40b897
mov esi, dword [ebp + 8]
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x90], edx
mov eax, 0xfffffc1a
jmp 0x40b897
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov dword [ebx + 0xb8], esi
mov eax, 0xfffffc1b
jmp 0x40b897
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 0x40b892
cmp ecx, dword [ebx + 0x88]
jbe case.0x40b754.157
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x40b754.157
mov eax, 0xfffffff4
jmp 0x40b897
mov eax, 0xfffffff2
jmp 0x40b897
cmp eax, 0xfffffffe
jne 0x48a51f
mov esi, dword [ebx + 0x7c]
cmp dword [ebx + 0x8c], 0
je case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jb case.0x40b754.157
cmp esi, dword [ebx + 0x88]
jmp 0x48a4e9
mov dword [ebp - 0xc], eax
cmp ecx, edx
jl 0x48a549
jmp 0x48a5af
mov eax, dword [ebp - 8]
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push esi
mov edx, eax
call fcn.004714cf
add esp, 0xc
test eax, eax
js 0x48a576
mov ecx, dword [ebp - 8]
lea ecx, [ecx + eax*2]
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], eax
cmp eax, dword [ebp - 0x18]
jl 0x48a546
jmp 0x48a5a6
cmp eax, 0xfffffffe
jne 0x48a5a3
cmp dword [ebx + 0x8c], 0
je 0x48a5a3
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x88]
jbe 0x48a5a3
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jb case.0x40b754.157
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
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 0x48a5af
xor eax, eax
jmp 0x40b897
cmp ecx, 0xfffffffe
jne 0x48a5f6
mov eax, dword [ebx + 0x7c]
jmp 0x48a5f9
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x40b754.157
cmp eax, dword [ebx + 0x7c]
jb case.0x40b754.157
cmp eax, dword [ebx + 0x88]
jmp 0x48a4e9
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0x24]
je case.0x40b754.157
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48a640
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.0040b6d0
add esp, 0x14
test eax, eax
je 0x48a61a
jmp 0x40b897
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 0x48a765
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x18]
jge case.0x40b754.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x48a6e9
movzx eax, word [ecx]
mov ebx, dword [ebp - 0x20]
and ebx, 0x3ff
and eax, 0x3ff
shl ebx, 0xa
or eax, ebx
mov ebx, dword [ebp + 0x10]
add eax, 0x10000
add ecx, 2
mov dword [ebp - 0x20], eax
mov dword [ebp - 8], ecx
jmp 0x48a6ec
mov eax, dword [ebp - 0x20]
cmp eax, 0xff
jbe 0x48a6fe
cmp esi, 0x6e
je case.0x40b754.157
jmp 0x48a723
shr dword [ebp - 0x20], 3
mov ebx, dword [ebp - 0x20]
mov ecx, eax
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0x40b754.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc edx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x28], edx
push dword [ebp + 8]
mov edx, edi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48a690
jmp 0x40b897
cmp dword [ebx + 0x8c], 0
je case.0x40b754.157
cmp ecx, dword [ebx + 0x88]
jmp 0x48a4e9
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x18]
jge case.0x40b754.157
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40bf75
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x48a7ac
cmp esi, 0x6e
je case.0x40b754.157
jmp 0x48a7cc
shr dword [ebp - 0x14], 3
mov ebx, dword [ebp - 0x14]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
inc edx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x28], edx
push dword [ebp + 8]
mov edx, edi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48a775
jmp 0x40b897
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x28], eax
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx edx, word [esi]
mov ecx, dword [ebp - 0x1c]
add esi, 2
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x48a864
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a864
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
add esi, 2
jmp 0x48a867
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00471823
add esp, 4
test eax, eax
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x28]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48a818
jmp 0x40b897
cmp dword [ebx + 0x8c], 0
je case.0x40b754.157
cmp esi, dword [ebx + 0x88]
jmp 0x48a4e9
cmp dword [ebx + 0x8c], 0
je case.0x40b754.157
cmp edx, dword [ebx + 0x7c]
jb case.0x40b754.157
cmp edx, dword [ebx + 0x88]
jmp 0x48a4e9
cmp dword [ebx + 0x8c], edx
je case.0x40b754.157
cmp ecx, dword [ebx + 0x88]
jmp 0x48a4e9
mov ecx, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x40b754.157
cmp ecx, dword [ebx + 0x7c]
jb case.0x40b754.157
jmp 0x48a4e3
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov edx, dword [ebp - 0x10]
lea ecx, [edx + edx]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x28], eax
jge case.0x40b754.157
mov eax, dword [ebx + 0x7c]
sub eax, ecx
cmp esi, eax
ja 0x48a973
lea eax, [edx + edx]
push eax
push dword [ebp - 0x2c]
push esi
call fcn.0041f733
add esp, 0xc
test eax, eax
jne 0x48a973
add esi, dword [ebp - 0xc]
jmp 0x48a9ad
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jle 0x48a51f
mov eax, dword [ebx + 0x7c]
lea edx, [ecx + ecx]
sub eax, edx
mov dword [ebp - 0x14], edx
cmp esi, eax
ja 0x48a51f
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.0041f733
add esp, 0xc
test eax, eax
jne 0x48a51f
add esi, dword [ebp - 0x14]
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x28]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.0040b6d0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
add esp, 0x14
test eax, eax
je 0x48a945
jmp 0x40b897
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x18]
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx ecx, word [esi]
cmp dword [ebp - 0x24], ecx
je 0x48aa2a
cmp dword [ebp - 0x10], ecx
jne case.0x40b754.157
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
add esi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48aa04
jmp 0x40b897
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.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x18]
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x24], eax
jne case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x28], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48aa78
jmp 0x40b897
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test esi, esi
mov esi, dword [ebp - 8]
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
je 0x48ab71
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48ab37
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
cmp dword [ebp - 0x18], edx
je case.0x40b754.157
cmp dword [ebp - 0x20], edx
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48aaf2
jmp 0x40b897
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x10]
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx ecx, word [esi]
cmp dword [ebp - 0x18], ecx
je case.0x40b754.157
cmp dword [ebp - 0x20], ecx
je case.0x40b754.157
inc eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
add esi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48ab81
jmp 0x40b897
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
test esi, esi
mov esi, dword [ebp - 8]
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
mov ecx, esi
je 0x48ac7a
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48ac49
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
cmp dword [ebp - 0x18], edx
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48ac04
jmp 0x40b897
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x18], eax
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x24], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48ac8a
jmp 0x40b897
cmp edx, 0xa
ja case.default.0x48565a
jmp dword [edx*4 + 0x48c4d4]
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x40b754.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48ad43
and edx, 0xfc00
cmp edx, 0xd800
jne 0x48ad43
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x3c], 0
jne case.0x40b754.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48ad08
jmp 0x40b897
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40b754.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48aded
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48aded
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and edx, 0x8000007f
jns 0x48ae12
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp eax, 9
je 0x48ae37
cmp eax, 5
je 0x48ae37
cmp eax, 8
je 0x48ae37
xor eax, eax
jmp 0x48ae3c
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48ad93
jmp 0x40b897
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48aedb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48aedb
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 + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x48aefd
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp dword [eax*4 + 0x4b6190], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48ae90
jmp 0x40b897
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48afc1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48afc1
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 + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x48afe3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48af76
jmp 0x40b897
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48b0a0
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b0a0
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 + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x48b0c2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e0]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48b055
jmp 0x40b897
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40b754.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48b18c
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b18c
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and edx, 0x8000007f
jns 0x48b1b1
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x48b1d8
cmp eax, 3
je 0x48b1d8
xor eax, eax
jmp 0x48b1dd
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48b132
jmp 0x40b897
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48b27f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b27c
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, dword [ebp - 0x10]
cmp ecx, 0x180e
ja 0x48b2cc
je 0x48b351
cmp ecx, 0x85
ja 0x48b2b3
je 0x48b351
cmp ecx, 9
jb case.0x48b2e8.8203
cmp ecx, 0xd
jbe 0x48b351
cmp ecx, 0x20
jne case.0x48b2e8.8203
jmp 0x48b351
cmp ecx, 0xa0
je 0x48b351
cmp ecx, 0x1680
jne case.0x48b2e8.8203
jmp 0x48b351
cmp ecx, 0x202f
ja 0x48b2ef
je 0x48b351
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x48b2e8.8203
movzx eax, byte [eax + 0x48c508]
jmp dword [eax*4 + 0x48c500]
cmp ecx, 0x205f
je 0x48b351
cmp ecx, 0x3000
je 0x48b351
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x48b321
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
cmp dword [eax*4 + 0x4b6190], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp - 0x10]
jmp 0x48b35b
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x3c], 0
jne case.0x40b754.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48b231
jmp 0x40b897
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x40b754.157
cmp esi, dword [ebx + 0x7c]
jae 0x48a8a8
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], ecx
je 0x48b3fc
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b3fc
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 + 0x4ac478]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48b422
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49e5e0]
movzx eax, byte [eax*8 + 0x4ab0e1]
mov eax, dword [eax*4 + 0x4b6190]
cmp eax, 1
je 0x48b44e
cmp eax, 3
je 0x48b44e
cmp edx, 0x5f
je 0x48b44e
xor eax, eax
jmp 0x48b453
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc dword [ebp - 0x10]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48b3ab
jmp 0x40b897
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x40b754.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48b500
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b4fd
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x44]
lea esi, [esi*4 + 0x4ae678]
mov dword [ebp - 0x2c], esi
mov esi, dword [esi]
mov dword [ebp - 0xc], esi
cmp edx, esi
mov esi, dword [ebp + 8]
jb 0x48b534
add dword [ebp - 0x2c], 4
mov ebx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0xc]
je 0x48b566
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov dword [ebp - 0xc], ecx
cmp edx, ecx
mov ecx, dword [ebp - 8]
jae 0x48b519
cmp dword [ebp - 0x3c], 0
je case.0x40b754.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48b4a9
jmp 0x40b897
cmp dword [ebp - 0x3c], 0
jne case.0x40b754.157
jmp 0x48b53e
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x40b754.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48a74d
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48b5eb
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b5e8
movzx eax, word [ecx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ecx, 2
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x10]
cmp edx, 0x24
je 0x48b616
cmp edx, 0x40
je 0x48b616
cmp edx, 0x60
je 0x48b616
cmp edx, 0xa0
jb 0x48b60a
cmp edx, 0xd7ff
jbe 0x48b616
cmp edx, 0xe000
jae 0x48b616
xor edx, edx
jmp 0x48b61b
mov edx, 1
cmp edx, dword [ebp - 0x3c]
je case.0x40b754.157
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
push esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48b594
jmp 0x40b897
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x40b754.157
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], eax
cmp esi, eax
jae 0x48a8a8
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
je 0x48b6c4
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b6c4
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 + 0x4ac478]
shl eax, 7
and edx, 0x8000007f
jns 0x48b6e9
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49e5e0]
movzx edx, byte [eax*8 + 0x4ab0e2]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x48b7b0
mov ebx, dword [ebp - 0x1c]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x48b74b
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b74b
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 + 0x4ac478]
shl eax, 7
and ecx, 0x8000007f
jns 0x48b76d
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e5e0]
movzx ecx, byte [eax*8 + 0x4ab0e2]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x49e504], eax
je 0x48b7a4
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp esi, eax
jb 0x48b70e
jmp 0x48b7a7
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x10]
cmp dword [ebx + 0x8c], 0
je 0x48b7d9
cmp esi, eax
jb 0x48b7d9
cmp esi, dword [ebx + 0x88]
jbe 0x48b7d9
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48b66e
jmp 0x40b897
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x40bf07
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x40bf07
cmp dword [ebx + 0x1c], 1
je case.0x40b754.157
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x40b754.157
jmp 0x40bf07
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
jmp 0x40bf1f
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x48565a
jmp dword [eax*4 + 0x48c534]
cmp edx, 0xd
ja 0x48b8ab
je 0x48b890
cmp edx, 0xa
je case.0x48b86b.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x40b754.157
jmp 0x48b8c2
cmp esi, dword [ebx + 0x7c]
jae case.0x48b86b.13
cmp word [esi], 0xa
jne case.0x48b86b.13
add esi, 2
jmp case.0x48b86b.13
cmp edx, 0x85
je 0x48b8c2
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x40b754.157
cmp dword [ebx + 0x6c], 0
jne case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x180e
ja 0x48b915
je case.0x40b754.157
cmp edx, 0xa0
ja 0x48b904
je case.0x40b754.157
cmp edx, 9
je case.0x40b754.157
cmp edx, 0x20
je case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x1680
je case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x205f
ja 0x48b94c
je case.0x40b754.157
cmp edx, 0x2000
jb case.0x48b86b.13
cmp edx, 0x200a
jbe case.0x40b754.157
cmp edx, 0x202f
je case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x3000
je case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x180e
ja 0x48b9a1
je case.0x48b86b.13
cmp edx, 0xa0
ja 0x48b990
je case.0x48b86b.13
cmp edx, 9
je case.0x48b86b.13
cmp edx, 0x20
jne case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x1680
jne case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x205f
ja 0x48b9d8
je case.0x48b86b.13
cmp edx, 0x2000
jb case.0x40b754.157
cmp edx, 0x200a
jbe case.0x48b86b.13
cmp edx, 0x202f
jne case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x3000
jne case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x85
ja 0x48ba0e
je case.0x40b754.157
cmp edx, 0xa
jb case.0x48b86b.13
cmp edx, 0xd
jbe case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x2028
jb case.0x48b86b.13
cmp edx, 0x2029
jbe case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x85
ja 0x48ba4a
je case.0x48b86b.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x40b754.157
jmp case.0x48b86b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x100
jae case.0x48b86b.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x100
jae case.0x40b754.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x100
jae case.0x48b86b.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x100
jae case.0x40b754.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x100
jae case.0x48b86b.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x40b754.157
jmp case.0x48b86b.13
cmp edx, 0x100
jae case.0x40b754.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x40b754.157
jmp case.0x48b86b.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48b86b.13
cmp dword [ebx + 0x18], 0
jne case.0x48b86b.13
cmp dword [ebx + 0x1c], 2
jne case.0x48b86b.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48b86b.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
jmp case.0x48b86b.13
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x40b754.157
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48a8a8
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x48bbe8
cmp dword [ebx + 0x18], 0
je 0x48bbb9
push 0
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.0040a22c
add esp, 0xc
test eax, eax
jne case.0x40b754.157
mov ecx, dword [ebp - 0x10]
jmp 0x48bbe5
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x48bbe5
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48bbe5
cmp dword [ebx + 0x1c], 1
je case.0x40b754.157
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x40b754.157
mov eax, dword [ebp - 0x28]
movzx edx, word [esi]
add eax, 0xfffffffa
add esi, 2
cmp eax, 0xf
ja case.default.0x48565a
jmp dword [eax*4 + 0x48c574]
cmp dword [ebx + 0x8c], 0
je case.0x48bbfa.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48bbfa.13
cmp dword [ebx + 0x18], 0
jne case.0x48bbfa.13
cmp dword [ebx + 0x1c], 2
jne case.0x48bbfa.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48bbfa.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x484b23
jmp case.0x48bbfa.13
cmp edx, 0xd
ja 0x48bc89
je 0x48bc6e
cmp edx, 0xa
je case.0x48bbfa.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x40b754.157
jmp 0x48bca0
cmp esi, dword [ebx + 0x7c]
jae case.0x48bbfa.13
cmp word [esi], 0xa
jne case.0x48bbfa.13
add esi, 2
jmp case.0x48bbfa.13
cmp edx, 0x85
je 0x48bca0
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x40b754.157
cmp dword [ebx + 0x6c], 0
jne case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x180e
ja 0x48bcf3
je case.0x40b754.157
cmp edx, 0xa0
ja 0x48bce2
je case.0x40b754.157
cmp edx, 9
je case.0x40b754.157
cmp edx, 0x20
je case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x1680
je case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x205f
ja 0x48bd2a
je case.0x40b754.157
cmp edx, 0x2000
jb case.0x48bbfa.13
cmp edx, 0x200a
jbe case.0x40b754.157
cmp edx, 0x202f
je case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x3000
je case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x180e
ja 0x48bd7f
je case.0x48bbfa.13
cmp edx, 0xa0
ja 0x48bd6e
je case.0x48bbfa.13
cmp edx, 9
je case.0x48bbfa.13
cmp edx, 0x20
jne case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x1680
jne case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x205f
ja 0x48bdb6
je case.0x48bbfa.13
cmp edx, 0x2000
jb case.0x40b754.157
cmp edx, 0x200a
jbe case.0x48bbfa.13
cmp edx, 0x202f
jne case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x3000
jne case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x85
ja 0x48bdec
je case.0x40b754.157
cmp edx, 0xa
jb case.0x48bbfa.13
cmp edx, 0xd
jbe case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x2028
jb case.0x48bbfa.13
cmp edx, 0x2029
jbe case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0x85
ja 0x48be28
je case.0x48bbfa.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x40b754.157
jmp case.0x48bbfa.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0xff
ja case.0x48bbfa.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0xff
ja case.0x40b754.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0xff
ja case.0x48bbfa.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0xff
ja case.0x40b754.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0xff
ja case.0x48bbfa.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x40b754.157
jmp case.0x48bbfa.13
cmp edx, 0xff
ja case.0x40b754.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x40b754.157
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
je 0x48bb73
jmp 0x40b897
mov dword [ebx + 0x9c], 2
jmp 0x40bdac
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x40bdf5
cmp word [edi], 0x77
je 0x48bf32
cmp word [eax], 0x77
jne 0x40bdf5
xor edx, edx
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x77
je 0x40bda0
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
mov dword [eax + esi*4], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0x44]
mov dword [eax + esi*4 + 4], ecx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [ebp - 0xc]
mov eax, dword [ebx + 0xc]
mov esi, dword [ebp - 0x28]
mov dword [eax + ecx*4], esi
jmp 0x40bdf5
cmp edx, 0xfffffc1b
jne 0x48bfc0
movzx eax, word [edi]
mov ecx, 0x81
cmp ax, cx
je 0x48bfb2
cmp eax, 0x77
jne 0x48bfa9
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48bf9b
movzx eax, word [edi + 2]
neg eax
lea edi, [edi + eax*2]
mov eax, dword [ebx + 0xb8]
sub eax, edi
neg eax
sbb eax, eax
and edx, eax
mov eax, edx
jmp 0x40b897
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 + 0x49e538]
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.0040b6d0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x48c017
cmp edi, 0xfffffc19
jne 0x48c030
cmp dword [ebx + 0xb0], 0
jne 0x48c030
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0xb0], ecx
mov eax, edi
jmp 0x40b897
cmp edi, 0xfffffc1f
jne 0x48c04e
mov edx, dword [ebx + 0x80]
mov ecx, dword [ebp - 0xc]
call fcn.00471705
test eax, eax
je 0x48c161
mov eax, edi
jmp 0x40b897
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 + 0x49e538]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, 0xfffffc1c
jmp 0x40b897
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 + 0x49e538]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov eax, 0xfffffc1d
jmp 0x40b897
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 + 0x49e538]
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.0040b6d0
add esp, 0x14
cmp eax, 1
je 0x48c10f
cmp eax, 0xfffffc19
jne 0x48c11e
cmp dword [ebx + 0xb0], 0
jne 0x48c11e
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0x40b897
mov eax, 0xfffffc1d
jmp 0x40b897
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 + 0x49e538]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
mov ecx, esi
call fcn.0040b6d0
add esp, 0x14
test eax, eax
jne 0x40b897
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1e
jmp 0x40b897
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 + 0x49e538]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040b6d0
add esp, 0x14
jmp 0x48c1a0
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0x40b897
mov dword [ebx + 0x80], edi
mov eax, 0xfffffc20
jmp 0x40b897
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 + 0x49e538]
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.0040b6d0
add esp, 0x14
cmp eax, 1
je 0x48c200
cmp eax, 0xfffffc19
jne 0x48c1a0
cmp dword [ebx + 0xb0], 0
jne 0x48c1a0
jmp 0x48c19a
cmp esi, 0x9f
je 0x40b875
cmp dword [ebx + 0xa8], 0
jne 0x40b875
cmp dword [ebx + 0x60], 0
jne case.0x40b754.157
cmp dword [ebx + 0x64], 0
je 0x40b875
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp edi, eax
je case.0x40b754.157
jmp 0x40b875
mov eax, 0xfffffc19
jmp 0x40b897
mov eax, 0xfffffffb
jmp 0x40b897
mov eax, 0xffffffeb
jmp 0x40b897
inc dword [ebx]
mov eax, 0xfffffff8
jmp 0x40b897