Function at 0x408ad0
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 0x484cba
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 0x48d280
inc eax
mov dword [ebx], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebx + 8]
jae 0x48d276
cmp dword [ebx + 0x9c], 2
je 0x484ceb
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.0x408b54.98
movzx eax, byte [esi + 0x4096bc]
jmp dword [eax*4 + 0x409570]
cmp esi, 0x88
jae 0x48b33f
cmp esi, 0x81
je 0x48b33f
cmp dword [ebx + 0x70], 0
jne 0x409496
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
je 0x409496
movzx eax, word [edi]
movzx eax, byte [eax + 0x49f558]
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 0x408b10
jmp 0x48d280
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 0x485912
mov ecx, 0x81
cmp ax, cx
je 0x485912
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp eax, 0x7d
jb 0x408bfb
mov edx, 0x80
cmp ax, dx
jbe 0x48b4d4
mov edx, 0x82
cmp ax, dx
je 0x48b4d4
mov edx, 0x85
cmp ax, dx
je 0x40901a
mov edx, 0x8a
cmp ax, dx
je 0x40901a
mov edx, 0x86
cmp ax, dx
je 0x40901a
mov edx, 0x8b
cmp ax, dx
je 0x40901a
mov edx, dword [ebp + 0xc]
cmp word [edi], 0x78
jne 0x485988
mov eax, 0x81
cmp word [esi], ax
je 0x48b4a1
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x408b30
mov edx, dword [ebp - 8]
mov edi, dword [ebp + 8]
cmp edx, edi
je 0x48d21c
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x84], edx
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x80], edi
test esi, esi
jne 0x48d262
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 0x4093ee
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 0x486b6b
cmp eax, 1
jl 0x40944c
mov ecx, dword [ebx + 0x7c]
lea esp, [esp]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x4093d4
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 0x486b35
cmp ecx, 0xff
ja 0x486b5d
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 0x408e51
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 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x408d7e
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x48686f
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x408da0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac102]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
cmp eax, esi
jae 0x408e39
mov edi, dword [ebp - 0x1c]
mov ebx, eax
movzx ecx, word [ebx]
mov esi, 1
test edi, edi
je 0x408ddf
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x486894
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x408e01
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x2c]
add eax, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx ecx, byte [eax*8 + 0x4ac102]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49f524], eax
jne 0x408f1d
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 0x4868b8
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x408b30
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x7c]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x28]
jle 0x408cf0
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 0x408b30
test edx, edx
jne 0x48b675
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
test ecx, ecx
je 0x486c47
cmp edx, dword [ebp - 0x18]
jge 0x408ee8
mov dword [ebp - 0x2c], 1
cmp eax, dword [ebx + 0x7c]
jae 0x486c15
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x20], ecx
cmp eax, 0xd800
je 0x486bdb
cmp ecx, 0xff
ja 0x486c07
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 0x409519
cmp dword [ebp - 0x30], 0
jne 0x408b30
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
jmp 0x48b62b
lea ebx, [ebx + esi*2]
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
cmp ebx, esi
jb 0x408dc1
jmp 0x408e2d
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
cmp dword [ebp - 0x1c], edx
je 0x487061
movzx esi, word [edi + 2]
add edi, 2
mov eax, esi
and eax, 0xfc00
mov edx, 1
cmp eax, 0xd800
je 0x486fb1
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp esi, 0x80
jae 0x486fd5
cmp ecx, 0xff
ja 0x408f87
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.0x408b54.157
add edi, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x34], edi
jmp 0x408b30
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, edx
jae 0x4093d4
movzx ecx, word [eax]
add eax, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], eax
je 0x408fd7
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
mov eax, dword [ebp - 8]
je 0x4862f6
cmp ecx, 0xe
jb 0x408fe8
cmp ecx, 0x85
jb case.0x408b54.157
cmp ecx, 0xd
ja 0x486367
jne 0x48631b
cmp eax, edx
jae 0x486335
cmp word [eax], 0xa
jne 0x408e46
add eax, 2
add edi, 2
mov dword [ebp - 8], eax
mov dword [ebp - 0x34], edi
jmp 0x408b30
movzx edx, word [esi + 4]
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x485922
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 0x485947
mov ecx, dword [ebp + 0xc]
cmp dword [ebp - 0x40], ecx
jg 0x485957
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 0x408c44
lea edx, [eax + 2]
mov dword [ebp + 0xc], edx
jmp 0x408c44
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4090cb
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x48663a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x2c]
sar eax, 7
movzx ecx, byte [eax + 0x4ad498]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x4090f1
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [edi + 2]
movzx ecx, word [ecx*2 + 0x49f600]
cmp eax, 9
jne 0x486662
movzx eax, word [edi + 4]
mov ecx, dword [eax*4 + 0x4af698]
lea eax, [eax*4 + 0x4af698]
cmp edx, ecx
jb 0x486861
lea eax, [eax + 4]
cmp edx, ecx
je 0x409134
mov ecx, dword [eax]
cmp edx, ecx
jae 0x409122
jmp 0x486861
cmp esi, 0x10
jne case.0x408b54.157
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x408b30
cmp dword [ebp - 0x1c], edx
je 0x486f82
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 0x40955e
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp esi, eax
jg 0x48b8d1
test esi, esi
jle 0x408b30
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.0x408b54.157
test esi, esi
jle 0x408b30
jmp 0x409190
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.0x408b54.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 0x48cf11
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 + 0x49f558]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408ad0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc1b
je 0x48cf68
cmp edx, 0xfffffc20
je 0x48cf20
test edx, edx
je 0x48cf45
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 0x409568
mov edx, 1
movsx ecx, byte [eax + 0x49f474]
movsx eax, byte [eax + 0x49f518]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x4092a3
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 0x487f15
cmp eax, 0xf
je 0x487f0c
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x487f31
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 0x408b30
test edx, edx
mov edx, dword [ebp - 0x2c]
je 0x48976d
test edx, edx
jns 0x48bce7
cmp dword [ebp - 0x28], 0x16
mov edx, edi
je 0x48c65d
test eax, eax
mov eax, dword [ebp + 0x18]
je 0x48cb65
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov esi, dword [ebp - 8]
lea ecx, [ecx]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x408b54.157
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48b8b9
cmp dword [ebp - 0x28], 0xc
jne 0x409377
cmp dword [ebx + 0x18], 0
je 0x48c816
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.00407565
add esp, 0xc
test eax, eax
jne case.0x408b54.157
mov ecx, dword [ebp - 0x10]
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
je 0x48c84f
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x48c870
cmp dword [ebx + 0x8c], 0
jne 0x48cb23
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
jmp 0x409330
cmp dword [ebx + 0x8c], 0
je case.0x408b54.157
jmp 0x48b620
cmp dword [ebx + 0x8c], edx
jmp 0x4093db
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x409401
movzx eax, byte [eax + 0x409768]
jmp dword [eax*4 + 0x409760]
mov ecx, dword [ebp - 0xc]
add ecx, 0xffffff9e
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jb 0x40950d
mov dword [ebp - 0x30], 1
movsx eax, byte [ecx + 0x49f474]
movsx ecx, byte [ecx + 0x49f518]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x408ccb
mov dword [ebp - 0x18], SysAllocStringLen
jmp 0x408ccb
mov eax, dword [ebp - 8]
jmp 0x408e6a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je case.0x408b54.119
mov dword [ebp - 0x34], edi
jmp 0x408b30
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
jmp 0x485600
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 + 0x49f558]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408ad0
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x48b34e
test edx, edx
jne 0x48cf92
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.0x408b54.157
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
jmp case.0x408b54.129
test cl, 1
jne 0x409554
xor edx, edx
jmp 0x409424
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 0x408ee8
jmp 0x408e94
mov dword [ebp - 0x20], edx
jmp 0x485694
add edi, 2
jmp 0x485659
mov eax, dword [ebp - 8]
jmp 0x485a20
mov esi, dword [ebp - 0x1c]
jmp 0x486035
mov edx, 1
jmp 0x409424
mov esi, 2
jmp 0x409176
xor edx, edx
jmp 0x409281
cmp dword [ebp + 0x18], 0
lea ecx, [ebp + 0x18]
jne 0x484cdc
push 1
push 0
push 0
push 0
push 0
xor edx, edx
call fcn.00408ad0
add esp, 0x14
jmp 0x408c97
sub ecx, eax
test ecx, ecx
jle 0x484ce4
neg ecx
mov eax, ecx
jmp 0x408c97
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 0x408b30
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0x28]
cmp eax, dword [ebx + 0x2c]
ja 0x48b37a
movzx eax, word [edi]
movzx ecx, byte [eax + 0x49f558]
movzx eax, word [edi + 2]
add ecx, eax
lea edi, [edi + ecx*2]
mov dword [ebp - 0x34], edi
jmp 0x408b30
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.00408ad0
add esp, 0x14
cmp eax, 1
je 0x484dba
cmp eax, 0xfffffc20
jne 0x484d97
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x408c97
cmp word [edi], 0x77
je 0x484d9f
cmp word [ecx], 0x77
jne 0x408c97
jmp 0x484d9f
test eax, eax
jne 0x408c97
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 0x484d4b
mov ecx, dword [ebp + 8]
jmp 0x484dc3
mov ecx, dword [ebx + 0x80]
mov dword [ebp + 8], ecx
movzx eax, word [edi]
mov edx, 0x82
cmp ax, dx
je 0x484dd9
cmp eax, 0x77
jne case.0x408b54.157
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x484dd9
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 0x4877a1
cmp eax, dword [ebp - 0x14]
jne 0x48b16c
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x408b30
movzx ecx, word [edi + 2]
add edi, 4
mov dword [ebp - 0x28], ecx
cmp word [edi], 0x76
jne 0x484efa
cmp dword [0x4c430c], edx
je 0x484ef1
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 0x484ebe
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 [0x4c430c]
add esp, 4
test eax, eax
jg case.0x408b54.157
js 0x408c97
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.0x484f13
jmp dword [eax*4 + 0x48d28e]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x4850ba
movzx eax, word [edi + 2]
cmp eax, 0xffff
je 0x484fb9
cmp eax, dword [ecx + 4]
je 0x484fb9
xor edx, edx
jmp 0x4850ba
mov eax, dword [ebx + 0xa8]
test eax, eax
je case.0x484f13.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 0x4850ba
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 0x484fb9
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 0x484f81
jmp 0x4850ba
movzx edx, word [edi + 2]
add edx, edx
mov dword [ebp - 0x40], edx
cmp edx, dword [ebp + 0xc]
jge 0x484fcd
mov eax, dword [ebx + 0xc]
cmp dword [eax + edx*4], 0
jl 0x484fcd
mov eax, dword [ebp - 0x14]
mov edx, 1
movzx ecx, byte [eax + 0x49f558]
jmp case.0x484f13.145
xor edx, edx
jmp case.0x484f13.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 0x4850ba
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 0x48501a
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x40]
cmp dword [eax + ebx*4], edx
mov ebx, dword [ebp + 0x10]
jge 0x484fb9
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 0x484ff8
jmp 0x4850ba
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.00408ad0
add esp, 0x14
cmp eax, 1
jne 0x4850a8
mov eax, dword [ebx + 0x90]
cmp eax, dword [ebp + 0xc]
jle 0x485067
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 0x485088
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48507a
mov eax, dword [ebp - 0x14]
mov ecx, 2
movzx eax, byte [eax + 0x49f558]
sub ecx, eax
mov eax, dword [ebp - 0x14]
lea edi, [edi + ecx*2]
movzx ecx, byte [eax + 0x49f558]
jmp case.0x484f13.145
test eax, eax
je 0x4850b7
cmp eax, 0xfffffc20
jne 0x408c97
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
lea edi, [edi + ecx*2]
mov dword [ebp - 0x34], edi
test edx, edx
jne 0x4850d2
cmp word [edi - 4], 0x77
jne 0x408b30
cmp esi, 0x8c
jne 0x408ba1
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.00408ad0
add esp, 0x14
jmp 0x408c97
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 0x485141
or eax, 0x10000
add edi, 4
mov dword [ebx + 0x94], eax
mov dword [ebp - 0x34], edi
jmp 0x408b30
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 0x485169
lea eax, [esi + 2]
mov dword [ebp + 0xc], eax
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x408b30
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x485193
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x485195
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.00408ad0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x48520e
cmp ecx, 0xfffffc19
je 0x48520e
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x4851f6
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x484ce4
cmp word [edi], 0x77
je 0x4851fe
cmp word [eax], 0x77
jne 0x484ce4
jmp 0x4851fe
test ecx, ecx
jne 0x484ce4
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x485195
jmp 0x485217
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
cmp word [edi], 0x78
je case.0x408b54.157
test esi, esi
jne 0x408c92
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x485229
mov eax, dword [ebx + 0x90]
add edi, 4
mov dword [ebp - 0x34], edi
mov dword [ebp + 0xc], eax
jmp 0x408b30
cmp dword [ebx + 0x9c], 1
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xc], eax
jne 0x48526a
mov esi, 1
mov dword [ebx + 0x9c], edx
jmp 0x48526c
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.00408ad0
mov ecx, eax
mov eax, dword [ebp - 0xc]
add esp, 0x14
mov dword [ebx + 0xb0], eax
cmp ecx, 0xfffffc20
jg 0x4852c8
jne 0x4852dd
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x4852f8
cmp word [edi], 0x77
je 0x4852b8
cmp word [eax], 0x77
jne 0x4852f8
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48526c
jmp 0x485306
mov eax, ecx
sub eax, 0
je 0x4852b8
dec eax
je case.0x408b54.157
mov eax, ecx
jmp 0x408c97
cmp ecx, 0xfffffc19
je case.0x408b54.157
lea eax, [ecx + 0x3e4]
cmp eax, 3
ja 0x484ce4
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x4852f8
test esi, esi
jne 0x408c92
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x408b30
cmp dword [ebp - 0x1c], edx
je 0x48535d
movzx ecx, word [edi + 2]
test ecx, ecx
jle 0x485377
mov eax, dword [ebp - 8]
sub eax, 2
dec ecx
mov dword [ebp - 8], eax
cmp eax, dword [ebx + 0x78]
jb case.0x408b54.157
mov ax, word [eax]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x485357
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x485326
jmp 0x48537a
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.0x408b54.157
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x88]
jae 0x485388
mov dword [ebx + 0x88], eax
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x408b30
cmp dword [0x4c430c], edx
je 0x485462
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 0x48542c
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 [0x4c430c]
add esp, 4
test eax, eax
jg case.0x408b54.157
js 0x408c97
add edi, 8
mov dword [ebp - 0x34], edi
jmp 0x408b30
movzx eax, word [edi + 2]
mov ecx, dword [ebx + 0x74]
lea esi, [ecx + eax*2]
cmp esi, ecx
jne 0x48547f
xor edx, edx
jmp 0x485483
movzx edx, word [esi + 4]
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
je 0x4854aa
mov eax, dword [ebp - 8]
cmp edx, dword [ecx + 4]
jne 0x4854a4
cmp eax, dword [ecx + 0x14]
jne 0x4854a4
mov eax, 0xffffffe6
jmp 0x408c97
mov ecx, dword [ecx]
test ecx, ecx
jne 0x485490
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 0x4854ea
lea eax, [ebp - 0x154]
mov dword [ebp - 0x54], eax
jmp 0x485509
lea eax, [ecx*4]
push eax
call dword [0x4bcddc]
add esp, 4
mov dword [ebp - 0x54], eax
test eax, eax
je 0x48b40e
mov ecx, dword [ebp - 0x50]
shl ecx, 2
push ecx
push dword [ebx + 0xc]
push eax
call fcn.004208c0
mov eax, 0x88
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x485535
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 + 0x49f558]
push dword [ebp + 0xc]
lea edx, [esi + eax*2]
push dword [ebp + 8]
call fcn.00408ad0
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.004208c0
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 0x4855d2
cmp eax, 0xfffffc19
je 0x4855d2
cmp eax, 0xfffffc1c
jl 0x4855a7
cmp eax, 0xfffffc20
jle case.0x408b54.157
test eax, eax
jne 0x48b3eb
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 0x48b3c2
mov eax, dword [ebp - 0x2c]
jmp 0x485527
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je 0x4855e9
push eax
call dword [0x4bc80c]
add esp, 4
mov eax, dword [ebx + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x80]
mov dword [ebp + 8], eax
jmp 0x408b30
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x485600
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x408b30
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 0x485621
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.00408ad0
add esp, 0x14
test eax, eax
je 0x408b30
jmp 0x408c97
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x485659
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x408b30
movzx esi, word [edi + 2]
add edi, 2
mov dword [ebp - 0x20], 1
cmp esi, 0x86
je 0x485694
cmp esi, 0x8b
jne 0x485818
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.0x408b54.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 0x48570a
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 + 0x49f558]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408ad0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x485775
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 0x4856e4
cmp ecx, 0xfffffc20
jne 0x4857a2
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x484ce4
cmp word [edi], 0x77
je 0x4857aa
cmp word [eax], 0x77
jne 0x484ce4
jmp 0x4857aa
test ecx, ecx
jne 0x484ce4
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 0x4856e4
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x4857f4
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 0x4877a1
test eax, eax
je case.0x408b54.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x408b30
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 0x485844
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 + 0x49f558]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408ad0
mov ecx, eax
add esp, 0x14
cmp ecx, 0xfffffc1a
jne 0x4858a2
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 0x485832
cmp ecx, 0xfffffc20
jne 0x4858cf
movzx eax, word [edi + 2]
lea eax, [edi + eax*2]
cmp dword [ebx + 0x80], eax
jae 0x484ce4
cmp word [edi], 0x77
je 0x4858d7
cmp word [eax], 0x77
jne 0x484ce4
jmp 0x4858d7
test ecx, ecx
jne 0x484ce4
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
jne 0x4858f3
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x94], eax
jmp 0x485832
cmp dword [ebp - 0x2c], 0
jne 0x4877a1
cmp dword [ebp - 0x20], 0
je case.0x408b54.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x408b30
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov dword [ebp + 0x14], edx
jmp 0x408be5
cmp dword [eax + 4], edx
jne 0x409032
mov eax, dword [ebp - 8]
mov dword [ebx + 0x84], eax
mov eax, dword [ebp + 8]
mov dword [ebx + 0x80], eax
mov eax, 1
jmp 0x408c97
or eax, 0x10000
mov dword [ebx + 0x94], eax
jmp 0x408c41
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 0x409060
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 0x409060
mov eax, dword [ebp - 8]
cmp eax, ecx
je 0x408c4e
movzx ecx, word [edi]
cmp ecx, 0x7b
je 0x48b482
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 0x48b1b6
mov esi, dword [ebp - 8]
lea edx, [edi + 4]
mov ecx, esi
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov edi, dword [ebp - 0x20]
mov ecx, 0x81
movzx eax, word [edi]
cmp ax, cx
je 0x48b418
mov ecx, 0x88
cmp ax, cx
jb 0x408b9e
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.00408ad0
add esp, 0x14
jmp 0x408c97
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x485a20
cmp eax, dword [ebx + 0x78]
je case.0x408b54.157
cmp eax, dword [ebx + 0x78]
jne case.0x408b54.157
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x408b30
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x48], edx
je 0x485a45
cmp eax, dword [ebx + 0x78]
je case.0x408b54.157
mov ecx, dword [ebx + 0x78]
cmp eax, ecx
je 0x408e46
cmp eax, dword [ebx + 0x7c]
je case.0x408b54.157
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x485a88
cmp eax, ecx
jbe case.0x408b54.157
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00472149
add esp, 0xc
test eax, eax
je case.0x408b54.157
jmp 0x408e46
mov esi, dword [ebx + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp dword [ebp - 8], eax
jb case.0x408b54.157
mov ecx, dword [ebp - 8]
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne case.0x408b54.157
cmp esi, 1
je 0x408e46
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
jne case.0x408b54.157
jmp 0x408e46
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp dword [ebp - 8], eax
jne case.0x408b54.157
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x408b30
mov eax, dword [ebp - 8]
add edi, 2
mov dword [ebp + 8], eax
mov dword [ebp - 0x34], edi
jmp 0x408b30
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x485bbe
mov edx, dword [ebx + 0x18]
test edx, edx
je 0x485b87
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00407565
add esp, 0xc
test eax, eax
jne 0x408e46
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x408b54.157
add eax, 2
cmp eax, dword [ebx + 0x7c]
jb case.0x408b54.157
cmp dword [ebx + 0x18], 0
jne case.0x408b54.157
cmp dword [ebx + 0x1c], 2
jne case.0x408b54.157
mov eax, dword [ebp - 8]
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne case.0x408b54.157
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x408b54.157
mov eax, 0xfffffff4
jmp 0x408c97
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x485b2c
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x485b29
cmp edx, 1
je 0x408e46
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x485b29
jmp 0x408e46
cmp dword [ebx + 0x4c], edx
jne case.0x408b54.157
cmp dword [ebx + 0x8c], edx
jmp 0x485bd6
cmp dword [ebx + 0x8c], 0
je 0x408e46
cmp eax, dword [ebx + 0x88]
jbe 0x408e46
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x408b30
cmp dword [ebx + 0x4c], edx
jne case.0x408b54.157
cmp dword [ebx + 0x5c], edx
je case.0x408b54.23
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jb case.0x408b54.157
cmp dword [ebx + 0x8c], edx
jmp 0x485bd6
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x485bcf
mov edx, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
test edx, edx
je 0x485c51
push dword [ebp - 0x1c]
push esi
push ecx
mov ecx, eax
call fcn.00407565
add esp, 0xc
test eax, eax
jne 0x485c86
jmp 0x485b29
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x485b2c
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x485b29
cmp edx, 1
je 0x485c86
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
jne 0x485b29
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 0x485b2c
jmp 0x485bcf
mov eax, dword [ebp - 8]
cmp dword [ebp - 0x1c], edx
je 0x485e51
cmp eax, dword [ebx + 0x78]
je 0x485d89
lea edx, [eax - 2]
mov ecx, 0xfc00
mov ax, word [edx]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x485cd0
sub edx, 2
cmp edx, dword [ebx + 0x88]
jae 0x485cde
mov dword [ebx + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485d09
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 0x485d6b
cmp ecx, 0x5f
jne 0x485d1c
mov eax, dword [ebp - 8]
lea esi, [ecx - 0x5e]
jmp 0x485d8b
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x485d3e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x485d61
cmp eax, 3
jne 0x485d86
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485d8b
cmp ecx, 0x100
jae 0x485d86
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x485d86
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485d8b
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x485df3
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x485dbe
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 0x485e3a
cmp ecx, 0x5f
je 0x485f7a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
js 0x485f26
jmp 0x485f2b
cmp dword [ebx + 0x8c], 0
je 0x485e18
cmp eax, dword [ebx + 0x88]
jbe 0x485e18
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
xor ecx, ecx
mov ax, word [edi]
add edi, 2
mov dword [ebp - 0x34], edi
cmp ax, 5
jne 0x485f84
cmp ecx, esi
jne 0x408b30
jmp case.0x408b54.157
cmp ecx, 0x100
jae 0x485e18
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne 0x485f7a
jmp 0x485e18
cmp eax, dword [ebx + 0x78]
je 0x485ef0
cmp eax, dword [ebx + 0x88]
ja 0x485e6e
add eax, 0xfffffffe
mov dword [ebx + 0x88], eax
mov eax, dword [ebp - 8]
movzx ecx, word [eax - 2]
cmp dword [ebx + 0x58], edx
je 0x485ed0
cmp ecx, 0x5f
jne 0x485e81
lea esi, [ecx - 0x5e]
jmp 0x485ef2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x485ea3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x485ec6
cmp eax, 3
jne 0x485eed
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485ef2
mov edx, 0xff
cmp cx, dx
ja 0x485ef0
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x485eed
mov eax, dword [ebp - 8]
mov esi, 1
jmp 0x485ef2
mov eax, dword [ebp - 8]
xor esi, esi
cmp eax, dword [ebx + 0x7c]
jae 0x485df3
cmp dword [ebx + 0x58], 0
je 0x485f5a
movzx ecx, word [eax]
cmp ecx, 0x5f
je 0x485f7a
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x485f2b
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x485f7a
cmp eax, 3
jne 0x485e18
lea ecx, [eax - 2]
jmp 0x485e1a
movzx eax, word [eax]
mov ecx, 0xff
cmp ax, cx
ja 0x485e18
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je 0x485e18
mov ecx, 1
jmp 0x485e1a
cmp ecx, esi
je 0x408b30
jmp case.0x408b54.157
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x7c]
test edx, edx
je 0x485fc0
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x1c]
cmp eax, ecx
jae 0x485ff8
push esi
lea eax, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebp - 8]
call fcn.00407565
add esp, 0xc
test eax, eax
jne case.0x408b54.157
jmp 0x485ff5
mov edx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
mov eax, dword [ebp - 8]
cmp eax, ecx
ja 0x485ff2
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x485ff2
cmp edx, 1
je case.0x408b54.157
mov eax, dword [ebp - 8]
mov ax, word [eax + 2]
cmp ax, word [ebx + 0x36]
je case.0x408b54.157
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je 0x486038
add eax, 2
cmp eax, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
jb 0x486038
cmp dword [ebx + 0x18], 0
jne 0x486038
cmp dword [ebx + 0x1c], 2
jne 0x486038
mov ax, word [eax]
cmp ax, word [ebx + 0x34]
jne 0x486035
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
mov eax, dword [ebp - 8]
mov ecx, dword [ebx + 0x7c]
cmp eax, ecx
jae 0x4093d4
add eax, 2
mov dword [ebp - 8], eax
test esi, esi
je 0x408e46
cmp eax, ecx
jae 0x408e46
mov ax, word [eax]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x408e46
add dword [ebp - 8], 2
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
add eax, 2
mov dword [ebp - 8], eax
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4860da
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4860da
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 0x408e46
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x408b54.157
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486140
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486140
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.0x408b54.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x408b54.157
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4861a6
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4861a6
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 0x408e46
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x408b54.157
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x48620c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48620c
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.0x408b54.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x408b54.157
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486272
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486272
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 0x408e46
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x408b54.157
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4862d8
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4862d8
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.0x408b54.157
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x408b54.157
jmp 0x408e46
movzx eax, word [eax]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
jmp 0x408fd7
cmp ecx, 0xa
je 0x408e46
jbe case.0x408b54.157
cmp ecx, 0xc
ja case.0x408b54.157
jmp 0x48637e
cmp dword [ebx + 0x8c], 0
je 0x408e46
cmp eax, dword [ebx + 0x88]
jbe 0x408e46
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
jmp 0x408e46
cmp ecx, 0x85
je 0x48637e
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x408b54.157
cmp dword [ebx + 0x6c], 0
jne case.0x408b54.157
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4863d5
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4863d5
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 0x486419
je case.0x408b54.157
cmp ecx, 0xa0
ja 0x486408
je case.0x408b54.157
cmp ecx, 9
je case.0x408b54.157
cmp ecx, 0x20
je case.0x408b54.157
jmp 0x408e46
cmp ecx, 0x1680
je case.0x408b54.157
jmp 0x408e46
cmp ecx, 0x205f
ja 0x486450
je case.0x408b54.157
cmp ecx, 0x2000
jb 0x408e46
cmp ecx, 0x200a
jbe case.0x408b54.157
cmp ecx, 0x202f
je case.0x408b54.157
jmp 0x408e46
cmp ecx, 0x3000
je case.0x408b54.157
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x4864a9
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4864a9
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 0x4864ed
je 0x408e46
cmp ecx, 0xa0
ja 0x4864dc
je 0x408e46
cmp ecx, 9
je 0x408e46
cmp ecx, 0x20
jne case.0x408b54.157
jmp 0x408e46
cmp ecx, 0x1680
jne case.0x408b54.157
jmp 0x408e46
cmp ecx, 0x205f
ja 0x486524
je 0x408e46
cmp ecx, 0x2000
jb case.0x408b54.157
cmp ecx, 0x200a
jbe 0x408e46
cmp ecx, 0x202f
jne case.0x408b54.157
jmp 0x408e46
cmp ecx, 0x3000
jne case.0x408b54.157
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x48657d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48657d
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 0x4865a2
je case.0x408b54.157
cmp ecx, 0xa
jb 0x408e46
cmp ecx, 0xd
jbe case.0x408b54.157
jmp 0x408e46
cmp ecx, 0x2028
jb 0x408e46
cmp ecx, 0x2029
jbe case.0x408b54.157
jmp 0x408e46
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x486607
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486607
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 0x486626
je 0x408e46
lea eax, [ecx - 0xa]
cmp eax, 3
ja case.0x408b54.157
jmp 0x408e46
lea eax, [ecx - 0x2028]
cmp eax, 1
ja case.0x408b54.157
jmp 0x408e46
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 0x4090cb
cmp eax, 0xa
ja case.default.0x48666b
jmp dword [eax*4 + 0x48d2a2]
mov al, byte [ecx*8 + 0x4ac101]
cmp al, 9
je 0x486697
cmp al, 5
je 0x486697
cmp al, 8
je 0x486697
xor ecx, ecx
jmp 0x4866b3
cmp esi, 0xf
je case.0x408b54.157
jmp 0x40913d
mov ecx, 1
jmp 0x4866b3
movzx eax, byte [ecx*8 + 0x4ac101]
xor ecx, ecx
cmp dword [eax*4 + 0x4b7180], 6
sete cl
xor eax, eax
cmp esi, 0xf
sete al
cmp ecx, eax
je case.0x408b54.157
jmp 0x40913d
movzx ecx, byte [ecx*8 + 0x4ac101]
movzx eax, word [edi + 4]
xor edx, edx
cmp eax, dword [ecx*4 + 0x4b7180]
setne dl
xor eax, eax
cmp esi, 0x10
sete al
cmp edx, eax
je case.0x408b54.157
jmp 0x40913d
movzx eax, byte [ecx*8 + 0x4ac101]
jmp 0x486707
movzx eax, byte [ecx*8 + 0x4ac100]
xor ecx, ecx
cmp word [edi + 4], ax
setne cl
xor eax, eax
cmp esi, 0x10
sete al
cmp ecx, eax
je case.0x408b54.157
jmp 0x40913d
movzx eax, byte [ecx*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x486697
cmp eax, 3
je 0x486697
xor ecx, ecx
jmp 0x4866b3
cmp edx, 0x180e
ja 0x4867a6
je case.0x48666b.0
cmp edx, 0x85
ja 0x486789
je case.0x48666b.0
cmp edx, 9
jb case.0x4867ca.8203
cmp edx, 0xd
jbe case.0x48666b.0
cmp edx, 0x20
je case.0x48666b.0
jmp case.0x4867ca.8203
cmp edx, 0xa0
je case.0x48666b.0
cmp edx, 0x1680
je case.0x48666b.0
jmp case.0x4867ca.8203
cmp edx, 0x202f
ja 0x4867d1
je case.0x48666b.0
add edx, 0xffffe000
cmp edx, 0x29
ja case.0x4867ca.8203
movzx eax, byte [edx + 0x48d2d6]
jmp dword [eax*4 + 0x48d2ce]
cmp edx, 0x205f
je case.0x48666b.0
cmp edx, 0x3000
je case.0x48666b.0
jmp case.0x4867ca.8203
movzx eax, byte [ecx*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x486697
cmp eax, 3
je 0x486697
cmp edx, 0x5f
je 0x486697
xor ecx, ecx
jmp 0x4866b3
cmp edx, 0x24
je 0x486697
cmp edx, 0x40
je 0x486697
cmp edx, 0x60
je 0x486697
cmp edx, 0xa0
jb 0x48684e
cmp edx, 0xd7ff
jbe 0x486697
cmp edx, 0xe000
jae 0x486697
xor ecx, ecx
jmp 0x4866b3
cmp esi, 0x10
je case.0x408b54.157
jmp 0x40913d
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 0x408d7e
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov esi, 2
jmp 0x408ddf
cmp eax, esi
jb 0x408e46
jmp 0x485bdc
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 0x486918
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 0x486911
mov eax, dword [ebx + 0xc]
mov ebx, dword [ebp - 0x40]
cmp dword [eax + ebx*4], 0
mov ebx, dword [ebp + 0x10]
jge 0x486919
mov eax, dword [ebp + 0xc]
lea ecx, [ecx + esi*2]
test edx, edx
jg 0x4868ef
dec edx
test edx, edx
jns 0x48694f
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.0x486948
movzx eax, byte [eax + 0x48d30a]
jmp dword [eax*4 + 0x48d302]
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 0x48692a
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 0x486920
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + esi*4]
test edx, edx
js 0x486920
mov esi, dword [eax + esi*4 + 4]
sub esi, edx
jmp 0x48692a
mov eax, dword [ebp - 0xc]
add eax, 0xffffff9e
movzx ecx, al
movsx edx, byte [eax + 0x49f518]
and ecx, 1
mov dword [ebp - 0xc], ecx
movsx ecx, byte [eax + 0x49f474]
add edi, 2
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x18], edx
test edx, edx
jne 0x4869f4
mov edx, SysAllocStringLen
mov dword [ebp - 0x18], edx
jmp 0x4869f4
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 0x4869ee
mov edx, SysAllocStringLen
mov dword [ebp - 0x18], edx
add edi, 6
mov dword [ebp - 0x34], edi
test esi, esi
je 0x408b30
jns 0x486a06
test ecx, ecx
je 0x408b30
mov eax, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, 1
jl 0x486a4b
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push esi
mov edx, eax
call fcn.00471eae
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x48b5fd
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 0x486a15
mov edx, dword [ebp - 0x18]
cmp ecx, edx
je 0x408b30
cmp dword [ebp - 0xc], 0
je 0x48b54e
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x20], eax
jge case.0x408b54.157
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push dword [ebp - 0x14]
mov edx, esi
call fcn.00471eae
add esp, 0xc
test eax, eax
js 0x48b528
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.00408ad0
add esp, 0x14
test eax, eax
je 0x486a83
jmp 0x408c97
mov edx, dword [ebp - 8]
push ecx
mov ecx, dword [ebp - 0x40]
push ebx
push esi
call fcn.00471eae
mov ecx, eax
add esp, 0xc
test ecx, ecx
js 0x48b5fd
mov eax, dword [ebp - 8]
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
jmp 0x408b30
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 0x486b2a
mov dword [ebp - 0x18], SysAllocStringLen
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x408ccb
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 0x408d19
cmp esi, 0x6e
je case.0x408b54.157
jmp 0x408e51
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x408e6a
mov ecx, dword [ebp - 0x28]
cmp eax, dword [ebx + 0x7c]
jae 0x4093d4
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 0x486ba5
cmp esi, 0x6e
je case.0x408b54.157
jmp 0x486bce
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.0x408b54.157
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jle 0x486b7a
jmp 0x408e67
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 0x408ebc
cmp esi, 0x6e
je 0x408ee8
jmp 0x409519
cmp dword [ebx + 0x8c], 0
je 0x408ee8
cmp eax, dword [ebx + 0x88]
jbe 0x408ee8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
jmp 0x408ee8
cmp edx, dword [ebp - 0x18]
jge 0x486cb8
cmp eax, dword [ebx + 0x7c]
jae 0x486c93
movzx ecx, word [eax]
mov dword [ebp - 0x14], ecx
cmp ecx, 0xff
jbe 0x486c66
cmp esi, 0x6e
jne 0x486c85
jmp 0x486cb8
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 0x486cb8
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jl 0x486c4c
jmp 0x486cb8
cmp dword [ebx + 0x8c], 0
je 0x486cb8
cmp eax, dword [ebx + 0x88]
jbe 0x486cb8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
cmp dword [ebp - 0x30], 0
jne 0x408b30
cmp eax, dword [ebp - 0x24]
jb case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
sub esi, 2
cmp esi, dword [ebp - 0x24]
jae 0x486cce
jmp 0x408c97
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.0x486d27
movzx eax, byte [eax + 0x48d31a]
jmp dword [eax*4 + 0x48d312]
lea ecx, [esi - 0x62]
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jae 0x486d4a
mov eax, dword [ebp - 0x30]
movzx edx, cl
and edx, 1
mov dword [ebp - 0x38], edx
jmp 0x486d52
mov eax, 1
mov dword [ebp - 0x30], eax
movsx esi, byte [esi + 0x49f4b6]
movsx ecx, byte [ecx + 0x49f474]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], esi
test esi, esi
jne 0x486db9
mov esi, SysAllocStringLen
jmp 0x486db6
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 0x486da1
mov esi, SysAllocStringLen
mov dword [ebp - 0x20], esi
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x486db9
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 0x486e40
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093d4
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 0x486e13
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486e13
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 0x486e16
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00472202
add esp, 4
test eax, eax
je case.0x408b54.157
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, ecx
jle 0x486dc5
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
cmp ecx, esi
je 0x408b30
mov esi, dword [ebp - 8]
test edx, edx
jne 0x48b806
mov dword [ebp - 0xc], esi
cmp ecx, dword [ebp - 0x20]
jge 0x486f07
mov eax, dword [ebp - 8]
mov dword [ebp - 0x18], 1
cmp eax, dword [ebx + 0x7c]
jae 0x486edc
movzx edx, word [eax]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov esi, eax
test ecx, ecx
je 0x486ead
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x486ead
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 0x486eb0
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00472202
add esp, 4
test eax, eax
je 0x486f04
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 0x486e5f
jmp 0x486f01
cmp dword [ebx + 0x8c], 0
je 0x486f01
cmp eax, dword [ebx + 0x88]
jbe 0x486f01
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
test eax, eax
jne 0x408b30
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0xc]
je case.0x408b54.157
cmp dword [ebp - 0x1c], 0
je 0x486f5e
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x486f5e
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.00408ad0
add esp, 0x14
test eax, eax
je 0x486f32
jmp 0x408c97
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebp - 8]
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 2
jl 0x48b8f2
mov ax, word [ecx]
add ecx, 2
mov dword [ebp - 8], ecx
cmp word [edi + 2], ax
jne case.0x408b54.157
add edi, 4
jmp 0x408e49
movzx eax, word [edi + 2]
and esi, 0x3ff
and eax, 0x3ff
shl esi, 0xa
or esi, eax
add esi, 0x10000
mov edx, 2
jmp 0x408f66
add eax, 2
mov dword [ebp - 8], eax
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
jne 0x48700f
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 0x408b30
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad498]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x487040
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f600]
mov eax, dword [eax*8 + 0x4ac104]
add eax, esi
cmp dword [ebp - 0x2c], eax
je 0x408b30
jmp case.0x408b54.157
movzx ecx, word [edi + 2]
mov edx, 0xff
cmp cx, dx
ja 0x48707b
mov eax, dword [ebx + 0x3c]
movzx edx, byte [eax + ecx]
mov eax, dword [ebp - 8]
jmp 0x48707d
mov edx, ecx
movzx ecx, word [eax]
mov esi, 0xff
cmp cx, si
ja 0x487094
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebp - 8]
cmp edx, ecx
jne case.0x408b54.157
add eax, 2
mov dword [ebp - 8], eax
add edi, 4
jmp 0x408e49
movzx eax, word [edi + 2]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], eax
add edi, 4
jmp 0x48716c
mov dword [ebp - 0x30], 1
movzx eax, word [edi + 2]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp ecx, 0x28
je 0x4870e4
cmp ecx, 0x35
je 0x4870e4
xor edx, edx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x48716c
mov edx, 1
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x48716c
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], SysAllocStringLen
add edi, 2
jmp 0x48716f
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], SysAllocStringLen
add edi, 2
jmp 0x48716f
mov ecx, 1
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], ecx
add edi, 2
jmp 0x48716f
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 + 0x49f474]
mov dword [ebp - 0x28], eax
movsx eax, byte [ecx + 0x49f518]
and edx, 1
add edi, 2
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x48716c
mov dword [ebp - 0x18], SysAllocStringLen
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4873f5
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 0x4871bf
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 0x4871c4
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 0x487406
cmp esi, 0x2e
jb 0x487236
mov esi, dword [ebp - 0x24]
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad498]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x487206
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f600]
mov ecx, dword [eax*8 + 0x4ac104]
add ecx, esi
cmp ecx, esi
je 0x487230
lea edx, [ebp - 0x70]
call fcn.00472606
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
jmp 0x48723d
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 0x487254
mov eax, dword [ebp - 8]
jmp 0x4872d7
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x487285
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.00420fa3
add esp, 0xc
test eax, eax
jne 0x487282
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
jmp 0x4872c6
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x48b90c
lea eax, [edx + edx]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x20]
cmp ecx, eax
ja 0x48b90c
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x70]
push eax
push ecx
call fcn.00420fa3
add esp, 0xc
test eax, eax
jne 0x48b909
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 0x487254
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x30]
cmp esi, dword [ebp - 0x18]
je 0x408b30
test edx, edx
jne 0x48b927
mov edx, eax
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x18]
jge 0x487391
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
cmp ecx, eax
ja 0x487321
mov eax, dword [ebp - 0x10]
add eax, eax
push eax
push dword [ebp - 0x2c]
push ecx
call fcn.00420fa3
add esp, 0xc
test eax, eax
jne 0x48731e
mov eax, dword [ebp - 0x14]
jmp 0x487350
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x24]
test edx, edx
jle 0x48735b
lea eax, [edx + edx]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x7c]
sub eax, dword [ebp - 0xc]
cmp ecx, eax
ja 0x48735b
lea eax, [edx + edx]
push eax
lea eax, [ebp - 0x70]
push eax
push ecx
call fcn.00420fa3
add esp, 0xc
test eax, eax
jne 0x48735b
mov eax, dword [ebp - 0xc]
add dword [ebp - 8], eax
inc esi
cmp esi, dword [ebp - 0x18]
jl 0x4872f6
jmp 0x487388
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 8]
je 0x48738b
cmp eax, dword [ebx + 0x7c]
jb 0x487388
cmp eax, dword [ebx + 0x88]
jbe 0x487388
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x408b30
cmp eax, edx
je 0x408ba1
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
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 0x4873ec
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x4873a7
jmp 0x408ba1
movzx ebx, word [edi]
add edi, 2
mov dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0x34], edi
jmp 0x487409
mov eax, dword [ebp - 0x1c]
cmp esi, 0x2e
jb 0x487570
mov esi, dword [ebp - 0x24]
test eax, eax
je 0x48745f
cmp esi, 0x7f
jbe 0x48745f
mov eax, esi
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx ecx, byte [eax + 0x4ad498]
mov eax, esi
shl ecx, 7
and eax, 0x8000007f
jns 0x487441
dec eax
or eax, 0xffffff80
inc eax
mov edx, dword [ebp - 0x38]
add ecx, eax
movzx eax, word [ecx*2 + 0x49f600]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x4ac104]
add eax, esi
mov dword [ebp - 0x10], eax
jmp 0x487476
cmp esi, 0xff
ja 0x487473
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + esi]
mov dword [ebp - 0x10], eax
jmp 0x487476
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], 1
cmp esi, 1
jl 0x4874b9
cmp eax, dword [ebx + 0x7c]
jae 0x4093d4
movzx ebx, word [eax]
cmp dword [ebp - 0x24], ebx
mov ebx, dword [ebp + 0x10]
je 0x4874ab
movzx ebx, word [eax]
cmp dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
jne case.0x408b54.157
inc dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], esi
jle 0x487488
cmp esi, dword [ebp - 0x18]
je 0x408b30
test edx, edx
jne 0x48b9ef
mov edx, eax
mov dword [ebp - 0x20], edx
cmp esi, dword [ebp - 0x18]
jge 0x487527
mov edx, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x7c]
jae 0x4874ff
movzx ebx, word [eax]
cmp edx, ebx
mov ebx, dword [ebp + 0x10]
je 0x4874f1
movzx ebx, word [eax]
cmp dword [ebp - 0x10], ebx
mov ebx, dword [ebp + 0x10]
jne 0x487524
add eax, 2
inc esi
mov dword [ebp - 8], eax
cmp esi, dword [ebp - 0x18]
jl 0x4874d7
jmp 0x487524
cmp dword [ebx + 0x8c], 0
je 0x487524
cmp eax, dword [ebx + 0x88]
jbe 0x487524
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x408b30
cmp eax, edx
je 0x408ba1
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.00408ad0
mov ecx, dword [ebp - 8]
sub ecx, 2
add esp, 0x14
mov dword [ebp - 8], ecx
test eax, eax
jne 0x408c97
cmp ecx, esi
jne 0x48753d
jmp 0x408ba1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], 1
cmp eax, 1
jge 0x487584
mov esi, dword [ebp - 8]
jmp 0x4875b0
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093d4
movzx eax, word [eax]
mov esi, dword [ebp - 8]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x24], eax
jne case.0x408b54.157
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x14], eax
jle 0x487584
cmp eax, dword [ebp - 0x18]
je 0x408b30
test edx, edx
jne 0x48ba66
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
mov esi, eax
mov dword [ebp - 0x20], esi
cmp edx, dword [ebp - 0x18]
jge 0x4875f3
mov esi, dword [ebp - 0x24]
cmp eax, dword [ebx + 0x7c]
jae 0x487639
movzx eax, word [eax]
cmp esi, eax
jne 0x4875ed
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc edx
cmp edx, dword [ebp - 0x18]
jl 0x4875d4
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x20]
test ecx, ecx
jne 0x408b30
cmp eax, esi
je 0x408ba1
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.00408ad0
mov ecx, dword [ebp - 8]
sub ecx, 2
add esp, 0x14
mov dword [ebp - 8], ecx
test eax, eax
jne 0x408c97
cmp ecx, esi
jne 0x487606
jmp 0x408ba1
cmp dword [ebx + 0x8c], 0
je 0x4875f0
cmp eax, dword [ebx + 0x88]
jbe 0x4875f0
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
jmp 0x4875f0
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093e6
cmp dword [ebp - 0x1c], edx
je 0x487770
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 0x4876b2
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 0x4876f3
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 0x487705
cmp edx, ecx
jne 0x408b30
jmp case.0x408b54.157
cmp edx, 0x7f
jbe 0x487748
mov eax, edx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0xc]
sar eax, 7
movzx ecx, byte [eax + 0x4ad498]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x487730
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f600]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax*8 + 0x4ac104]
add eax, edx
jmp 0x48775b
cmp edx, 0xff
ja 0x487759
mov eax, dword [ebx + 0x40]
movzx eax, byte [eax + edx]
jmp 0x48775b
mov eax, edx
cmp edx, ecx
je case.0x408b54.157
cmp eax, ecx
jne 0x408b30
jmp case.0x408b54.157
movzx edx, word [eax]
movzx ecx, word [edi + 2]
add eax, 2
mov dword [ebp - 8], eax
cmp ecx, edx
je case.0x408b54.157
cmp esi, 0x20
jne 0x4877a1
cmp ecx, 0xff
ja 0x487799
mov eax, dword [ebx + 0x40]
movzx ecx, byte [eax + ecx]
cmp ecx, edx
je case.0x408b54.157
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x408b30
movzx eax, word [edi + 2]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], eax
add edi, 4
jmp 0x48788e
movzx edx, word [edi + 2]
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], edx
cmp ecx, 0x42
je 0x4877e1
cmp ecx, 0x4f
je 0x4877e1
xor edx, edx
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x48788e
mov edx, 1
mov dword [ebp - 0x38], edx
add edi, 4
jmp 0x48788e
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 0x487891
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 0x487891
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 0x487891
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 0x487891
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 + 0x49f474]
movsx ecx, byte [ecx + 0x49f518]
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 0x48788e
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 0x4878df
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4878dc
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 0x487bfa
test esi, esi
je 0x48793d
cmp dword [ebp - 0x18], 0x7f
jbe 0x48793d
mov eax, dword [ebp - 0x18]
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 7
movzx ecx, byte [eax + 0x4ad498]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48791c
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f600]
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax*8 + 0x4ac104]
add eax, edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
jmp 0x487967
cmp dword [ebp - 0x18], 0xff
mov ebx, dword [ebp + 0x10]
ja 0x48795e
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 0x487967
mov ebx, dword [ebp - 0x18]
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebp - 0xc], 1
test esi, esi
je 0x4879f0
cmp eax, 1
jl 0x487a2e
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093d4
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 0x4879c8
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.0x408b54.157
mov esi, dword [ebp - 0x20]
cmp esi, ebx
je case.0x408b54.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x48797b
jmp 0x487a31
cmp eax, 1
mov eax, dword [ebp - 8]
jl 0x487a31
cmp eax, dword [ebx + 0x7c]
jae 0x4093d4
movzx esi, word [eax]
cmp dword [ebp - 0x18], esi
je case.0x408b54.157
movzx ebx, word [eax]
cmp dword [ebp - 0x20], ebx
je case.0x408b54.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 0x4879f8
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
cmp dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x1c]
je 0x408b30
test edx, edx
jne 0x48bad5
mov edx, eax
mov dword [ebp - 0x28], edx
test esi, esi
je 0x487b59
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x10]
jge 0x487acb
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x487b2f
movzx eax, word [eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x38], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487aa7
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 0x487aaa
mov eax, dword [ebp - 0x38]
cmp dword [ebp - 0x18], eax
je 0x487ac5
cmp dword [ebp - 0x20], eax
je 0x487ac5
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 0x487a5d
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
test ecx, ecx
jne 0x408b30
cmp eax, edx
je 0x408ba1
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
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 0x487b26
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x487ae1
jmp 0x408ba1
cmp dword [ebx + 0x8c], 0
je 0x487ac8
cmp eax, dword [ebx + 0x88]
jbe 0x487ac8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
jmp 0x487ac8
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x10]
jge 0x487bb1
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x487b8c
movzx ebx, word [eax]
cmp esi, ebx
mov ebx, dword [ebp + 0x10]
je 0x487bb1
movzx esi, word [eax]
cmp dword [ebp - 0x20], esi
mov esi, dword [ebp - 0x18]
je 0x487bb1
add eax, 2
inc edx
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x10]
jl 0x487b64
jmp 0x487bb1
cmp dword [ebx + 0x8c], 0
je 0x487bb1
cmp eax, dword [ebx + 0x88]
jbe 0x487bb1
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
test ecx, ecx
jne 0x408b30
mov esi, dword [ebp - 0x28]
cmp eax, esi
je 0x408ba1
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x487bc7
jmp 0x408ba1
mov dword [ebp - 0xc], 1
test esi, esi
je 0x487c80
mov ebx, dword [ebp + 0x10]
cmp eax, 1
jl 0x487cb2
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093d4
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 0x487c60
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.0x408b54.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x24]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x487c11
jmp 0x487cb5
cmp eax, 1
jl 0x487cb2
mov esi, dword [ebp - 8]
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx eax, word [esi]
add esi, 2
mov dword [ebp - 8], esi
cmp dword [ebp - 0x18], eax
je case.0x408b54.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x24]
jle 0x487c88
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 0x408b30
test edx, edx
jne 0x48bbe7
mov edx, eax
mov dword [ebp - 0x20], edx
test esi, esi
je 0x487dd8
mov esi, dword [ebp - 0x24]
cmp esi, dword [ebp - 0x10]
jge 0x487d4a
mov dword [ebp - 0xc], 1
cmp eax, dword [ebx + 0x7c]
jae 0x487dae
movzx eax, word [eax]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x28], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x487d2b
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 0x487d2e
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x18], eax
je 0x487d44
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 0x487ce1
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
test ecx, ecx
jne 0x408b30
cmp eax, edx
je 0x408ba1
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
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 0x487da5
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x487d60
jmp 0x408ba1
cmp dword [ebx + 0x8c], 0
je 0x487d47
cmp eax, dword [ebx + 0x88]
jbe 0x487d47
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
jmp 0x487d47
mov edx, dword [ebp - 0x24]
cmp edx, dword [ebp - 0x10]
jge 0x487dff
mov esi, dword [ebp - 0x18]
cmp eax, dword [ebx + 0x7c]
jae 0x487e48
movzx eax, word [eax]
cmp esi, eax
je 0x487dfc
add dword [ebp - 8], 2
mov eax, dword [ebp - 8]
inc edx
cmp edx, dword [ebp - 0x10]
jl 0x487de3
mov eax, dword [ebp - 8]
test ecx, ecx
jne 0x408b30
mov esi, dword [ebp - 0x20]
cmp eax, esi
je 0x408ba1
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x487e15
jmp 0x408ba1
cmp dword [ebx + 0x8c], 0
je 0x487dff
cmp eax, dword [ebx + 0x88]
jbe 0x487dff
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x487dff
mov eax, 0xfffffff4
jmp 0x408c97
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 0x4092a3
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 0x4092a3
xor ecx, ecx
mov esi, 1
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x40929c
mov esi, 1
mov ecx, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x10], ecx
add edi, 2
jmp 0x40929c
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 0x4092a3
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 0x4092a3
mov dword [ebp - 0x3c], 1
jmp 0x487f1c
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 0x4092c4
test eax, eax
js 0x488760
cmp eax, 0xa
ja case.default.0x48666b
jmp dword [eax*4 + 0x48d326]
cmp dword [ebp - 0x3c], 0
jne case.0x408b54.157
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x14], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x487f98
and dword [ebp - 0x14], 0xfc00
cmp dword [ebp - 0x14], 0xd800
jne 0x487f98
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 0x487f69
jmp 0x4092d5
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d2
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48800a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48800a
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 + 0x4ad498]
shl eax, 7
and edx, 0x8000007f
jns 0x48802f
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp eax, 9
je 0x488054
cmp eax, 5
je 0x488054
cmp eax, 8
je 0x488054
xor eax, eax
jmp 0x488059
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408b54.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x487fbf
mov edx, dword [ebp - 0x38]
jmp 0x4092d2
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x4092cf
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x4880d8
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4880d8
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x4880fd
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp dword [eax*4 + 0x4b7180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408b54.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x48808a
mov edx, dword [ebp - 0x38]
jmp 0x4092cf
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x4092cf
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48819d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48819d
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x4881c2
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408b54.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x48814f
mov edx, dword [ebp - 0x38]
jmp 0x4092cf
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x4092cf
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48825b
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48825b
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x488280
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac100]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408b54.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x48820d
mov edx, dword [ebp - 0x38]
jmp 0x4092cf
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d2
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x488319
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488319
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 + 0x4ad498]
shl eax, 7
and edx, 0x8000007f
jns 0x48833e
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x488365
cmp eax, 3
je 0x488365
xor eax, eax
jmp 0x48836a
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408b54.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x4882ce
mov edx, dword [ebp - 0x38]
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d5
mov edx, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
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 0x4883f6
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4883f3
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 0x48844a
je 0x4884e1
cmp dword [ebp - 0x18], 0x85
ja 0x48842f
je 0x4884e1
cmp dword [ebp - 0x18], 9
jb case.0x48846d.8203
cmp dword [ebp - 0x18], 0xd
jbe 0x4884e1
cmp dword [ebp - 0x18], 0x20
jne case.0x48846d.8203
jmp 0x4884e1
cmp dword [ebp - 0x18], 0xa0
je 0x4884e1
cmp dword [ebp - 0x18], 0x1680
jne case.0x48846d.8203
jmp 0x4884e1
cmp dword [ebp - 0x18], 0x202f
ja 0x488474
je 0x4884e1
mov eax, dword [ebp - 0x18]
add eax, 0xffffe000
cmp eax, 0x29
ja case.0x48846d.8203
movzx eax, byte [eax + 0x48d35a]
jmp dword [eax*4 + 0x48d352]
cmp dword [ebp - 0x18], 0x205f
je 0x4884e1
cmp dword [ebp - 0x18], 0x3000
je 0x4884e1
mov ecx, dword [ebp - 0x18]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x4884ab
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp dword [eax*4 + 0x4b7180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408b54.157
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x4884eb
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne case.0x408b54.157
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jle 0x4883a4
mov edx, dword [ebp - 0x38]
jmp 0x4092d5
mov dword [ebp - 0x14], 1
cmp ecx, 1
jl 0x4092cf
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48855d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48855d
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 + 0x4ad498]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x488583
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x4885af
cmp eax, 3
je 0x4885af
cmp edx, 0x5f
je 0x4885af
xor eax, eax
jmp 0x4885b4
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408b54.157
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x10]
jle 0x48850f
mov edx, dword [ebp - 0x38]
jmp 0x4092cf
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x488636
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x488636
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 + 0x4af698]
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 0x48866f
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 8]
je 0x488691
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 0x488650
cmp dword [ebp - 0x3c], 0
je case.0x408b54.157
mov eax, dword [ebp - 0x20]
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
jle 0x4885eb
jmp 0x4092d5
cmp dword [ebp - 0x3c], 0
jne case.0x408b54.157
jmp 0x488679
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx ebx, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], ebx
mov dword [ebp - 8], ecx
test eax, eax
je 0x488701
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4886fe
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 0x488735
cmp dword [ebp - 0x18], 0x40
je 0x488735
cmp dword [ebp - 0x18], 0x60
je 0x488735
cmp dword [ebp - 0x18], 0xa0
jb 0x488725
cmp dword [ebp - 0x18], 0xd7ff
jbe 0x488735
cmp dword [ebp - 0x18], 0xe000
mov dword [ebp - 0xc], 0
jb 0x48873c
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], esi
je case.0x408b54.157
mov ebx, dword [ebp - 0x14]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
jle 0x4886b3
jmp 0x4092d5
cmp dword [ebp - 0x28], 0x16
jne 0x488906
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], 1
jl 0x4092d2
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x20], eax
cmp ecx, eax
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x4887cd
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4887cd
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 + 0x4ad498]
shl eax, 7
and edx, 0x8000007f
jns 0x4887f2
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f600]
movzx edx, byte [eax*8 + 0x4ac102]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp ecx, eax
jae 0x4888c5
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 0x48885a
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48885a
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x48887f
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx ecx, byte [eax*8 + 0x4ac102]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x49f524], eax
je 0x4888bc
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 0x488817
jmp 0x4888c2
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp + 0x10]
cmp dword [ebx + 0x8c], 0
je 0x4888ee
cmp ecx, eax
jb 0x4888ee
cmp ecx, dword [ebx + 0x88]
jbe 0x4888ee
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x10]
jle 0x48877d
mov edx, dword [ebp - 0x38]
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4890f0
mov eax, dword [ebp - 0x28]
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x48666b
mov eax, dword [ebp - 0x28]
add eax, 0xfffffffa
jmp dword [eax*4 + 0x48d386]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
lea edx, [ecx + 2]
mov dword [ebp - 0x20], edx
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x48b75e
cmp dword [ebx + 0x18], 0
je 0x488a07
mov eax, dword [ebp - 0x1c]
push eax
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
call fcn.00407565
add esp, 0xc
test eax, eax
jne case.0x408b54.157
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x20]
cmp dword [ebx + 0x8c], 0
je 0x4889b7
cmp edx, dword [ebx + 0x7c]
jb 0x4889b7
cmp dword [ebx + 0x18], 0
jne 0x4889b7
cmp dword [ebx + 0x1c], 2
jne 0x4889b7
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x4889b7
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
add ecx, 2
add edx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x20], edx
cmp ecx, dword [ebx + 0x7c]
jae 0x4889ef
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 0x4889ef
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 0x488949
mov edx, dword [ebp - 0x38]
jmp 0x4092d2
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp ecx, edx
ja 0x48897d
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48897d
cmp dword [ebx + 0x1c], 1
je case.0x408b54.157
mov edx, dword [ebp - 0x20]
mov ax, word [edx]
cmp ax, word [ebx + 0x36]
je case.0x408b54.157
jmp 0x488980
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x488a93
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 0x488a93
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x488a5b
jmp 0x4092d2
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.0x408b54.157
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x488b1a
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 0x488b1d
mov eax, dword [ebp - 0x20]
cmp eax, 0xd
ja 0x488b4a
je 0x488b37
cmp eax, 0xa
je 0x488b69
add eax, 0xfffffff5
cmp eax, 1
ja case.0x408b54.157
jmp 0x488b5f
cmp ecx, dword [ebx + 0x7c]
jae 0x488b69
cmp word [ecx], 0xa
jne 0x488b69
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x488b69
cmp eax, 0x85
je 0x488b5f
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x408b54.157
cmp dword [ebx + 0x6c], 0
jne case.0x408b54.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x488ad6
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x488bd8
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 0x488bdb
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x488c16
je case.0x408b54.157
cmp eax, 0xa0
ja 0x488c09
je case.0x408b54.157
cmp eax, 9
je case.0x408b54.157
cmp eax, 0x20
je case.0x408b54.157
jmp 0x488c4d
cmp eax, 0x1680
je case.0x408b54.157
jmp 0x488c4d
cmp eax, 0x205f
ja 0x488c42
je case.0x408b54.157
cmp eax, 0x2000
jb 0x488c4d
cmp eax, 0x200a
jbe case.0x408b54.157
cmp eax, 0x202f
je case.0x408b54.157
jmp 0x488c4d
cmp eax, 0x3000
je case.0x408b54.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x488b94
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x488cbc
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 0x488cbf
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x488cee
je 0x488d21
cmp eax, 0xa0
ja 0x488ce1
je 0x488d21
cmp eax, 9
je 0x488d21
cmp eax, 0x20
jne case.0x408b54.157
jmp 0x488d21
cmp eax, 0x1680
jne case.0x408b54.157
jmp 0x488d21
cmp eax, 0x205f
ja 0x488d16
je 0x488d21
cmp eax, 0x2000
jb case.0x408b54.157
cmp eax, 0x200a
jbe 0x488d21
cmp eax, 0x202f
jne case.0x408b54.157
jmp 0x488d21
cmp eax, 0x3000
jne case.0x408b54.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x488c78
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x488d90
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 0x488d93
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x488db0
je case.0x408b54.157
cmp eax, 0xa
jb 0x488dc2
cmp eax, 0xd
jbe case.0x408b54.157
jmp 0x488dc2
cmp eax, 0x2028
jb 0x488dc2
cmp eax, 0x2029
jbe case.0x408b54.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x488d4c
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x488e31
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 0x488e34
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x488e4b
je 0x488e59
add eax, 0xfffffff6
cmp eax, 3
ja case.0x408b54.157
jmp 0x488e59
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x408b54.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x488ded
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x488eca
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 0x488ecd
mov eax, dword [ebp - 0x14]
cmp eax, 0x80
jae 0x488ee7
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne case.0x408b54.157
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x10]
jle 0x488e80
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
cmp word [ecx], 0x80
jae case.0x408b54.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 4
mov ebx, dword [ebp + 0x10]
je case.0x408b54.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 0x488f0e
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
cmp word [ecx], 0x80
mov ebx, dword [ebp + 0x10]
jae 0x488f8e
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 1
mov ebx, dword [ebp + 0x10]
jne case.0x408b54.157
mov eax, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x488fbd
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 0x488fbd
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x488f65
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
cmp word [ecx], 0x80
jae case.0x408b54.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 1
mov ebx, dword [ebp + 0x10]
je case.0x408b54.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 0x488fe0
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
cmp word [ecx], 0x80
mov ebx, dword [ebp + 0x10]
jae 0x489060
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 0x10
mov ebx, dword [ebp + 0x10]
jne case.0x408b54.157
mov eax, dword [ebp - 0x10]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, dword [ebx + 0x7c]
jae 0x48908f
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 0x48908f
add ecx, 2
mov dword [ebp - 8], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x489037
jmp 0x4092d2
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
cmp word [ecx], 0x80
jae case.0x408b54.157
mov eax, dword [ebx + 0x44]
movzx ebx, word [ecx]
test byte [ebx + eax], 0x10
mov ebx, dword [ebp + 0x10]
je case.0x408b54.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 0x4890b2
jmp 0x4092d2
mov ebx, dword [ebp - 0x28]
add ebx, 0xfffffffa
cmp ebx, 0xf
ja case.default.0x48666b
mov ebx, dword [ebp - 0x28]
add ebx, 0xfffffffa
jmp dword [ebx*4 + 0x48d3c6]
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x48b75e
cmp dword [ebx + 0x18], 0
je 0x489152
lea eax, [ebx + 0x1c]
push 0
push eax
push edx
mov edx, dword [ebx + 0x18]
call fcn.00407565
add esp, 0xc
test eax, eax
jne case.0x408b54.157
mov ecx, dword [ebp - 8]
jmp 0x48917e
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp ecx, edx
ja 0x48917e
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48917e
cmp dword [ebx + 0x1c], 1
je case.0x408b54.157
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
je case.0x408b54.157
cmp dword [ebx + 0x8c], 0
je 0x4891b8
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x4891b8
cmp dword [ebx + 0x18], 0
jne 0x4891b8
cmp dword [ebx + 0x1c], 2
jne 0x4891b8
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x4891b8
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
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 0x489122
mov edx, dword [ebp - 0x38]
jmp 0x4092d2
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 0x48b75e
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x4092d2
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 0x48b75e
add ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
jmp 0x4092d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
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 0x489282
cmp dword [ebp - 0x20], 0xd
je 0x48926f
cmp dword [ebp - 0x20], 0xa
je 0x4892a9
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff5
cmp eax, 1
ja case.0x408b54.157
jmp 0x48929c
cmp ecx, dword [ebx + 0x7c]
jae 0x4892a9
cmp word [ecx], 0xa
jne 0x4892a9
add ecx, 2
mov dword [ebp - 8], ecx
jmp 0x4892a9
cmp dword [ebp - 0x20], 0x85
je 0x48929f
mov eax, dword [ebp - 0x20]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x408b54.157
mov eax, dword [ebp - 0x10]
cmp dword [ebx + 0x6c], 0
jne case.0x408b54.157
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], eax
jle 0x489235
jmp 0x4092d2
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
add ecx, 2
mov dword [ebp - 0x18], eax
mov dword [ebp - 8], ecx
cmp eax, 0x180e
jg 0x489326
cmp eax, 0x180e
je case.0x408b54.157
cmp eax, 0xa0
jg 0x489317
je case.0x408b54.157
cmp eax, 9
je case.0x408b54.157
cmp eax, 0x20
je case.0x408b54.157
jmp 0x489367
cmp dword [ebp - 0x18], 0x1680
je case.0x408b54.157
jmp 0x489367
cmp dword [ebp - 0x18], 0x205f
jg 0x48935a
je case.0x408b54.157
cmp dword [ebp - 0x18], 0x2000
jl 0x489367
cmp dword [ebp - 0x18], 0x200a
jle case.0x408b54.157
cmp dword [ebp - 0x18], 0x202f
je case.0x408b54.157
jmp 0x489367
cmp dword [ebp - 0x18], 0x3000
je case.0x408b54.157
mov eax, dword [ebp - 0xc]
inc eax
cmp eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
jle 0x4892cf
jmp 0x4092d5
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
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 0x4893ec
cmp dword [ebp - 0x18], 0x180e
je 0x489429
cmp dword [ebp - 0x18], 0xa0
jg 0x4893dd
je 0x489429
cmp dword [ebp - 0x18], 9
je 0x489429
cmp dword [ebp - 0x18], 0x20
jne case.0x408b54.157
jmp 0x489429
cmp dword [ebp - 0x18], 0x1680
jne case.0x408b54.157
jmp 0x489429
cmp dword [ebp - 0x18], 0x205f
jg 0x48941c
je 0x489429
cmp dword [ebp - 0x18], 0x2000
jl case.0x408b54.157
cmp dword [ebp - 0x18], 0x200a
jle 0x489429
cmp dword [ebp - 0x18], 0x202f
jne case.0x408b54.157
jmp 0x489429
cmp dword [ebp - 0x18], 0x3000
jne case.0x408b54.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x489398
jmp 0x4092d5
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
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 0x489498
cmp dword [ebp - 0x20], 0x85
je case.0x408b54.157
cmp dword [ebp - 0x20], 0xa
jl 0x4894ae
cmp dword [ebp - 0x20], 0xd
jle case.0x408b54.157
jmp 0x4894ae
cmp dword [ebp - 0x20], 0x2028
jl 0x4894ae
cmp dword [ebp - 0x20], 0x2029
jle case.0x408b54.157
mov ebx, dword [ebp - 0xc]
inc ebx
cmp ebx, dword [ebp - 0x10]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp + 0x10]
jle 0x48945a
jmp 0x4092d5
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], 1
jl 0x4092d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
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 0x489515
cmp dword [ebp - 0x14], 0x85
je 0x489529
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff6
cmp eax, 3
ja case.0x408b54.157
jmp 0x489526
mov eax, dword [ebp - 0x14]
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x408b54.157
mov eax, dword [ebp - 0x10]
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], eax
jle 0x4894db
jmp 0x4092d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
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 0x489587
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
jne case.0x408b54.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 0x48954f
jmp 0x4092d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x408b54.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
je case.0x408b54.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 0x4895b0
jmp 0x4092d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
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 0x489644
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
jne case.0x408b54.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 0x48960c
jmp 0x4092d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x408b54.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
je case.0x408b54.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 0x48966d
jmp 0x4092d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x14], 1
jl 0x4092d5
mov eax, dword [ebp - 0x10]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
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 0x489701
mov eax, dword [ebp - 0x20]
movzx ecx, ax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
jne case.0x408b54.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 0x4896c9
jmp 0x4092d2
mov ebx, dword [ebp + 0x10]
cmp ecx, 1
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], 1
jl 0x4092d5
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
mov ecx, 0xff
cmp ax, cx
ja case.0x408b54.157
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
je case.0x408b54.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 0x48972a
jmp 0x4092d2
mov dword [ebp - 0x38], ecx
test edx, edx
js 0x48a092
cmp edx, 0xa
ja case.default.0x48666b
jmp dword [edx*4 + 0x48d406]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a02c
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 0x4897f9
test eax, eax
je 0x4897d5
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 0x4897d5
mov dword [ebp - 0xc], 2
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
jne 0x48a02c
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 0x48979d
jmp 0x48a02c
cmp dword [ebx + 0x8c], 0
je 0x48a02c
cmp ecx, dword [ebx + 0x88]
jbe 0x48a02c
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48a02c
mov eax, 0xfffffff4
jmp 0x408c97
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48a02c
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4897f9
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x489884
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489884
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 + 0x4ad498]
shl eax, 7
and edx, 0x8000007f
jns 0x4898a9
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp eax, 9
je 0x4898ce
cmp eax, 5
je 0x4898ce
cmp eax, 8
je 0x4898ce
xor eax, eax
jmp 0x4898d3
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x48a02c
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 0x48983c
jmp 0x48a02c
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48a02c
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4897f9
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x489955
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489955
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x48997a
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp dword [eax*4 + 0x4b7180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48a02c
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 0x489909
jmp 0x48a02c
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48a02c
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4897f9
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x489a20
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489a20
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x489a45
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48a02c
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 0x4899d4
jmp 0x48a02c
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48a02c
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4897f9
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x489ae4
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489ae4
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x489b09
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac100]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48a02c
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 0x489a98
jmp 0x48a02c
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48a02c
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4897f9
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x489ba8
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489ba8
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 + 0x4ad498]
shl eax, 7
and edx, 0x8000007f
jns 0x489bcd
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x489bf4
cmp eax, 3
je 0x489bf4
xor eax, eax
jmp 0x489bf9
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je 0x48a02c
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 0x489b5c
jmp 0x48a02c
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a02c
mov esi, dword [ebp - 0x30]
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4897f9
movzx ebx, word [ecx]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x489c87
mov eax, dword [ebp - 0x18]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489c84
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 0x489cdb
je 0x489d72
cmp dword [ebp - 0x18], 0x85
ja 0x489cc0
je 0x489d72
cmp dword [ebp - 0x18], 9
jb case.0x489cfe.8203
cmp dword [ebp - 0x18], 0xd
jbe 0x489d72
cmp dword [ebp - 0x18], 0x20
jne case.0x489cfe.8203
jmp 0x489d72
cmp dword [ebp - 0x18], 0xa0
je 0x489d72
cmp dword [ebp - 0x18], 0x1680
jne case.0x489cfe.8203
jmp 0x489d72
cmp dword [ebp - 0x18], 0x202f
ja 0x489d05
je 0x489d72
mov eax, dword [ebp - 0x18]
add eax, 0xffffe000
cmp eax, 0x29
ja case.0x489cfe.8203
movzx eax, byte [eax + 0x48d43a]
jmp dword [eax*4 + 0x48d432]
cmp dword [ebp - 0x18], 0x205f
je 0x489d72
cmp dword [ebp - 0x18], 0x3000
je 0x489d72
mov ecx, dword [ebp - 0x18]
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x489d3c
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp dword [eax*4 + 0x4b7180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 8]
je 0x48a02c
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x489d7c
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x3c], 0
jne 0x48a02c
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 0x489c2f
jmp 0x48a02c
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jge 0x48a02c
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4897f9
movzx edx, word [ecx]
mov dword [ebp - 0xc], edx
test eax, eax
je 0x489df2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489df2
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 + 0x4ad498]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x489e18
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x489e44
cmp eax, 3
je 0x489e44
cmp edx, 0x5f
je 0x489e44
xor eax, eax
jmp 0x489e49
mov eax, 1
mov ecx, dword [ebp - 8]
cmp eax, dword [ebp - 0x3c]
je 0x48a02c
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 0x489da6
jmp 0x48a02c
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a02c
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x4897f9
movzx ebx, word [ecx]
mov dword [ebp - 0x28], ebx
test eax, eax
je 0x489ed6
mov eax, ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489ed3
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 + 0x4af698]
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 0x489f0f
mov ecx, dword [ebp - 0xc]
add dword [ebp - 0x14], 4
cmp dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 8]
je 0x489f37
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 0x489ef0
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
je 0x48a02c
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 0x489e82
jmp 0x48a02c
cmp dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x30]
je 0x489f1c
jmp 0x48a02c
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48a02c
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a007
movzx ebx, word [ecx]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp + 0x10]
test eax, eax
je 0x489fa9
mov eax, dword [ebp - 0x28]
and eax, 0xfc00
cmp eax, 0xd800
jne 0x489fa6
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 0x489fdd
cmp dword [ebp - 0x28], 0x40
je 0x489fdd
cmp dword [ebp - 0x28], 0x60
je 0x489fdd
cmp dword [ebp - 0x28], 0xa0
jb 0x489fcd
cmp dword [ebp - 0x28], 0xd7ff
jbe 0x489fdd
cmp dword [ebp - 0x28], 0xe000
mov dword [ebp - 0xc], 0
jb 0x489fe4
mov dword [ebp - 0xc], 1
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0xc], esi
mov esi, dword [ebp - 0x30]
je 0x48a02c
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 0x489f51
jmp 0x48a02c
cmp dword [ebx + 0x8c], 0
je 0x48a02c
cmp ecx, dword [ebx + 0x88]
jbe 0x48a02c
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
test esi, esi
jne 0x408b30
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x408ba1
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x1c], eax
je 0x48a089
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x48a089
sub ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48a03f
jmp 0x408ba1
mov edx, dword [ebp - 0x28]
cmp edx, 0x16
jne 0x48a2a5
mov edx, dword [ebp - 0x24]
cmp dword [ebp - 0x10], edx
jl 0x48a0ae
jmp 0x48a257
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], edx
cmp ecx, edx
jae 0x48a232
movzx edx, word [ecx]
add ecx, 2
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
test eax, eax
je 0x48a0fc
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a0fc
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 + 0x4ad498]
shl eax, 7
and edx, 0x8000007f
jns 0x48a121
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f600]
movzx edx, byte [eax*8 + 0x4ac102]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp ecx, eax
jae 0x48a1f7
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 0x48a189
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a189
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x48a1ae
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx ecx, byte [eax*8 + 0x4ac102]
mov eax, 1
shl eax, cl
test dword [esi*4 + 0x49f524], eax
je 0x48a1eb
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 0x48a146
jmp 0x48a1f1
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 0x48a220
cmp ecx, eax
jb 0x48a220
cmp ecx, dword [ebx + 0x88]
jbe 0x48a220
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp - 0x24]
jl 0x48a0ab
jmp 0x48a257
cmp dword [ebx + 0x8c], 0
je 0x48a257
cmp ecx, dword [ebx + 0x88]
jbe 0x48a257
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
test esi, esi
jne 0x408b30
cmp ecx, dword [ebp - 0x38]
je 0x408ba1
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov ecx, dword [ebp - 8]
sub ecx, 2
mov dword [ebp - 8], ecx
test esi, esi
jne 0x48b1fe
movzx edx, word [ecx]
jmp 0x48b247
test eax, eax
je 0x48abb4
add edx, 0xfffffffa
cmp edx, 0xf
ja case.default.0x48666b
jmp dword [edx*4 + 0x48d466]
cmp dword [ebp - 0x24], 0x7fffffff
mov edx, dword [ebp - 0x10]
jge 0x48a3d1
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
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 0x48a531
cmp dword [ebx + 0x18], 0
je 0x48a319
push eax
lea edx, [ebx + 0x1c]
push edx
push dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
call fcn.00407565
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x48ab36
mov edx, dword [ebp - 0x10]
jmp 0x48a349
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x48a349
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48a349
cmp dword [ebx + 0x1c], 1
je 0x48ab36
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ebx + 0x36]
je 0x48ab36
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 0x18]
je 0x48a389
cmp eax, dword [ebx + 0x7c]
jb 0x48a389
cmp dword [ebx + 0x18], 0
jne 0x48a389
cmp dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 8]
jne 0x48a389
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48a386
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
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 0x48a3bf
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 0x48a3bf
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 0x48a2df
jmp 0x48ab36
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
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 0x48a531
cmp dword [ebx + 0x18], 0
je 0x48a41a
push eax
lea edx, [ebx + 0x1c]
push edx
push dword [ebp - 0x14]
mov edx, dword [ebx + 0x18]
call fcn.00407565
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x48ab36
mov edx, dword [ebp - 0x10]
jmp 0x48a44a
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x48a44a
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48a44a
cmp dword [ebx + 0x1c], 1
je 0x48ab36
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, word [ebx + 0x36]
je 0x48ab36
cmp dword [ebx + 0x8c], 0
mov eax, dword [ebp - 0x18]
je 0x48a48a
cmp eax, dword [ebx + 0x7c]
jb 0x48a48a
cmp dword [ebx + 0x18], 0
jne 0x48a48a
cmp dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 8]
jne 0x48a48a
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48a487
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
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 0x48a4c0
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 0x48a4c0
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 0x48a3e0
jmp 0x48ab36
mov eax, dword [ebp - 0x24]
cmp eax, 0x7fffffff
jge 0x48a527
mov edx, dword [ebp - 0x10]
cmp edx, eax
jge 0x48ab36
mov eax, dword [ebx + 0x7c]
cmp ecx, eax
jae 0x48a531
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x48a51c
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 0x48a51c
add ecx, 2
mov dword [ebp - 8], ecx
inc edx
cmp edx, dword [ebp - 0x24]
jl 0x48a4ea
jmp 0x48ab36
mov ecx, dword [ebx + 0x7c]
jmp 0x48a52e
mov ecx, edx
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x8c], 0
je 0x48ab36
cmp ecx, dword [ebx + 0x88]
jbe 0x48ab36
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48ab36
mov eax, 0xfffffff4
jmp 0x408c97
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 0x48a52c
mov eax, dword [ebp - 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
jmp 0x48ab36
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], 1
cmp ecx, eax
jae 0x48a531
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a5de
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 0x48a5e1
mov eax, dword [ebp - 0x20]
cmp eax, 0xd
jne 0x48a602
mov eax, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, eax
jae 0x48ab36
cmp word [ecx], 0xa
jne 0x48a640
add ecx, 2
jmp 0x48a63d
cmp eax, 0xa
je 0x48a634
cmp dword [ebx + 0x6c], 0
jne 0x48ab36
cmp eax, 0xb
je 0x48a634
cmp eax, 0xc
je 0x48a634
cmp eax, 0x85
je 0x48a634
cmp eax, 0x2028
je 0x48a634
cmp eax, 0x2029
jne 0x48ab36
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 0x48a59c
jmp 0x48ab36
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a531
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a6a2
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 0x48a6a5
mov eax, dword [ebp - 0x20]
cmp eax, 0x180e
ja 0x48a6fb
je 0x48a6c1
cmp eax, 0xa0
ja 0x48a6f2
je 0x48a6c1
cmp eax, 9
je 0x48a6c1
cmp eax, 0x20
jne 0x48a722
mov dword [ebp - 0xc], 1
xor eax, eax
cmp dword [ebp - 0x28], 0x12
sete al
cmp dword [ebp - 0xc], eax
je 0x48ab36
mov eax, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a65b
jmp 0x48ab36
cmp eax, 0x1680
jne 0x48a722
jmp 0x48a6c1
cmp eax, 0x205f
ja 0x48a71b
je 0x48a6c1
cmp eax, 0x2000
jb 0x48a722
cmp eax, 0x200a
jbe 0x48a6c1
cmp eax, 0x202f
jne 0x48a722
jmp 0x48a6c1
cmp eax, 0x3000
je 0x48a6c1
mov dword [ebp - 0xc], 0
jmp 0x48a6c8
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
mov dword [ebp - 0x2c], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a531
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a77e
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 0x48a781
mov eax, dword [ebp - 0x20]
cmp eax, 0x85
ja 0x48a7c5
je 0x48a7cf
cmp eax, 0xa
jb 0x48a794
cmp eax, 0xd
jbe 0x48a7cf
mov dword [ebp - 0xc], 0
xor eax, eax
cmp dword [ebp - 0x28], 0x14
sete al
cmp dword [ebp - 0xc], eax
je 0x48ab36
mov eax, dword [ebp - 0x2c]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a737
jmp 0x48ab36
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48a794
mov dword [ebp - 0xc], 1
jmp 0x48a79b
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a531
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a831
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 0x48a834
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48a84e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne 0x48ab36
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a7e4
jmp 0x48ab36
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a531
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a8bb
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 0x48a8be
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48ab36
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
je 0x48ab36
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a86e
jmp 0x48ab36
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a531
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a949
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 0x48a94c
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48a966
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
jne 0x48ab36
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a8fc
jmp 0x48ab36
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a531
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48a9d3
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 0x48a9d6
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48ab36
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
je 0x48ab36
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48a986
jmp 0x48ab36
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48a531
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48aa61
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 0x48aa64
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48aa7e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
jne 0x48ab36
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48aa14
jmp 0x48ab36
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48ab36
mov dword [ebp - 0xc], 1
cmp ecx, dword [ebx + 0x7c]
jae 0x48ab11
movzx eax, word [ecx]
mov dword [ebp - 0x14], eax
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48aae7
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 0x48aaea
movzx eax, word [ecx]
cmp eax, 0x100
jae 0x48ab36
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
je 0x48ab36
mov eax, dword [ebp - 0xc]
inc edx
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48aa9e
jmp 0x48ab36
cmp dword [ebx + 0x8c], 0
je 0x48ab36
cmp ecx, dword [ebx + 0x88]
jbe 0x48ab36
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
test esi, esi
jne 0x408b30
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x408ba1
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
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 0x48ab8e
sub ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x28], 0x11
jne 0x48abab
cmp ecx, esi
jbe 0x48abad
cmp word [ecx], 0xa
jne 0x48abab
cmp word [ecx - 2], 0xd
jne 0x48abab
add ecx, 0xfffffffe
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48ab49
jmp 0x408ba1
lea eax, [edx - 6]
cmp eax, 0xf
ja case.default.0x48666b
jmp dword [eax*4 + 0x48d4a6]
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b109
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x14], eax
cmp ecx, eax
jae 0x48aca5
cmp dword [ebx + 0x18], 0
je 0x48ac09
lea edx, [ebx + 0x1c]
push 0
push edx
mov edx, dword [ebx + 0x18]
push eax
call fcn.00407565
mov ecx, dword [ebp - 8]
add esp, 0xc
test eax, eax
jne 0x48b109
mov edx, dword [ebp - 0x10]
jmp 0x48ac37
mov eax, dword [ebx + 0x1c]
add eax, eax
sub dword [ebp - 0x14], eax
cmp ecx, dword [ebp - 0x14]
ja 0x48ac37
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48ac37
cmp dword [ebx + 0x1c], 1
je 0x48b109
mov ax, word [ecx + 2]
cmp ax, word [ebx + 0x36]
je 0x48b109
cmp dword [ebx + 0x8c], 0
je 0x48ac71
lea eax, [ecx + 2]
cmp eax, dword [ebx + 0x7c]
jb 0x48ac71
cmp dword [ebx + 0x18], 0
jne 0x48ac71
cmp dword [ebx + 0x1c], 2
jne 0x48ac71
mov ax, word [ecx]
cmp ax, word [ebx + 0x34]
jne 0x48ac71
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
inc edx
add ecx, 2
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], edx
cmp edx, dword [ebp - 0x24]
jl 0x48abd3
jmp 0x48b109
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 0x48acdc
mov ecx, edx
mov dword [ebp - 8], ecx
cmp dword [ebx + 0x8c], 0
je 0x48b109
cmp ecx, dword [ebx + 0x88]
jbe 0x48b109
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle 0x48b109
mov eax, 0xfffffff4
jmp 0x408c97
mov eax, dword [ebp - 0x24]
lea ecx, [ecx + eax*2]
mov dword [ebp - 8], ecx
jmp 0x48b109
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48b109
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x48aca5
movzx edx, word [ecx]
cmp edx, 0xd
jne 0x48ad1e
mov edx, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
cmp ecx, edx
jae 0x48b109
cmp word [ecx], 0xa
je 0x48ad56
jmp 0x48ad5c
cmp edx, 0xa
je 0x48ad53
cmp dword [ebx + 0x6c], 0
jne 0x48b109
cmp edx, 0xb
je 0x48ad53
cmp edx, 0xc
je 0x48ad53
cmp edx, 0x85
je 0x48ad53
cmp edx, 0x2028
je 0x48ad53
cmp edx, 0x2029
jne 0x48b109
mov edx, dword [ebx + 0x7c]
add ecx, 2
mov dword [ebp - 8], ecx
inc eax
cmp eax, dword [ebp - 0x24]
jl 0x48acf9
jmp 0x48b109
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48b109
cmp ecx, dword [ebx + 0x7c]
jae 0x48aca5
movzx edx, word [ecx]
cmp edx, 0x180e
jg 0x48adbb
je 0x48b109
cmp edx, 0xa0
jg 0x48adae
je 0x48b109
cmp edx, 9
je 0x48b109
cmp edx, 0x20
jne 0x48adf6
jmp 0x48b109
cmp edx, 0x1680
jne 0x48adf6
jmp 0x48b109
cmp edx, 0x205f
jg 0x48adea
je 0x48b109
cmp edx, 0x2000
jl 0x48adf6
cmp edx, 0x200a
jle 0x48b109
cmp edx, 0x202f
jne 0x48adf6
jmp 0x48b109
cmp edx, 0x3000
je 0x48b109
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x48ad73
jmp 0x48b109
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48b109
cmp ecx, dword [ebx + 0x7c]
jae 0x48aca5
movzx edx, word [ecx]
cmp edx, 0x180e
jg 0x48ae53
je 0x48ae8a
cmp edx, 0xa0
jg 0x48ae46
je 0x48ae8a
cmp edx, 9
je 0x48ae8a
cmp edx, 0x20
je 0x48ae8a
jmp 0x48b109
cmp edx, 0x1680
je 0x48ae8a
jmp 0x48b109
cmp edx, 0x205f
jg 0x48ae7e
je 0x48ae8a
cmp edx, 0x2000
jl 0x48b109
cmp edx, 0x200a
jle 0x48ae8a
cmp edx, 0x202f
je 0x48ae8a
jmp 0x48b109
cmp edx, 0x3000
jne 0x48b109
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x48ae17
jmp 0x48b109
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge 0x48b109
cmp ecx, dword [ebx + 0x7c]
jae 0x48aca5
movzx edx, word [ecx]
cmp edx, 0x85
jg 0x48aed0
je 0x48b109
cmp edx, 0xa
jl 0x48aee4
cmp edx, 0xd
jg 0x48aee4
jmp 0x48b109
cmp edx, 0x2028
jl 0x48aee4
cmp edx, 0x2029
jle 0x48b109
add ecx, 2
inc eax
mov dword [ebp - 8], ecx
cmp eax, dword [ebp - 0x24]
jl 0x48aea7
jmp 0x48b109
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b109
cmp ecx, dword [ebx + 0x7c]
jae 0x48aca5
movzx eax, word [ecx]
cmp eax, 0x85
jg 0x48af23
je 0x48af31
add eax, 0xfffffff6
cmp eax, 3
jbe 0x48af31
jmp 0x48b109
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48b109
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48af01
jmp 0x48b109
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b109
cmp ecx, dword [ebx + 0x7c]
jae 0x48aca5
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48af79
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
jne 0x48b109
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48af4e
jmp 0x48b109
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b109
cmp ecx, dword [ebx + 0x7c]
jae 0x48aca5
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48b109
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 4
mov ecx, dword [ebp - 8]
je 0x48b109
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48af96
jmp 0x48b109
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b109
cmp ecx, dword [ebx + 0x7c]
jae 0x48aca5
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48b00d
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
jne 0x48b109
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48afe2
jmp 0x48b109
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b109
cmp ecx, dword [ebx + 0x7c]
jae 0x48aca5
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48b109
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 1
mov ecx, dword [ebp - 8]
je 0x48b109
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b02a
jmp 0x48b109
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b109
cmp ecx, dword [ebx + 0x7c]
jae 0x48aca5
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48b09d
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
jne 0x48b109
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b076
jmp 0x48b109
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x24]
jge 0x48b109
cmp ecx, dword [ebx + 0x7c]
jae 0x48b0e4
movzx eax, word [ecx]
mov dword [ebp - 0xc], 0xff
cmp ax, word [ebp - 0xc]
ja 0x48b109
mov ecx, eax
mov eax, dword [ebx + 0x44]
test byte [ecx + eax], 0x10
mov ecx, dword [ebp - 8]
je 0x48b109
add ecx, 2
inc edx
mov dword [ebp - 8], ecx
cmp edx, dword [ebp - 0x24]
jl 0x48b0b3
jmp 0x48b109
cmp dword [ebx + 0x8c], 0
je 0x48b109
cmp ecx, dword [ebx + 0x88]
jbe 0x48b109
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
test esi, esi
jne 0x408b30
mov esi, dword [ebp - 0x38]
cmp ecx, esi
je 0x408ba1
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov ecx, dword [ebp - 8]
sub ecx, 2
cmp dword [ebp - 0x28], 0x11
mov dword [ebp - 8], ecx
jne 0x48b163
cmp ecx, esi
jbe 0x48b165
cmp word [ecx], 0xa
jne 0x48b163
cmp word [ecx - 2], 0xd
jne 0x48b163
add ecx, 0xfffffffe
mov dword [ebp - 8], ecx
cmp ecx, esi
jne 0x48b11c
jmp 0x408ba1
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 0x48b19b
lea edx, [edi + 4]
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov edi, dword [ebp - 0xc]
jmp 0x408b9e
mov edx, dword [ebp - 0xc]
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
add edi, 4
jmp 0x408b9e
mov edx, esi
mov esi, dword [ebp - 8]
mov ecx, esi
call fcn.00408ad0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x48b1dd
mov ecx, dword [ebp - 0x20]
cmp dword [ebx + 0xb8], ecx
jne 0x408c97
jmp 0x48b1e8
test eax, eax
jne 0x408c97
mov ecx, dword [ebp - 0x20]
mov eax, 0x81
cmp word [ecx], ax
je 0x48b44b
add edi, 4
jmp 0x408b9e
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x48b219
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 0x48b24a
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 + 0x4ad498]
shl eax, 7
and edx, 0x8000007f
jns 0x48b26f
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac102]
mov dword [ebp - 0x2c], eax
cmp ecx, dword [ebp - 0x38]
je 0x408ba1
lea edx, [ecx - 2]
mov dword [ebp - 0xc], edx
test esi, esi
jne 0x48b29c
movzx ecx, word [edx]
jmp 0x48b2e2
mov ax, word [edx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48b2b7
sub edx, 2
mov dword [ebp - 0xc], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b2e2
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x48b304
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
mov ecx, dword [ebp - 0x2c]
movzx eax, word [eax*2 + 0x49f600]
movzx edx, byte [eax*8 + 0x4ac102]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49f524], eax
je 0x48b337
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x2c], edx
jmp 0x48b284
mov ecx, dword [ebp - 8]
jmp 0x48a26b
mov dword [ebx + 0x9c], 2
jmp 0x409496
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x48cfd1
cmp word [edi], 0x77
je 0x4094e5
cmp word [eax], 0x77
jne 0x48cfd1
jmp 0x4094e5
mov eax, dword [ebp + 0x18]
inc eax
push eax
movzx eax, word [edi]
push dword [ebp + 0x14]
movzx ecx, byte [eax + 0x49f558]
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
lea eax, [edi + 4]
mov dword [ebx + 0x80], eax
mov eax, 0xfffffc1f
jmp 0x408c97
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0xa8], eax
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x154]
cmp eax, ecx
je case.0x408b54.157
push eax
call dword [0x4bc80c]
add esp, 4
jmp case.0x408b54.157
mov ecx, dword [ebp - 0x54]
lea edx, [ebp - 0x154]
cmp ecx, edx
je 0x408c97
push ecx
call dword [0x4bc80c]
mov eax, dword [ebp - 0xc]
add esp, 4
jmp 0x408c97
mov eax, 0xfffffffa
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1b
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0xb8], eax
mov eax, 0xfffffc1b
jmp 0x408c97
mov esi, dword [ebp + 8]
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], eax
mov dword [ebx + 0x90], edx
mov eax, 0xfffffc1a
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov dword [ebx + 0xb8], esi
mov eax, 0xfffffc1b
jmp 0x408c97
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 0x408c92
cmp ecx, dword [ebx + 0x88]
jbe case.0x408b54.157
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jle case.0x408b54.157
mov eax, 0xfffffff4
jmp 0x408c97
mov eax, 0xfffffff2
jmp 0x408c97
cmp eax, 0xfffffffe
jne 0x48b530
mov esi, dword [ebx + 0x7c]
cmp dword [ebx + 0x8c], 0
je case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jb case.0x408b54.157
cmp esi, dword [ebx + 0x88]
jmp 0x48b4fa
mov dword [ebp - 0xc], eax
cmp ecx, edx
jl 0x48b55a
jmp 0x48b5c0
mov eax, dword [ebp - 8]
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
push ebx
push esi
mov edx, eax
call fcn.00471eae
add esp, 0xc
test eax, eax
js 0x48b587
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 0x48b557
jmp 0x48b5b7
cmp eax, 0xfffffffe
jne 0x48b5b4
cmp dword [ebx + 0x8c], 0
je 0x48b5b4
mov eax, dword [ebx + 0x7c]
cmp eax, dword [ebx + 0x88]
jbe 0x48b5b4
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebp - 0xc]
jb case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
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 0x48b5c0
xor eax, eax
jmp 0x408c97
cmp ecx, 0xfffffffe
jne 0x48b607
mov eax, dword [ebx + 0x7c]
jmp 0x48b60a
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x408b54.157
cmp eax, dword [ebx + 0x7c]
jb case.0x408b54.157
cmp eax, dword [ebx + 0x88]
jmp 0x48b4fa
mov eax, esi
sub esi, 2
cmp eax, dword [ebp - 0x24]
je case.0x408b54.157
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x48b651
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.00408ad0
add esp, 0x14
test eax, eax
je 0x48b62b
jmp 0x408c97
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 0x48b776
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x18]
jge case.0x408b54.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx eax, word [ecx]
mov dword [ebp - 0x20], eax
add ecx, 2
and eax, 0xfc00
mov dword [ebp - 8], ecx
cmp eax, 0xd800
jne 0x48b6fa
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 0x48b6fd
mov eax, dword [ebp - 0x20]
cmp eax, 0xff
jbe 0x48b70f
cmp esi, 0x6e
je case.0x408b54.157
jmp 0x48b734
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.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48b6a1
jmp 0x408c97
cmp dword [ebx + 0x8c], 0
je case.0x408b54.157
cmp ecx, dword [ebx + 0x88]
jmp 0x48b4fa
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x18]
jge case.0x408b54.157
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x4093d4
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], eax
cmp ecx, 0xff
jbe 0x48b7bd
cmp esi, 0x6e
je case.0x408b54.157
jmp 0x48b7dd
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.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48b786
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x28], eax
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx edx, word [esi]
mov ecx, dword [ebp - 0x1c]
add esi, 2
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x48b875
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48b875
movzx eax, word [esi]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or eax, edx
add eax, 0x10000
add esi, 2
jmp 0x48b878
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.00472202
add esp, 4
test eax, eax
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48b829
jmp 0x408c97
cmp dword [ebx + 0x8c], 0
je case.0x408b54.157
cmp esi, dword [ebx + 0x88]
jmp 0x48b4fa
cmp dword [ebx + 0x8c], 0
je case.0x408b54.157
cmp edx, dword [ebx + 0x7c]
jb case.0x408b54.157
cmp edx, dword [ebx + 0x88]
jmp 0x48b4fa
cmp dword [ebx + 0x8c], edx
je case.0x408b54.157
cmp ecx, dword [ebx + 0x88]
jmp 0x48b4fa
mov ecx, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
je case.0x408b54.157
cmp ecx, dword [ebx + 0x7c]
jb case.0x408b54.157
jmp 0x48b4f4
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
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.0x408b54.157
mov eax, dword [ebx + 0x7c]
sub eax, ecx
cmp esi, eax
ja 0x48b984
lea eax, [edx + edx]
push eax
push dword [ebp - 0x2c]
push esi
call fcn.00420fa3
add esp, 0xc
test eax, eax
jne 0x48b984
add esi, dword [ebp - 0xc]
jmp 0x48b9be
mov ecx, dword [ebp - 0x24]
test ecx, ecx
jle 0x48b530
mov eax, dword [ebx + 0x7c]
lea edx, [ecx + ecx]
sub eax, edx
mov dword [ebp - 0x14], edx
cmp esi, eax
ja 0x48b530
lea eax, [ecx + ecx]
push eax
lea eax, [ebp - 0x70]
push eax
push esi
call fcn.00420fa3
add esp, 0xc
test eax, eax
jne 0x48b530
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.00408ad0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
add esp, 0x14
test eax, eax
je 0x48b956
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, dword [ebp - 0x28]
cmp eax, dword [ebp - 0x18]
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx ecx, word [esi]
cmp dword [ebp - 0x24], ecx
je 0x48ba3b
cmp dword [ebp - 0x10], ecx
jne case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48ba15
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [ebp - 0x18]
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x24], eax
jne case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48ba89
jmp 0x408c97
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 0x48bb82
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48bb48
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.0x408b54.157
cmp dword [ebp - 0x20], edx
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48bb03
jmp 0x408c97
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x10]
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx ecx, word [esi]
cmp dword [ebp - 0x18], ecx
je case.0x408b54.157
cmp dword [ebp - 0x20], ecx
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48bb92
jmp 0x408c97
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 0x48bc8b
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
jne 0x48bc5a
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.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48bc15
jmp 0x408c97
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x10]
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx eax, word [esi]
add esi, 2
cmp dword [ebp - 0x18], eax
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48bc9b
jmp 0x408c97
cmp edx, 0xa
ja case.default.0x48666b
jmp dword [edx*4 + 0x48d4e6]
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x408b54.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48bd54
and edx, 0xfc00
cmp edx, 0xd800
jne 0x48bd54
add ecx, 2
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x3c], 0
jne case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48bd19
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x408b54.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48bdfe
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bdfe
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 + 0x4ad498]
shl eax, 7
and edx, 0x8000007f
jns 0x48be23
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp eax, 9
je 0x48be48
cmp eax, 5
je 0x48be48
cmp eax, 8
je 0x48be48
xor eax, eax
jmp 0x48be4d
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48bda4
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48beec
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48beec
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x48bf0e
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp dword [eax*4 + 0x4b7180], edx
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48bea1
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48bfd2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48bfd2
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x48bff4
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48bf87
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48c0b1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c0b1
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x48c0d3
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac100]
cmp eax, dword [ebp - 0x44]
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48c066
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x408b54.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
mov dword [ebp - 8], ecx
je 0x48c19d
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c19d
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 + 0x4ad498]
shl eax, 7
and edx, 0x8000007f
jns 0x48c1c2
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x48c1e9
cmp eax, 3
je 0x48c1e9
xor eax, eax
jmp 0x48c1ee
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48c143
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
je 0x48c290
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c28d
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 0x48c2dd
je 0x48c362
cmp ecx, 0x85
ja 0x48c2c4
je 0x48c362
cmp ecx, 9
jb case.0x48c2f9.8203
cmp ecx, 0xd
jbe 0x48c362
cmp ecx, 0x20
jne case.0x48c2f9.8203
jmp 0x48c362
cmp ecx, 0xa0
je 0x48c362
cmp ecx, 0x1680
jne case.0x48c2f9.8203
jmp 0x48c362
cmp ecx, 0x202f
ja 0x48c300
je 0x48c362
lea eax, [ecx - 0x2000]
cmp eax, 0x29
ja case.0x48c2f9.8203
movzx eax, byte [eax + 0x48d51a]
jmp dword [eax*4 + 0x48d512]
cmp ecx, 0x205f
je 0x48c362
cmp ecx, 0x3000
je 0x48c362
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x48c332
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
cmp dword [eax*4 + 0x4b7180], 6
sete cl
cmp ecx, dword [ebp - 0x3c]
je case.0x408b54.157
mov eax, dword [ebp - 0x10]
jmp 0x48c36c
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x3c], 0
jne case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48c242
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], eax
jge case.0x408b54.157
cmp esi, dword [ebx + 0x7c]
jae 0x48b8b9
movzx ecx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], ecx
je 0x48c40d
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c40d
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 + 0x4ad498]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x48c433
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x49f600]
movzx eax, byte [eax*8 + 0x4ac101]
mov eax, dword [eax*4 + 0x4b7180]
cmp eax, 1
je 0x48c45f
cmp eax, 3
je 0x48c45f
cmp edx, 0x5f
je 0x48c45f
xor eax, eax
jmp 0x48c464
mov eax, 1
cmp eax, dword [ebp - 0x3c]
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48c3bc
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x408b54.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48c511
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c50e
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 + 0x4af698]
mov dword [ebp - 0x2c], esi
mov esi, dword [esi]
mov dword [ebp - 0xc], esi
cmp edx, esi
mov esi, dword [ebp + 8]
jb 0x48c545
add dword [ebp - 0x2c], 4
mov ebx, dword [ebp + 0x10]
cmp edx, dword [ebp - 0xc]
je 0x48c577
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
mov dword [ebp - 0xc], ecx
cmp edx, ecx
mov ecx, dword [ebp - 8]
jae 0x48c52a
cmp dword [ebp - 0x3c], 0
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48c4ba
jmp 0x408c97
cmp dword [ebp - 0x3c], 0
jne case.0x408b54.157
jmp 0x48c54f
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x24]
jge case.0x408b54.157
mov ecx, dword [ebp - 8]
cmp ecx, dword [ebx + 0x7c]
jae 0x48b75e
movzx edx, word [ecx]
add ecx, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 8], ecx
je 0x48c5fc
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c5f9
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 0x48c627
cmp edx, 0x40
je 0x48c627
cmp edx, 0x60
je 0x48c627
cmp edx, 0xa0
jb 0x48c61b
cmp edx, 0xd7ff
jbe 0x48c627
cmp edx, 0xe000
jae 0x48c627
xor edx, edx
jmp 0x48c62c
mov edx, 1
cmp edx, dword [ebp - 0x3c]
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48c5a5
jmp 0x408c97
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.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x408b54.157
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0x2c], eax
cmp esi, eax
jae 0x48b8b9
movzx edx, word [esi]
add esi, 2
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0xc], edx
je 0x48c6d5
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c6d5
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 + 0x4ad498]
shl eax, 7
and edx, 0x8000007f
jns 0x48c6fa
dec edx
or edx, 0xffffff80
inc edx
add eax, edx
movzx eax, word [eax*2 + 0x49f600]
movzx edx, byte [eax*8 + 0x4ac102]
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xc], edx
cmp esi, eax
jae 0x48c7c1
mov ebx, dword [ebp - 0x1c]
mov edi, edx
movzx ecx, word [esi]
mov dword [ebp - 0xc], 1
test ebx, ebx
je 0x48c75c
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x48c75c
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 + 0x4ad498]
shl eax, 7
and ecx, 0x8000007f
jns 0x48c77e
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49f600]
movzx ecx, byte [eax*8 + 0x4ac102]
mov eax, 1
shl eax, cl
test dword [edi*4 + 0x49f524], eax
je 0x48c7b5
mov eax, dword [ebp - 0xc]
mov edi, ecx
lea esi, [esi + eax*2]
mov eax, dword [ebp - 0x2c]
cmp esi, eax
jb 0x48c71f
jmp 0x48c7b8
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 0x48c7ea
cmp esi, eax
jb 0x48c7ea
cmp esi, dword [ebx + 0x88]
jbe 0x48c7ea
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
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.00408ad0
add esp, 0x14
test eax, eax
je 0x48c67f
jmp 0x408c97
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x409377
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x409377
cmp dword [ebx + 0x1c], 1
je case.0x408b54.157
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x408b54.157
jmp 0x409377
movzx eax, word [esi]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add esi, 2
jmp 0x40938f
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x48666b
jmp dword [eax*4 + 0x48d546]
cmp edx, 0xd
ja 0x48c8bc
je 0x48c8a1
cmp edx, 0xa
je case.0x48c87c.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x408b54.157
jmp 0x48c8d3
cmp esi, dword [ebx + 0x7c]
jae case.0x48c87c.13
cmp word [esi], 0xa
jne case.0x48c87c.13
add esi, 2
jmp case.0x48c87c.13
cmp edx, 0x85
je 0x48c8d3
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x408b54.157
cmp dword [ebx + 0x6c], 0
jne case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x180e
ja 0x48c926
je case.0x408b54.157
cmp edx, 0xa0
ja 0x48c915
je case.0x408b54.157
cmp edx, 9
je case.0x408b54.157
cmp edx, 0x20
je case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x1680
je case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x205f
ja 0x48c95d
je case.0x408b54.157
cmp edx, 0x2000
jb case.0x48c87c.13
cmp edx, 0x200a
jbe case.0x408b54.157
cmp edx, 0x202f
je case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x3000
je case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x180e
ja 0x48c9b2
je case.0x48c87c.13
cmp edx, 0xa0
ja 0x48c9a1
je case.0x48c87c.13
cmp edx, 9
je case.0x48c87c.13
cmp edx, 0x20
jne case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x1680
jne case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x205f
ja 0x48c9e9
je case.0x48c87c.13
cmp edx, 0x2000
jb case.0x408b54.157
cmp edx, 0x200a
jbe case.0x48c87c.13
cmp edx, 0x202f
jne case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x3000
jne case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x85
ja 0x48ca1f
je case.0x408b54.157
cmp edx, 0xa
jb case.0x48c87c.13
cmp edx, 0xd
jbe case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x2028
jb case.0x48c87c.13
cmp edx, 0x2029
jbe case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x85
ja 0x48ca5b
je case.0x48c87c.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x408b54.157
jmp case.0x48c87c.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x100
jae case.0x48c87c.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x100
jae case.0x408b54.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x100
jae case.0x48c87c.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x100
jae case.0x408b54.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x100
jae case.0x48c87c.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x408b54.157
jmp case.0x48c87c.13
cmp edx, 0x100
jae case.0x408b54.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x408b54.157
jmp case.0x48c87c.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48c87c.13
cmp dword [ebx + 0x18], 0
jne case.0x48c87c.13
cmp dword [ebx + 0x1c], 2
jne case.0x48c87c.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48c87c.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
jmp case.0x48c87c.13
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x408b54.157
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x48b8b9
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x48cbf9
cmp dword [ebx + 0x18], 0
je 0x48cbca
push 0
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.00407565
add esp, 0xc
test eax, eax
jne case.0x408b54.157
mov ecx, dword [ebp - 0x10]
jmp 0x48cbf6
mov eax, dword [ebx + 0x1c]
add eax, eax
sub edx, eax
cmp esi, edx
ja 0x48cbf6
mov ax, word [esi]
cmp ax, word [ebx + 0x34]
jne 0x48cbf6
cmp dword [ebx + 0x1c], 1
je case.0x408b54.157
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x36]
je case.0x408b54.157
mov eax, dword [ebp - 0x28]
movzx edx, word [esi]
add eax, 0xfffffffa
add esi, 2
cmp eax, 0xf
ja case.default.0x48666b
jmp dword [eax*4 + 0x48d586]
cmp dword [ebx + 0x8c], 0
je case.0x48cc0b.13
cmp esi, dword [ebx + 0x7c]
jb case.0x48cc0b.13
cmp dword [ebx + 0x18], 0
jne case.0x48cc0b.13
cmp dword [ebx + 0x1c], 2
jne case.0x48cc0b.13
movzx eax, word [ebx + 0x34]
cmp edx, eax
jne case.0x48cc0b.13
mov dword [ebx + 0x68], 1
cmp dword [ebx + 0x8c], 1
jg 0x485b7d
jmp case.0x48cc0b.13
cmp edx, 0xd
ja 0x48cc9a
je 0x48cc7f
cmp edx, 0xa
je case.0x48cc0b.13
lea eax, [edx - 0xb]
cmp eax, 1
ja case.0x408b54.157
jmp 0x48ccb1
cmp esi, dword [ebx + 0x7c]
jae case.0x48cc0b.13
cmp word [esi], 0xa
jne case.0x48cc0b.13
add esi, 2
jmp case.0x48cc0b.13
cmp edx, 0x85
je 0x48ccb1
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x408b54.157
cmp dword [ebx + 0x6c], 0
jne case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x180e
ja 0x48cd04
je case.0x408b54.157
cmp edx, 0xa0
ja 0x48ccf3
je case.0x408b54.157
cmp edx, 9
je case.0x408b54.157
cmp edx, 0x20
je case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x1680
je case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x205f
ja 0x48cd3b
je case.0x408b54.157
cmp edx, 0x2000
jb case.0x48cc0b.13
cmp edx, 0x200a
jbe case.0x408b54.157
cmp edx, 0x202f
je case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x3000
je case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x180e
ja 0x48cd90
je case.0x48cc0b.13
cmp edx, 0xa0
ja 0x48cd7f
je case.0x48cc0b.13
cmp edx, 9
je case.0x48cc0b.13
cmp edx, 0x20
jne case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x1680
jne case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x205f
ja 0x48cdc7
je case.0x48cc0b.13
cmp edx, 0x2000
jb case.0x408b54.157
cmp edx, 0x200a
jbe case.0x48cc0b.13
cmp edx, 0x202f
jne case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x3000
jne case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x85
ja 0x48cdfd
je case.0x408b54.157
cmp edx, 0xa
jb case.0x48cc0b.13
cmp edx, 0xd
jbe case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x2028
jb case.0x48cc0b.13
cmp edx, 0x2029
jbe case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0x85
ja 0x48ce39
je case.0x48cc0b.13
lea eax, [edx - 0xa]
cmp eax, 3
ja case.0x408b54.157
jmp case.0x48cc0b.13
lea eax, [edx - 0x2028]
cmp eax, 1
ja case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0xff
ja case.0x48cc0b.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
jne case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0xff
ja case.0x408b54.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 4
je case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0xff
ja case.0x48cc0b.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
jne case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0xff
ja case.0x408b54.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 1
je case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0xff
ja case.0x48cc0b.13
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
jne case.0x408b54.157
jmp case.0x48cc0b.13
cmp edx, 0xff
ja case.0x408b54.157
mov eax, dword [ebx + 0x44]
test byte [edx + eax], 0x10
je case.0x408b54.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.00408ad0
add esp, 0x14
test eax, eax
je 0x48cb84
jmp 0x408c97
mov dword [ebx + 0x9c], 2
jmp 0x40921c
movzx ecx, word [edi + 2]
lea eax, [edi + ecx*2]
cmp dword [ebx + 0x80], eax
jae 0x409265
cmp word [edi], 0x77
je 0x48cf43
cmp word [eax], 0x77
jne 0x409265
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 0x409210
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 0x409265
cmp edx, 0xfffffc1b
jne 0x48cfd1
movzx eax, word [edi]
mov ecx, 0x81
cmp ax, cx
je 0x48cfc3
cmp eax, 0x77
jne 0x48cfba
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je 0x48cfac
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 0x408c97
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 + 0x49f558]
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.00408ad0
mov edi, eax
add esp, 0x14
cmp edi, 1
je 0x48d028
cmp edi, 0xfffffc19
jne 0x48d041
cmp dword [ebx + 0xb0], 0
jne 0x48d041
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 0xb0], ecx
mov eax, edi
jmp 0x408c97
cmp edi, 0xfffffc1f
jne 0x48d05f
mov edx, dword [ebx + 0x80]
mov ecx, dword [ebp - 0xc]
call fcn.004720e4
test eax, eax
je 0x48d172
mov eax, edi
jmp 0x408c97
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 + 0x49f558]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, 0xfffffc1c
jmp 0x408c97
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 + 0x49f558]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov eax, 0xfffffc1d
jmp 0x408c97
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 + 0x49f558]
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.00408ad0
add esp, 0x14
cmp eax, 1
je 0x48d120
cmp eax, 0xfffffc19
jne 0x48d12f
cmp dword [ebx + 0xb0], 0
jne 0x48d12f
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0x408c97
mov eax, 0xfffffc1d
jmp 0x408c97
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 + 0x49f558]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
mov ecx, esi
call fcn.00408ad0
add esp, 0x14
test eax, eax
jne 0x408c97
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1e
jmp 0x408c97
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 + 0x49f558]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.00408ad0
add esp, 0x14
jmp 0x48d1b1
mov dword [ebx + 0xb0], esi
test eax, eax
jne 0x408c97
mov dword [ebx + 0x80], edi
mov eax, 0xfffffc20
jmp 0x408c97
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 + 0x49f558]
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.00408ad0
add esp, 0x14
cmp eax, 1
je 0x48d211
cmp eax, 0xfffffc19
jne 0x48d1b1
cmp dword [ebx + 0xb0], 0
jne 0x48d1b1
jmp 0x48d1ab
cmp esi, 0x9f
je 0x408c75
cmp dword [ebx + 0xa8], 0
jne 0x408c75
cmp dword [ebx + 0x60], 0
jne case.0x408b54.157
cmp dword [ebx + 0x64], 0
je 0x408c75
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x78]
lea eax, [eax + ecx*2]
cmp edi, eax
je case.0x408b54.157
jmp 0x408c75
mov eax, 0xfffffc19
jmp 0x408c97
mov eax, 0xfffffffb
jmp 0x408c97
mov eax, 0xffffffeb
jmp 0x408c97
inc dword [ebx]
mov eax, 0xfffffff8
jmp 0x408c97