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

Disassembly:
sub esp, 0x140
push ebx
push ebp
xor eax, eax
push esi
push edi
cmp dword [esp + 0x158], eax
jne 0x486de0
cmp dword [esp + 0x16c], eax
jne 0x486dc0
push 1
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0x184]
push eax
call fcn.00486d80
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
lea eax, [esp + 0x16c]
sub eax, dword [esp + 0x154]
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ebx, dword [esp + 0x164]
mov ecx, dword [ebx]
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
cmp ecx, dword [ebx + 4]
jae 0x48c72e
mov ebp, dword [esp + 0x154]
jmp 0x486e05
xor eax, eax
inc ecx
mov dword [ebx], ecx
mov ecx, dword [esp + 0x16c]
cmp ecx, dword [ebx + 8]
jae 0x48c740
cmp dword [ebx + 0x9c], 2
jne 0x486e41
mov edx, dword [esp + 0x168]
lea ecx, [esp + 0x54]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], edx
mov dword [esp + 0x168], ecx
mov dword [ebx + 0x9c], eax
mov esi, dword [esp + 0x158]
movzx eax, word [esi]
xor ecx, ecx
mov edx, eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edx
cmp edx, 0x9b
ja case.0x486e6e.98
movzx edi, byte [edx + 0x48ecbc]
jmp dword [edi*4 + 0x48eb74]
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x70], ecx
je 0x48c9fb
movzx edx, byte [edx + 0x4af7c0]
movzx eax, word [esi + 2]
add edx, eax
lea ecx, [esi + edx*2]
mov dword [esp + 0x158], ecx
jmp 0x486e41
mov ebx, dword [esp + 0x164]
mov edx, dword [ebx + 0xb0]
mov edi, dword [esp + 0x15c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edx
mov edi, edi
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x160]
mov esi, dword [esp + 0x158]
inc eax
push eax
push ecx
push ebx
push edx
push edi
lea eax, [esi + 4]
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
cmp eax, 1
je 0x486fb5
cmp eax, 0xfffffc20
jne 0x486f1e
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48eb66
cmp word [esi], 0x71
je 0x486f26
cmp word [ecx], 0x71
jmp 0x486f20
test eax, eax
jne 0x48eb66
movzx edx, word [esi + 2]
mov ecx, dword [esp + 0x24]
lea eax, [esi + edx*2]
mov dword [ebx + 0xb0], ecx
cmp word [eax], 0x71
mov dword [esp + 0x158], eax
je 0x486ec0
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x7c
je 0x486f60
cmp eax, 0x71
jne case.0x486e6e.151
jmp 0x486f60
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
mov dword [esp + 0x158], eax
je 0x486f60
mov esi, dword [esp + 0x158]
cmp word [esi], 0x72
mov eax, dword [ebx + 0x90]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x160], eax
je 0x486fa6
cmp ebp, dword [esp + 0x20]
jne 0x48c3ad
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x486e41
mov edi, dword [ebx + 0x80]
mov dword [esp + 0x15c], edi
jmp 0x486f4a
mov dword [esp + 0x24], ecx
jmp 0x487ac9
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
mov ebx, dword [esp + 0x164]
jne 0x4870c4
mov ecx, dword [0x4cc494]
test ecx, ecx
je 0x4870ba
mov dword [esp + 0xa0], 2
movzx eax, word [esi + 6]
mov dword [esp + 0xa4], eax
mov edx, dword [ebx + 0xc]
mov dword [esp + 0xa8], edx
mov eax, dword [ebx + 0x78]
mov dword [esp + 0xac], eax
mov edx, dword [ebx + 0x7c]
sub edx, dword [ebx + 0x78]
mov eax, dword [esp + 0x15c]
sar edx, 1
mov dword [esp + 0xb0], edx
sub eax, dword [ebx + 0x78]
mov edx, ebp
sar eax, 1
mov dword [esp + 0xb4], eax
sub edx, dword [ebx + 0x78]
sar edx, 1
mov dword [esp + 0xb8], edx
movzx eax, word [esi + 8]
mov dword [esp + 0xc8], eax
movzx edx, word [esi + 0xa]
mov eax, dword [esp + 0x160]
mov dword [esp + 0xcc], edx
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xbc], eax
mov eax, dword [ebx + 0x94]
mov dword [esp + 0xc0], eax
mov edx, dword [ebx + 0xac]
mov dword [esp + 0xc4], edx
mov eax, dword [ebx + 0xb4]
lea edx, [esp + 0xa0]
push edx
mov dword [esp + 0xd4], eax
call ecx
add esp, 4
test eax, eax
jg case.0x486e6e.151
js 0x48eb66
mov edx, dword [esp + 0x14]
add esi, 0xc
mov dword [esp + 0x158], esi
movzx ecx, word [esi + 4]
lea eax, [esi + 4]
cmp ecx, 0x89
je 0x4872ca
cmp ecx, 0x8a
je 0x4872ca
cmp ecx, 0x87
je 0x48715b
cmp ecx, 0x88
je 0x48715b
cmp ecx, 0x8b
jne 0x487107
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x487408
mov edx, dword [esp + 0x160]
mov dword [ebx + 0x9c], 1
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push 0
push ebx
push edx
push ecx
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
cmp eax, 1
je 0x48c350
test eax, eax
je 0x48714f
cmp eax, 0xfffffc20
jne 0x48eb66
mov edx, dword [esp + 0x14]
lea eax, [esi + edi*2]
jmp 0x487408
movzx eax, word [esi + 6]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x487177
mov edi, dword [ebx + 0xc]
cmp dword [edi + eax*4], 0
jge 0x4872b5
mov dword [esp + 0x20], 0
cmp ecx, 0x88
jne 0x48727f
mov ecx, dword [ebx + 0x20]
mov esi, dword [ebx + 0x28]
sar eax, 1
xor edi, edi
mov dword [esp + 0x18], ecx
test ecx, ecx
jle 0x4871b2
lea ecx, [ecx]
movzx edx, word [esi]
cmp edx, eax
je 0x4871b2
mov edx, dword [ebx + 0x24]
inc edi
lea esi, [esi + edx*2]
cmp edi, ecx
jl 0x4871a0
cmp edi, ecx
jge 0x48727f
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x28]
mov ebx, esi
mov dword [esp + 0x30], eax
cmp esi, eax
jbe 0x487223
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x24]
add eax, eax
mov dword [esp + 0x24], eax
mov edi, edi
sub ebx, dword [esp + 0x24]
lea ecx, [esi + 2]
lea eax, [ebx + 2]
call fcn.0048ffc0
test eax, eax
jne 0x487223
movzx eax, word [ebx]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x487215
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x4872a4
mov dword [esp + 0x20], 0
cmp ebx, dword [esp + 0x30]
ja 0x4871e0
inc edi
cmp edi, dword [esp + 0x18]
jge 0x48727f
mov edx, dword [esp + 0x164]
mov ebx, dword [edx + 0x24]
lea eax, [esi + 2]
add ebx, ebx
mov dword [esp + 0x30], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x30]
add esi, ebx
lea eax, [esi + 2]
call fcn.0048ffc0
test eax, eax
jne 0x48727f
movzx eax, word [esi]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x487270
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x4872a8
inc edi
mov dword [esp + 0x20], 0
cmp edi, dword [esp + 0x18]
jl 0x487240
mov eax, dword [esp + 0x158]
movzx eax, word [eax + 2]
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x164]
mov edx, dword [esp + 0x14]
lea eax, [esi + eax*2]
jmp 0x4873fd
mov ebx, edx
jmp 0x4872aa
mov ebx, ecx
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x14]
mov eax, 2
mov dword [esp + 0x20], 1
lea eax, [esi + eax*2]
jmp 0x4873fd
cmp dword [ebx + 0xa8], 0
jne 0x4872df
movzx ecx, word [esi + 2]
lea eax, [esi + ecx*2]
jmp 0x487408
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x487421
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
cmp edx, eax
je 0x487421
mov dword [esp + 0x20], 0
cmp ecx, 0x8a
jne 0x4873d4
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x20]
mov esi, dword [ecx + 0x28]
xor ebx, ebx
mov dword [esp + 0x18], eax
test eax, eax
jle 0x487342
nop
movzx edi, word [esi]
cmp edi, edx
je 0x487342
mov edi, dword [ecx + 0x24]
inc ebx
lea esi, [esi + edi*2]
cmp ebx, eax
jl 0x487330
cmp ebx, eax
jge 0x4873d4
mov eax, dword [ecx + 0x28]
mov edi, esi
mov dword [esp + 0x34], eax
cmp esi, eax
jbe 0x48738f
mov eax, dword [ecx + 0x24]
add eax, eax
mov dword [esp + 0x24], eax
sub edi, dword [esp + 0x24]
lea ecx, [esi + 2]
lea eax, [edi + 2]
call fcn.0048ffc0
test eax, eax
jne 0x48738f
movzx ecx, word [edi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x487429
cmp edi, dword [esp + 0x34]
ja 0x487360
inc ebx
cmp ebx, dword [esp + 0x18]
jge 0x4873d4
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x24]
lea eax, [esi + 2]
add edi, edi
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x34]
add esi, edi
lea eax, [esi + 2]
call fcn.0048ffc0
test eax, eax
jne 0x4873d4
movzx ecx, word [esi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x487429
inc ebx
cmp ebx, dword [esp + 0x18]
jl 0x4873a9
mov edx, dword [esp + 0x158]
movzx eax, word [edx + 2]
mov ecx, dword [esp + 0x158]
mov ebx, dword [esp + 0x164]
lea edx, [ecx + eax*2]
mov dword [esp + 0x158], edx
mov eax, edx
mov edx, dword [esp + 0x14]
cmp dword [esp + 0x20], 0
jne 0x48c392
cmp word [eax], 0x71
je 0x48c392
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x486e41
mov dword [esp + 0x20], 1
mov eax, 2
jmp 0x4873df
mov eax, dword [esp + 0x158]
movzx esi, word [eax + 2]
mov ecx, dword [esp + 0x164]
lea eax, [esi + esi]
mov dword [ecx + 0x94], esi
cmp eax, dword [ecx + 0x14]
jl 0x487464
add dword [esp + 0x158], 4
mov dword [ecx + 0x40], 1
jmp 0x486e41
mov edi, dword [ecx + 0x10]
mov edx, dword [ecx + 0xc]
sub edi, esi
mov esi, dword [edx + edi*4]
mov dword [edx + eax*4], esi
mov edx, ebp
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0xc]
sar edx, 1
mov dword [ecx + eax*4 + 4], edx
cmp dword [esp + 0x160], eax
jg 0x487493
add eax, 2
mov dword [esp + 0x160], eax
add dword [esp + 0x158], 4
jmp 0x486e41
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0xb0]
mov eax, 1
mov dword [esp + 0x24], edx
cmp dword [esi + 0x9c], eax
jne 0x4874ca
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x4874ce
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x160]
lea esp, [esp]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x158]
inc eax
push eax
push 0
push esi
push ebx
push edi
add ecx, 4
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
cmp eax, 1
je 0x487544
cmp eax, 0xfffffc19
je 0x487544
test eax, eax
je 0x48751d
cmp eax, 0xfffffc20
jne 0x48eb66
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
mov ecx, dword [esp + 0x24]
lea eax, [eax + edx*2]
mov dword [esi + 0xb0], ecx
cmp word [eax], 0x71
mov dword [esp + 0x158], eax
je 0x4874e0
jmp 0x487551
mov edx, dword [esi + 0x80]
mov dword [esp + 0x15c], edx
mov eax, dword [esp + 0x158]
cmp word [eax], 0x72
je case.0x486e6e.151
cmp dword [esp + 0x20], 0
jne 0x48cdb1
lea ecx, [ecx]
mov eax, dword [esp + 0x158]
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
mov dword [esp + 0x158], eax
je 0x487570
mov edx, dword [esi + 0x90]
add dword [esp + 0x158], 4
mov dword [esp + 0x160], edx
jmp 0x486e41
mov esi, dword [esp + 0x164]
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x24], eax
mov eax, 1
cmp dword [esi + 0x9c], eax
jne 0x4875d0
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x4875d4
mov dword [esp + 0x20], ecx
mov ebx, dword [esp + 0x160]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x15c]
mov edi, dword [esp + 0x158]
inc ecx
push ecx
push 0
push esi
push ebx
push edx
lea eax, [edi + 4]
push eax
push ebp
call fcn.00486d80
mov ecx, dword [esp + 0x40]
add esp, 0x1c
mov dword [esi + 0xb0], ecx
cmp eax, 1
je case.0x486e6e.151
cmp eax, 0xfffffc19
je case.0x486e6e.151
cmp eax, 0xfffffc1e
je 0x487660
cmp eax, 0xfffffc1d
je 0x487660
cmp eax, 0xfffffc1a
je 0x487660
test eax, eax
je 0x487646
cmp eax, 0xfffffc20
jne 0x48eb66
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea eax, [edi + edx*2]
mov dword [esp + 0x158], eax
jne 0x48767c
jmp 0x4875db
mov eax, dword [esp + 0x158]
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
mov dword [esp + 0x158], eax
je 0x487660
cmp dword [esp + 0x20], 0
jne 0x48cdb1
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x486e41
movzx eax, word [esi + 2]
mov edx, dword [esp + 0x164]
cmp eax, ecx
jle 0x4876d1
mov ecx, dword [edx + 0x78]
sub ebp, 2
dec eax
cmp ebp, ecx
jb case.0x486e6e.151
mov di, word [ebp]
mov ebx, 0xfc00
and di, bx
mov ebx, 0xdc00
cmp di, bx
jne 0x4876cd
sub ebp, 2
test eax, eax
jg 0x4876a8
cmp ebp, dword [edx + 0x88]
jae 0x4876df
mov dword [edx + 0x88], ebp
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x486e41
mov esi, dword [0x4cc494]
mov edi, dword [esp + 0x158]
test esi, esi
je 0x4877c4
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x68], 2
movzx edx, word [edi + 2]
mov dword [esp + 0x6c], edx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x70], eax
mov edx, dword [ecx + 0x78]
mov dword [esp + 0x74], edx
mov eax, dword [ecx + 0x7c]
sub eax, dword [ecx + 0x78]
mov edx, dword [esp + 0x15c]
sar eax, 1
mov dword [esp + 0x78], eax
sub edx, dword [ecx + 0x78]
mov eax, ebp
sar edx, 1
mov dword [esp + 0x7c], edx
sub eax, dword [ecx + 0x78]
sar eax, 1
mov dword [esp + 0x80], eax
movzx edx, word [edi + 8]
mov dword [esp + 0x90], edx
movzx eax, word [edi + 0xa]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x160]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x84], eax
mov edx, dword [ecx + 0x94]
mov dword [esp + 0x88], edx
mov eax, dword [ecx + 0xac]
mov dword [esp + 0x8c], eax
mov ecx, dword [ecx + 0xb4]
mov dword [esp + 0x98], ecx
mov edx, dword [edi + 4]
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0xa0], edx
call esi
add esp, 4
test eax, eax
jg case.0x486e6e.151
js 0x48eb66
add edi, 0xc
mov dword [esp + 0x158], edi
jmp 0x486e41
mov ecx, dword [esp + 0x158]
movzx edx, word [ecx + 2]
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x74]
lea esi, [eax + edx*2]
cmp esi, eax
jne 0x4877f3
xor ecx, ecx
jmp 0x4877f7
movzx ecx, word [esi + 4]
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x487815
cmp ecx, dword [eax + 4]
jne 0x48780f
cmp ebp, dword [eax + 0x10]
je 0x48cd0c
mov eax, dword [eax]
test eax, eax
jne 0x487801
add dword [esp + 0x158], 4
mov dword [esp + 0x44], ecx
mov dword [esp + 0x50], ebp
mov ecx, dword [ebx + 0xa8]
mov dword [esp + 0x40], ecx
lea edx, [esp + 0x40]
mov dword [ebx + 0xa8], edx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x4c], ecx
cmp ecx, 0x1e
jg 0x487852
lea eax, [esp + 0xd8]
mov dword [esp + 0x48], eax
jmp 0x487873
lea eax, [ecx*4]
push eax
call dword [0x4c7398]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x48cd1c
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebx + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00498820
mov eax, 0x82
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
test eax, eax
je 0x4878a2
mov dword [ebx + 0x9c], 2
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x160]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
movzx edx, word [esi]
push ebx
push eax
movzx eax, byte [edx + 0x4af7c0]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00486d80
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
add esp, 0x1c
mov edi, eax
lea eax, [edx*4]
mov edx, dword [ebx + 0xc]
push eax
push ecx
push edx
call fcn.00498820
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov dword [ebx + 0xa8], eax
cmp edi, 1
je 0x487946
cmp edi, 0xfffffc19
je 0x487946
test edi, edi
je 0x487921
cmp edi, 0xfffffc20
jne 0x48cd2c
lea ecx, [esp + 0x40]
mov dword [ebx + 0xa8], ecx
movzx edx, word [esi + 2]
cmp word [esi + edx*2], 0x71
lea esi, [esi + edx*2]
jne 0x48cd56
mov eax, dword [esp + 0x20]
jmp 0x487894
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x48795f
push eax
call dword [0x4c739c]
add esp, 4
mov edx, dword [ebx + 0x80]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x15c], edx
jmp 0x486e41
mov eax, dword [esp + 0x158]
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
mov dword [esp + 0x158], eax
je case.0x486e6e.113
jmp 0x486e41
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov esi, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
push edx
push eax
add esi, 2
push esi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
jmp 0x4879f0
movzx ecx, word [esi + 2]
cmp word [esi + ecx*2], 0x71
lea esi, [esi + ecx*2]
je 0x4879f0
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x486e41
mov esi, dword [esp + 0x158]
add esi, 2
mov eax, esi
lea esp, [esp]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
je 0x487a20
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
inc ecx
push ecx
mov ecx, dword [esp + 0x168]
push edx
mov edx, dword [esp + 0x168]
push ecx
mov ecx, dword [esp + 0x168]
push edx
push ecx
add eax, 4
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov dword [esp + 0x158], esi
jmp 0x486e41
lea eax, [esi + 2]
jmp 0x487a80
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
je 0x487a80
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x486e41
movzx eax, word [esi + 2]
add esi, 2
mov dword [esp + 0x158], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], 1
cmp eax, 0x80
je 0x487ac9
cmp eax, 0x85
jne 0x487c7b
movzx edx, word [esi + 4]
mov ebx, dword [esp + 0x164]
lea ecx, [edx + edx]
mov dword [esp + 0x28], edx
cmp ecx, dword [ebx + 0x14]
jge 0x487c73
mov eax, dword [ebx + 0xc]
mov edi, dword [eax + ecx*4]
mov ecx, dword [eax + ecx*4 + 4]
mov esi, dword [esp + 0x158]
sub esi, dword [ebx + 0x74]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 0x10]
sar esi, 1
sub ecx, edx
mov edx, dword [eax + ecx*4]
mov eax, dword [ebx + 0x94]
mov dword [esp + 0x18], 0
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], eax
mov edx, dword [ebx + 0x10]
sub edx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x158]
mov ecx, ebp
sub ecx, dword [ebx + 0x78]
sar ecx, 1
cmp dword [esp + 0x14], 0x82
mov dword [eax + edx*4], ecx
jl 0x487b4f
mov dword [ebx + 0x9c], 2
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x160]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
movzx edx, word [edi]
push ebx
push eax
movzx eax, byte [edx + 0x4af7c0]
push ecx
lea ecx, [edi + eax*2]
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x487bc6
mov edx, dword [ebx + 0x90]
mov eax, dword [ebx + 0x74]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x160], edx
mov edx, dword [ebx + 0x94]
lea ecx, [eax + esi*2]
mov dword [esp + 0x158], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], 1
jmp 0x487b20
cmp eax, 0xfffffc20
jne 0x487bec
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48eb66
cmp word [edi], 0x71
je 0x487bf4
cmp word [ecx], 0x71
jmp 0x487bee
test eax, eax
jne 0x48eb66
mov edx, dword [esp + 0x20]
mov dword [ebx + 0x94], edx
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea eax, [edi + eax*2]
mov dword [esp + 0x158], eax
je 0x487b20
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x487c4a
mov ecx, dword [esp + 0x28]
mov esi, dword [ebx + 0xc]
mov edi, dword [esp + 0x34]
lea eax, [ecx + ecx]
mov dword [esi + eax*4], edi
mov esi, dword [ebx + 0xc]
mov edi, dword [esp + 0x1c]
mov dword [esi + eax*4 + 4], edi
mov eax, dword [ebx + 0x10]
mov esi, dword [esp + 0x30]
sub eax, ecx
mov ecx, dword [ebx + 0xc]
mov dword [ecx + eax*4], esi
cmp dword [esp + 0x24], 0
jne 0x487c59
test edx, edx
je case.0x486e6e.151
add dword [esp + 0x158], 4
jmp 0x486e41
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x24], ecx
jmp 0x487c82
xor ecx, ecx
mov dword [esp + 0x24], ecx
jmp 0x487c82
mov ebx, dword [esp + 0x164]
mov edi, dword [esp + 0x164]
mov eax, esi
sub eax, dword [ebx + 0x74]
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x160]
sar eax, 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], eax
cmp dword [esp + 0x14], 0x82
jl 0x487cba
mov dword [edi + 0x9c], 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x15c]
inc edx
push edx
movzx edx, word [esi]
push eax
movzx eax, byte [edx + 0x4af7c0]
push edi
push ebx
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x487d1a
mov ebx, dword [edi + 0x90]
mov edx, dword [edi + 0x74]
mov eax, dword [esp + 0x30]
mov ebp, dword [edi + 0x84]
mov dword [esp + 0x160], ebx
lea esi, [edx + eax*2]
mov dword [esp + 0x18], 1
jmp 0x487ca6
cmp eax, 0xfffffc20
jne 0x487d40
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [edi + 0x80], ecx
jae 0x48eb66
cmp word [esi], 0x71
je 0x487d48
cmp word [ecx], 0x71
jmp 0x487d42
test eax, eax
jne 0x48eb66
movzx edx, word [esi + 2]
cmp word [esi + edx*2], 0x71
lea esi, [esi + edx*2]
je 0x487ca6
cmp dword [esp + 0x18], 0
jne 0x487d6c
cmp dword [esp + 0x24], 0
je case.0x486e6e.151
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x486e41
mov ecx, dword [esp + 0x158]
movzx eax, word [ecx + 2]
add eax, eax
mov edi, ecx
sub edi, eax
movzx eax, word [edi]
mov edx, 0x82
mov dword [esp + 0x18], edi
cmp ax, dx
jae 0x487dac
cmp eax, 0x7b
je 0x487dac
mov dword [esp + 0x20], 0
jmp 0x487dc3
mov edx, dword [esp + 0x168]
mov esi, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x20], esi
mov dword [esp + 0x168], edx
cmp eax, 0x77
jb 0x487dd1
cmp eax, 0x7a
jbe 0x48cd8a
cmp eax, 0x7c
je 0x48cd8a
cmp eax, 0x7f
je 0x487e01
mov edx, 0x84
cmp ax, dx
je 0x487e01
mov edx, 0x80
cmp ax, dx
je 0x487e01
mov edx, 0x85
cmp ax, dx
jne 0x487e9f
movzx eax, word [edi + 4]
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0xa8], 0
mov dword [esp + 0x28], eax
lea edx, [eax + eax]
je 0x487e2b
mov esi, dword [ebx + 0xa8]
cmp dword [esi + 4], eax
je 0x48cdc1
mov esi, dword [esp + 0x160]
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x487e49
mov dword [ebx + 0x40], 1
jmp 0x487ead
cmp edx, esi
jle 0x487e6a
mov eax, dword [ebx + 0xc]
lea edi, [eax + esi*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x487e66
sub ecx, edi
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x18]
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*4]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebx + 0xc]
mov eax, ebp
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ecx + edx*4 + 4], eax
mov ecx, dword [esp + 0x158]
cmp esi, edx
jg 0x487ead
lea esi, [edx + 2]
mov dword [esp + 0x160], esi
jmp 0x487ead
mov esi, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
cmp word [ecx], 0x72
je 0x487ebd
cmp ebp, dword [esp + 0x20]
jne 0x48c644
cmp word [edi], 0x7b
je 0x48ce86
add ecx, 4
mov dword [esp + 0x158], ecx
jmp 0x486e41
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x487ef4
cmp ebp, dword [eax + 0x78]
je case.0x486e6e.151
jmp 0x487ef4
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x78]
jne case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x487f21
cmp ebp, dword [eax + 0x78]
je case.0x486e6e.151
mov edx, dword [eax + 0x78]
cmp ebp, edx
je 0x487fa0
cmp ebp, dword [eax + 0x7c]
je case.0x486e6e.151
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x487f69
cmp ebp, edx
jbe case.0x486e6e.151
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.00490130
add esp, 8
test eax, eax
je case.0x486e6e.151
add dword [esp + 0x158], 2
jmp 0x486e41
mov esi, dword [eax + 0x1c]
mov ecx, dword [eax + 0x78]
lea edx, [esi + esi]
add ecx, edx
cmp ebp, ecx
jb case.0x486e6e.151
mov ecx, ebp
sub ecx, edx
mov dx, word [ecx]
cmp dx, word [eax + 0x2c]
jne case.0x486e6e.151
cmp esi, 1
je 0x487fa0
mov cx, word [ecx + 2]
cmp cx, word [eax + 0x2e]
jne case.0x486e6e.151
add dword [esp + 0x158], 2
jmp 0x486e41
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x98]
mov eax, dword [eax + 0x78]
lea ecx, [eax + edx*2]
cmp ebp, ecx
jne case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
add esi, 2
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x158], esi
jmp 0x486e41
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x488078
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x488035
mov edx, dword [eax + 0x7c]
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.00490070
add esp, 8
test eax, eax
je case.0x486e6e.151
mov esi, dword [esp + 0x158]
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov ecx, dword [eax + 0x1c]
mov edi, dword [eax + 0x7c]
lea edx, [ecx + ecx]
sub edi, edx
cmp ebp, edi
ja case.0x486e6e.151
mov dx, word [ebp]
cmp dx, word [eax + 0x2c]
jne case.0x486e6e.151
cmp ecx, 1
je 0x4880a5
mov cx, word [ebp + 2]
cmp cx, word [eax + 0x2e]
jne case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
cmp dword [eax + 0x48], ecx
jne case.0x486e6e.151
cmp dword [eax + 0x8c], ecx
je 0x4880a5
cmp ebp, dword [eax + 0x88]
jbe 0x4880a5
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48ceff
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x48], ecx
jne case.0x486e6e.151
cmp dword [ebx + 0x58], ecx
je 0x488115
jmp 0x4880d2
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jb case.0x486e6e.151
cmp dword [ebx + 0x8c], ecx
je 0x4880ff
cmp ebp, dword [ebx + 0x88]
jbe 0x4880ff
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x48ceff
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jae 0x488186
mov eax, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
cmp eax, ecx
je 0x488142
mov edx, dword [ebx + 0x7c]
push 1
push eax
mov ecx, ebp
call fcn.00490070
add esp, 8
test eax, eax
je case.0x486e6e.151
jmp 0x488175
mov eax, dword [esi]
mov ecx, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub ecx, edx
cmp ebp, ecx
ja case.0x486e6e.151
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne case.0x486e6e.151
cmp eax, 1
je 0x488175
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
jne case.0x486e6e.151
mov ecx, dword [esi]
mov edx, dword [ebx + 0x7c]
add ecx, ecx
sub edx, ecx
cmp ebp, edx
jne case.0x486e6e.151
cmp dword [ebx + 0x8c], 0
je 0x4881ab
cmp ebp, dword [ebx + 0x88]
jbe 0x4881ab
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x48ceff
add dword [esp + 0x158], 2
jmp 0x486e41
mov edx, dword [esp + 0x164]
cmp ebp, dword [edx + 0x78]
je 0x488284
mov ax, word [ebp - 2]
lea ecx, [ebp - 2]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x4881e4
sub ecx, 2
cmp ecx, dword [edx + 0x88]
jae 0x4881f2
mov dword [edx + 0x88], ecx
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48821e
movzx ecx, word [ecx + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
cmp dword [edx + 0x54], 0
je 0x48826d
cmp eax, 0x5f
jne 0x488231
lea ecx, [eax - 0x5e]
jmp 0x488286
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4b10e8]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b32e8]
movzx ecx, byte [eax*8 + 0x4b0009]
mov eax, dword [ecx*4 + 0x4af860]
cmp eax, 1
je 0x488266
cmp eax, 3
jne 0x488284
mov ecx, 1
jmp 0x488286
cmp eax, 0x100
jae 0x488284
mov ecx, dword [edx + 0x3c]
test byte [eax + ecx], 0x10
je 0x488284
mov ecx, 1
jmp 0x488286
xor ecx, ecx
cmp ebp, dword [edx + 0x7c]
jb 0x4882d5
cmp dword [edx + 0x8c], 0
je 0x4882b0
cmp ebp, dword [edx + 0x88]
jbe 0x4882b0
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x48ceff
xor eax, eax
mov dx, word [esi]
add esi, 2
mov dword [esp + 0x158], esi
cmp dx, 5
jne 0x488379
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x488380
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x488302
movzx edi, word [ebp + 2]
and eax, 0x3ff
and edi, 0x3ff
shl eax, 0xa
or eax, edi
add eax, 0x10000
cmp dword [edx + 0x54], 0
je 0x488357
cmp eax, 0x5f
jne 0x488314
mov eax, 1
jmp 0x4882b2
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4b10e8]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4b32e8]
movzx edx, byte [eax*8 + 0x4b0009]
mov eax, dword [edx*4 + 0x4af860]
cmp eax, 1
je 0x48834d
cmp eax, 3
jne 0x4882b0
mov eax, 1
jmp 0x4882b2
cmp eax, 0x100
jae 0x4882b0
mov edx, dword [edx + 0x3c]
test byte [eax + edx], 0x10
je 0x4882b0
mov eax, 1
jmp 0x4882b2
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x486e41
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x18]
cmp eax, ecx
je 0x4883d4
cmp ebp, dword [ebx + 0x7c]
jae 0x48840d
mov edx, dword [ebx + 0x7c]
push 1
lea esi, [ebx + 0x1c]
push eax
mov ecx, ebp
call fcn.00490070
add esp, 8
test eax, eax
jne case.0x486e6e.151
mov esi, dword [esp + 0x158]
xor ecx, ecx
jmp 0x48840d
mov eax, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x48840d
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne 0x48840d
cmp eax, 1
je case.0x486e6e.151
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
je case.0x486e6e.151
jmp 0x48840d
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x7c]
cmp ebp, eax
jae 0x48ced3
add ebp, 2
cmp ebp, eax
jae 0x488438
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x488438
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cf0f
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cf4b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4884ac
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0x100
jae 0x4884c0
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
jne case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cf4b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x488512
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0xff
ja case.0x486e6e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
je case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cf4b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48857c
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0x100
jae 0x488590
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
jne case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cf4b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4885e2
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0xff
ja case.0x486e6e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
je case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cf4b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48864c
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0x100
jae 0x488660
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cf4b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4886b2
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp eax, 0xff
ja case.0x486e6e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
je case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x48cf88
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48871e
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0xd
ja 0x488752
je 0x488735
cmp eax, 0xa
je 0x488779
jbe case.0x486e6e.151
cmp eax, 0xc
jmp 0x488769
cmp ebp, ecx
jae 0x488779
cmp word [ebp], 0xa
jne 0x488779
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
cmp eax, 0x85
je 0x48876f
cmp eax, 0x2027
jbe case.0x486e6e.151
cmp eax, 0x2029
ja case.0x486e6e.151
cmp dword [edx + 0x68], 0
jne case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cf0f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4887cb
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0x180e
ja 0x4887fa
je case.0x486e6e.151
cmp eax, 0xa0
ja 0x4887f3
je case.0x486e6e.151
cmp eax, 9
je case.0x486e6e.151
cmp eax, 0x20
jmp 0x488825
cmp eax, 0x1680
jmp 0x488825
cmp eax, 0x205f
ja 0x488820
je case.0x486e6e.151
cmp eax, 0x2000
jb 0x48882b
cmp eax, 0x200a
jbe case.0x486e6e.151
cmp eax, 0x202f
jmp 0x488825
cmp eax, 0x3000
je case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cf0f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48887d
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0x180e
ja 0x4888a0
je 0x4888cd
cmp eax, 0xa0
ja 0x488899
je 0x4888cd
cmp eax, 9
je 0x4888cd
cmp eax, 0x20
jmp 0x4888c7
cmp eax, 0x1680
jmp 0x4888c7
cmp eax, 0x205f
ja 0x4888c2
je 0x4888cd
cmp eax, 0x2000
jb case.0x486e6e.151
cmp eax, 0x200a
jbe 0x4888cd
cmp eax, 0x202f
jmp 0x4888c7
cmp eax, 0x3000
jne case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cf0f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48891f
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0x85
ja 0x488936
je case.0x486e6e.151
cmp eax, 0xa
jb 0x488948
cmp eax, 0xd
jmp 0x488942
cmp eax, 0x2028
jb 0x488948
cmp eax, 0x2029
jbe case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cf0f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48899a
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0x85
ja 0x4889b1
je 0x4889c7
cmp eax, 0xa
jb case.0x486e6e.151
cmp eax, 0xd
jmp 0x4889c1
cmp eax, 0x2028
jb case.0x486e6e.151
cmp eax, 0x2029
ja case.0x486e6e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486e41
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cf0f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x488a19
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov edx, eax
shr edx, 7
movzx ecx, byte [edx + 0x4b10e8]
shl ecx, 7
mov edx, eax
and edx, 0x7f
add ecx, edx
movzx edx, word [esi + 2]
movzx ecx, word [ecx*2 + 0x4b32e8]
lea ecx, [ecx*8 + 0x4b0008]
cmp edx, 8
ja case.default.0x488a4b
jmp dword [edx*4 + 0x48ed58]
cmp dword [esp + 0x14], 0xf
jmp 0x488b7b
mov cl, byte [ecx + 1]
cmp cl, 9
je 0x488b6a
cmp cl, 5
je 0x488b6a
cmp cl, 8
je 0x488b6a
xor eax, eax
jmp 0x488b6f
movzx edx, byte [ecx + 1]
movzx eax, word [esi + 4]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x4af860]
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x488b7b
movzx eax, byte [ecx + 1]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x488b7b
movzx eax, byte [ecx]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x488b7b
movzx eax, byte [ecx + 1]
mov eax, dword [eax*4 + 0x4af860]
cmp eax, 1
je 0x488b6a
cmp eax, 3
je 0x488b6a
xor eax, eax
jmp 0x488b6f
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4af860], 6
je 0x488b6a
cmp eax, 9
je 0x488b6a
cmp eax, 0xa
je 0x488b6a
cmp eax, 0xc
je 0x488b6a
cmp eax, 0xd
je 0x488b6a
xor eax, eax
jmp 0x488b6f
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4af860], 6
je 0x488b6a
cmp eax, 9
je 0x488b6a
cmp eax, 0xa
je 0x488b6a
cmp eax, 0xb
jmp 0x488b1f
movzx edx, byte [ecx + 1]
mov ecx, dword [edx*4 + 0x4af860]
cmp ecx, 1
je 0x488b6a
cmp ecx, 3
je 0x488b6a
cmp eax, 0x5f
je 0x488b6a
xor eax, eax
jmp 0x488b6f
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x14], 0xf
sete cl
cmp eax, ecx
je case.0x486e6e.151
add esi, 6
mov dword [esp + 0x158], esi
jmp 0x486e41
mov eax, dword [esp + 0x164]
mov edi, dword [eax + 0x7c]
cmp ebp, edi
jae 0x48cf0f
movzx eax, word [ebp]
mov ecx, eax
mov edx, 2
and ecx, 0xfc00
add ebp, edx
cmp ecx, 0xd800
jne 0x488bd8
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, edx
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4b10e8]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b32e8]
movzx ecx, byte [eax*8 + 0x4b0009]
cmp dword [ecx*4 + 0x4af860], edx
je case.0x486e6e.151
cmp ebp, edi
jae 0x488c7a
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x488c45
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, edx
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4b10e8]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
cmp dword [eax*4 + 0x4af860], edx
jne 0x488c7a
lea ebp, [ebp + ecx*2]
cmp ebp, edi
jb 0x488c11
add esi, edx
mov dword [esp + 0x158], esi
jmp 0x486e41
mov eax, dword [esp + 0x158]
movzx esi, word [eax + 2]
xor ecx, ecx
cmp edx, 0x6e
sete cl
add esi, esi
add eax, 4
mov dword [esp + 0x158], eax
mov dword [esp + 0x18], ecx
cmp esi, dword [esp + 0x160]
jge 0x488ccf
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + esi*4]
lea eax, [eax + esi*4]
test ecx, ecx
js 0x488ccf
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x488ce0
mov ecx, dword [esp + 0x164]
mov ebx, dword [ecx + 0x50]
neg ebx
sbb ebx, ebx
neg ebx
dec ebx
mov ecx, dword [esp + 0x158]
movzx edi, word [ecx]
mov eax, edi
lea edx, [eax - 0x62]
cmp edx, 7
ja case.default.0x488cff
movzx edx, byte [edx + 0x48ed84]
jmp dword [edx*4 + 0x48ed7c]
movsx edi, byte [eax + 0x4befc6]
add ecx, 2
mov dword [esp + 0x158], ecx
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x4befce]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x488d68
mov dword [esp + 0x14], SysStringLen
jmp 0x488d68
xor eax, eax
cmp edi, 0x69
movzx edi, word [ecx + 2]
sete al
mov dword [esp + 0x1c], eax
movzx eax, word [ecx + 4]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x488d5e
mov dword [esp + 0x14], SysStringLen
add ecx, 6
mov dword [esp + 0x158], ecx
test ebx, ebx
je 0x486e41
jns 0x488d7a
test edi, edi
je 0x486e41
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x488dc2
jmp 0x488d90
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x164]
push ecx
push esi
mov eax, ebx
mov ecx, ebp
call fcn.00486bd0
add esp, 8
test eax, eax
js 0x48cfd5
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x488d90
mov eax, dword [esp + 0x14]
cmp edi, eax
je 0x486e41
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
je 0x48d066
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
mov ecx, dword [esp + 0x164]
push edx
push eax
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x18]
push eax
push esi
mov edx, edi
mov eax, ebx
mov ecx, ebp
call fcn.00486bd0
add esp, 8
test eax, eax
js 0x48d020
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
inc dword [esp + 0x28]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov edx, dword [esp + 0x160]
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x168]
push edi
push eax
push ecx
push edx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x488e26
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x18]
push edx
push esi
mov esi, dword [esp + 0x16c]
mov edx, esi
mov eax, ebx
mov ecx, ebp
call fcn.00486bd0
add esp, 8
test eax, eax
js 0x48d151
lea ebp, [ebp + eax*2]
jmp 0x486e41
movzx ecx, word [esi + 0x22]
lea eax, [esi + 2]
add esi, 0x22
mov dword [esp + 0x24], eax
mov eax, ecx
lea edx, [eax - 0x62]
mov dword [esp + 0x158], esi
cmp edx, 7
ja case.default.0x488ef0
movzx edx, byte [edx + 0x48ed94]
jmp dword [edx*4 + 0x48ed8c]
movsx edi, byte [eax + 0x4befce]
add dword [esp + 0x158], 2
movsx esi, byte [eax + 0x4befc6]
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x488f59
mov edi, SysReAllocString
jmp 0x488f59
xor eax, eax
cmp ecx, 0x69
sete al
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x158]
movzx edi, word [eax + 4]
movzx esi, word [eax + 2]
test edi, edi
jne 0x488f46
mov edi, SysReAllocString
add eax, 6
mov dword [esp + 0x158], eax
jmp 0x488f59
mov edi, 1
mov esi, edi
mov edx, 1
cmp esi, edx
jl 0x488fe2
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x48d197
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x488fb1
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0xff
jbe 0x488fbf
cmp dword [esp + 0x14], 0x6a
jmp 0x488fd7
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x24]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je case.0x486e6e.151
inc edx
cmp edx, esi
jle 0x488f74
cmp esi, edi
je 0x486e41
cmp dword [esp + 0x1c], 0
je 0x48d240
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov ebx, dword [esp + 0x160]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
mov ecx, dword [esp + 0x160]
push edx
push ebx
push eax
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp esi, edi
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x489082
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
cmp eax, 0xff
jbe 0x48d1db
cmp dword [esp + 0x14], 0x6a
jmp 0x48d1f3
movzx edx, word [esi + 2]
lea ecx, [esi + 4]
lea ebx, [esi + edx*2]
mov dword [esp + 0x24], ecx
movzx ecx, word [ebx]
mov eax, ecx
lea edx, [eax - 0x62]
mov dword [esp + 0x158], ebx
cmp edx, 7
ja case.default.0x4890c4
movzx edx, byte [edx + 0x48eda4]
jmp dword [edx*4 + 0x48ed9c]
movsx edi, byte [eax + 0x4befce]
movsx esi, byte [eax + 0x4befc6]
lea ecx, [eax - 0x62]
add ebx, 2
and ecx, 1
mov dword [esp + 0x158], ebx
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x489128
mov edi, SysReAllocString
jmp 0x489128
movzx edi, word [ebx + 4]
movzx esi, word [ebx + 2]
xor eax, eax
cmp ecx, 0x69
sete al
mov dword [esp + 0x1c], eax
test edi, edi
jne 0x489115
mov edi, SysReAllocString
add ebx, 6
mov dword [esp + 0x158], ebx
jmp 0x489128
mov edi, 1
mov esi, edi
mov dword [esp + 0x28], 1
cmp esi, 1
jl 0x4891a8
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
mov dword [esp + 0x18], edx
cmp ebp, dword [esp + 0x18]
jae 0x48d3c3
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x489184
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
push 1
push eax
mov eax, dword [esp + 0x2c]
call fcn.00490270
add esp, 8
test eax, eax
je case.0x486e6e.151
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, esi
jle 0x489147
cmp esi, edi
je 0x486e41
cmp dword [esp + 0x1c], 0
je 0x48d3f6
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
push edx
push eax
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
jmp 0x489200
mov eax, dword [esp + 0x164]
cmp esi, edi
jge case.0x486e6e.151
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48924b
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
push 1
push eax
mov eax, dword [esp + 0x2c]
call fcn.00490270
add esp, 8
test eax, eax
je case.0x486e6e.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x164]
push ecx
mov ecx, dword [esp + 0x164]
push edx
push eax
push ecx
push ebx
push ebp
inc esi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x489200
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov cx, word [esi + 2]
add esi, 2
mov edx, 0xfc00
and cx, dx
mov edx, 0xd800
mov eax, 1
mov dword [esp + 0x158], esi
cmp cx, dx
jne 0x4892d3
mov eax, 2
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
sub edx, ebp
sar edx, 1
cmp eax, edx
jg 0x48d54c
test eax, eax
jle 0x486e41
mov cx, word [esi]
mov dx, word [ebp]
add esi, 2
dec eax
add ebp, 2
mov dword [esp + 0x158], esi
cmp cx, dx
jne case.0x486e6e.151
test eax, eax
jg 0x4892f1
jmp 0x486e41
mov edi, dword [esp + 0x164]
cmp ebp, dword [edi + 0x7c]
jae 0x48d581
movzx eax, word [esi + 2]
mov ecx, eax
and ecx, 0xfc00
mov edx, 1
cmp ecx, 0xd800
jne 0x48935f
movzx edx, word [esi + 4]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov edx, 2
movzx ecx, word [ebp]
cmp eax, 0x80
jae 0x48939c
mov edx, 0xff
cmp cx, dx
ja 0x48937b
mov edx, dword [edi + 0x34]
movzx ecx, byte [edx + ecx]
mov edx, dword [edi + 0x34]
movzx eax, byte [edx + eax]
cmp eax, ecx
jne case.0x486e6e.151
add esi, 4
mov dword [esp + 0x158], esi
add ebp, 2
jmp 0x486e41
mov edi, ecx
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x4893cd
movzx edi, word [ebp]
and ecx, 0x3ff
shl ecx, 0xa
and edi, 0x3ff
or ecx, edi
add ecx, 0x10000
add ebp, 2
lea edx, [esi + edx*2 + 2]
mov dword [esp + 0x158], edx
cmp eax, ecx
je 0x486e41
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4b10e8]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4b32e8]
mov edx, dword [edx*8 + 0x4b000c]
add edx, eax
cmp ecx, edx
je 0x486e41
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
movzx edi, word [esi + 2]
add esi, 4
mov dword [esp + 0x14], edi
mov dword [esp + 0x158], esi
jmp 0x4894fa
mov dword [esp + 0x20], 1
movzx ebx, word [esi + 2]
xor edi, edi
mov dword [esp + 0x14], ebx
cmp eax, 0x28
je 0x489453
mov dword [esp + 0x1c], ecx
cmp eax, 0x35
jne 0x48945b
mov dword [esp + 0x1c], 1
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x4894fa
xor edi, edi
add esi, 2
mov dword [esp + 0x20], 1
mov dword [esp + 0x158], esi
jmp 0x4894f2
mov edi, 1
add esi, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x158], esi
jmp 0x4894f2
mov eax, 1
xor edi, edi
add esi, 2
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x158], esi
jmp 0x4894fa
xor ecx, ecx
cmp edx, 0x2e
setge cl
mov eax, edx
add esi, 2
mov dword [esp + 0x158], esi
dec ecx
and ecx, 0xfffffff3
add ecx, 0x2e
sub eax, ecx
movsx edi, byte [eax + 0x4bf028]
mov ecx, eax
movsx eax, byte [eax + 0x4bf030]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4894fa
mov dword [esp + 0x14], SysStringLen
mov eax, dword [esp + 0x158]
movzx esi, word [eax]
mov ecx, esi
and ecx, 0xfc00
mov dword [esp + 0x24], 1
mov dword [esp + 0x30], eax
cmp ecx, 0xd800
jne 0x489543
movzx ecx, word [eax + 2]
and esi, 0x3ff
and ecx, 0x3ff
shl esi, 0xa
or esi, ecx
add esi, 0x10000
mov dword [esp + 0x24], 2
mov ecx, dword [esp + 0x24]
lea eax, [eax + ecx*2]
lea ebx, [ecx + ecx]
mov dword [esp + 0x158], eax
cmp ecx, 1
jle 0x4898bc
cmp edx, 0x2e
jl 0x48959c
mov edx, esi
shr edx, 7
movzx eax, byte [edx + 0x4b10e8]
shl eax, 7
mov ecx, esi
and ecx, 0x7f
add eax, ecx
movzx edx, word [eax*2 + 0x4b32e8]
mov eax, dword [edx*8 + 0x4b000c]
add eax, esi
cmp eax, esi
je 0x48959c
lea ecx, [esp + 0x5c]
call fcn.00490210
mov dword [esp + 0x18], eax
jmp 0x4895a4
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x4896c0
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x3c], eax
sub eax, ebx
mov dword [esp + 0x34], eax
jmp 0x4895d4
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x489635
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x489604
lea ecx, [ecx]
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x489635
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x4895f0
test eax, eax
je 0x489628
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x489635
cmp eax, 1
jbe 0x489628
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x489635
cmp eax, 2
jbe 0x489628
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x489635
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x4896af
cmp dword [esp + 0x18], 0
jle 0x48d5ac
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
add edx, edx
sub ecx, edx
cmp ebp, ecx
ja 0x48d5ac
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x48967d
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x48d5ac
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x489665
test eax, eax
je 0x4896ad
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x48d5ac
cmp eax, 1
jbe 0x4896ad
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x48d5ac
cmp eax, 2
jbe 0x4896ad
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x48d5ac
add ebp, edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x4895d0
cmp edi, dword [esp + 0x14]
je 0x486e41
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
jne 0x48d5ce
mov dword [esp + 0x1c], ebp
cmp edi, dword [esp + 0x14]
jge 0x489815
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
mov eax, dword [esp + 0x24]
mov ecx, edx
add eax, eax
sub ecx, eax
mov dword [esp + 0x34], ecx
jmp 0x489705
mov ecx, dword [esp + 0x34]
cmp ebp, ecx
ja 0x489769
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x489738
mov edi, edi
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x489769
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x489720
test eax, eax
je 0x48975c
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x489769
cmp eax, 1
jbe 0x48975c
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x489769
cmp eax, 2
jbe 0x48975c
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x489769
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x4897cf
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x4897e4
lea edi, [eax + eax]
mov ecx, edx
sub ecx, edi
cmp ebp, ecx
ja 0x4897e4
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x4897a9
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x4897e4
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x489791
test eax, eax
je 0x4897cd
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x4897e4
cmp eax, 1
jbe 0x4897cd
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x4897e4
cmp eax, 2
jbe 0x4897cd
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x4897e4
add ebp, edi
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x489701
jmp 0x489815
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x489815
cmp ebp, dword [eax + 0x7c]
jb 0x489815
cmp ebp, dword [eax + 0x88]
jbe 0x489815
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48ceff
cmp dword [esp + 0x20], 0
jne 0x486e41
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov ebx, dword [esp + 0x15c]
mov esi, dword [esp + 0x158]
inc edx
push edx
push eax
push ecx
push edi
push ebx
push esi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp ebp, dword [esp + 0x1c]
je case.0x486e6e.151
mov dx, word [ebp - 2]
sub ebp, 2
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x489888
sub ebp, 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
push eax
push ecx
push edi
push ebx
push esi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x489862
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edx, 0x2e
jl 0x489a33
cmp esi, 0x7f
jbe 0x4898f7
mov ecx, esi
shr ecx, 7
movzx edx, byte [ecx + 0x4b10e8]
shl edx, 7
mov eax, esi
and eax, 0x7f
add edx, eax
movzx ecx, word [edx*2 + 0x4b32e8]
mov edx, dword [ecx*8 + 0x4b000c]
add edx, esi
mov dword [esp + 0x28], edx
jmp 0x489919
cmp esi, 0xff
ja 0x489913
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax + esi]
mov dword [esp + 0x28], edx
jmp 0x489919
mov edx, esi
mov dword [esp + 0x28], esi
mov ecx, 1
cmp edi, ecx
jl 0x48994c
mov eax, dword [esp + 0x164]
mov ebx, dword [eax + 0x7c]
cmp ebp, ebx
jae 0x48d7c4
movzx eax, word [ebp]
cmp esi, eax
je 0x489944
cmp edx, eax
jne case.0x486e6e.151
inc ecx
add ebp, 2
cmp ecx, edi
jle 0x48992c
mov ebx, dword [esp + 0x14]
cmp edi, ebx
je 0x486e41
cmp dword [esp + 0x1c], 0
jne 0x48d7fe
mov dword [esp + 0x1c], ebp
mov eax, edi
cmp edi, ebx
jge 0x4899c6
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
jmp 0x489987
mov ecx, dword [esp + 0x164]
cmp ebp, edi
jae 0x4899a1
movzx ecx, word [ebp]
cmp esi, ecx
je 0x489997
cmp edx, ecx
jne 0x4899c6
inc eax
add ebp, 2
cmp eax, ebx
jl 0x489980
jmp 0x4899c6
cmp dword [ecx + 0x8c], 0
je 0x4899c6
cmp ebp, dword [ecx + 0x88]
jbe 0x4899c6
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jg 0x48ceff
cmp dword [esp + 0x20], 0
jne 0x486e41
cmp ebp, dword [esp + 0x1c]
jb 0x489a26
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x15c]
mov edi, dword [esp + 0x160]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
push ecx
push edx
push edi
push ebx
push esi
push ebp
call fcn.00486d80
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x48eb66
cmp ebp, dword [esp + 0x1c]
jae 0x4899f0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x164]
mov eax, 1
cmp edi, eax
jl 0x489a62
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x48d8b4
movzx ebx, word [ebp]
add ebp, 2
cmp esi, ebx
jne case.0x486e6e.151
inc eax
cmp eax, edi
jle 0x489a46
cmp edi, dword [esp + 0x14]
je 0x486e41
cmp dword [esp + 0x1c], 0
jne 0x48d8e0
mov ebx, ebp
mov dword [esp + 0x1c], ebx
mov eax, edi
cmp edi, dword [esp + 0x14]
jge 0x489acd
mov ecx, dword [edx + 0x7c]
lea esp, [esp]
cmp ebp, ecx
jae 0x489aa8
movzx edi, word [ebp]
cmp esi, edi
jne 0x489acd
inc eax
add ebp, 2
cmp eax, dword [esp + 0x14]
jl 0x489a90
jmp 0x489acd
cmp dword [edx + 0x8c], 0
je 0x489acd
cmp ebp, dword [edx + 0x88]
jbe 0x489acd
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x48ceff
cmp dword [esp + 0x20], 0
jne 0x486e41
cmp ebp, ebx
jb 0x489b2b
mov esi, dword [esp + 0x158]
mov ebx, dword [esp + 0x15c]
mov edi, dword [esp + 0x160]
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
push eax
push ecx
push edi
push ebx
push esi
push ebp
call fcn.00486d80
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x48eb66
cmp ebp, dword [esp + 0x1c]
jae 0x489af5
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edi, dword [esp + 0x164]
cmp ebp, dword [edi + 0x7c]
jae 0x48d581
movzx ecx, word [ebp]
mov eax, ecx
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x489b7a
movzx eax, word [ebp]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebp, 2
movzx eax, word [esi + 2]
add esi, 4
mov dword [esp + 0x158], esi
cmp edx, 0x20
jne 0x489bee
cmp eax, 0x7f
jbe 0x489bbf
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4b10e8]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4b32e8]
mov edx, dword [edx*8 + 0x4b000c]
add edx, eax
jmp 0x489bd1
cmp eax, 0xff
ja 0x489bcf
mov edx, dword [edi + 0x38]
movzx edx, byte [edx + eax]
jmp 0x489bd1
mov edx, eax
cmp eax, ecx
je case.0x486e6e.151
cmp edx, ecx
jne 0x486e41
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, ecx
jne 0x486e41
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
movzx ecx, word [esi + 2]
mov dword [esp + 0x14], ecx
add esi, 4
jmp 0x489cc9
movzx edi, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x14], edi
cmp eax, 0x42
je 0x489c2b
mov dword [esp + 0x1c], ecx
cmp eax, 0x4f
jne 0x489c33
mov dword [esp + 0x1c], 1
add esi, 4
jmp 0x489cc9
xor ecx, ecx
mov dword [esp + 0x20], 1
add esi, 2
jmp 0x489cc1
mov ecx, 1
mov dword [esp + 0x20], ecx
add esi, 2
jmp 0x489cc1
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
add esi, 2
jmp 0x489cc9
movzx eax, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x14], eax
add esi, 4
jmp 0x489cc9
xor ecx, ecx
cmp edx, 0x48
setl cl
mov eax, edx
add esi, 2
dec ecx
and ecx, 0xd
add ecx, 0x3b
sub eax, ecx
mov ecx, eax
and ecx, 1
mov dword [esp + 0x1c], ecx
movsx ecx, byte [eax + 0x4bf028]
movsx eax, byte [eax + 0x4bf030]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x489cc9
mov dword [esp + 0x14], SysStringLen
movzx edi, word [esi]
add esi, 2
mov dword [esp + 0x24], edi
mov dword [esp + 0x158], esi
cmp edx, 0x48
jl 0x489f00
cmp edi, 0x7f
jbe 0x489d15
mov edx, edi
shr edx, 7
movzx eax, byte [edx + 0x4b10e8]
shl eax, 7
mov edx, edi
and edx, 0x7f
add eax, edx
movzx eax, word [eax*2 + 0x4b32e8]
mov esi, dword [eax*8 + 0x4b000c]
add esi, edi
mov dword [esp + 0x28], esi
jmp 0x489d37
cmp edi, 0xff
ja 0x489d31
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx esi, byte [eax + edi]
mov dword [esp + 0x28], esi
jmp 0x489d37
mov esi, edi
mov dword [esp + 0x28], edi
mov edx, 1
cmp ecx, edx
jl 0x489da4
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x48d3c3
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x489d8f
movzx ebx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ebx, 0x3ff
or eax, ebx
add eax, 0x10000
add ebp, 2
cmp edi, eax
je case.0x486e6e.151
cmp esi, eax
je case.0x486e6e.151
inc edx
cmp edx, ecx
jle 0x489d52
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x486e41
cmp dword [esp + 0x1c], 0
jne 0x48d990
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x489e4e
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, 1
cmp ebp, edi
jae 0x489e27
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x489e10
movzx edx, word [ebp + 2]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov edx, 2
cmp dword [esp + 0x24], eax
je 0x489e4e
cmp dword [esp + 0x28], eax
je 0x489e4e
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x489dd1
jmp 0x489e4e
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x489e4e
cmp ebp, dword [eax + 0x88]
jbe 0x489e4e
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x48ceff
cmp dword [esp + 0x20], 0
jne 0x486e41
mov ecx, dword [esp + 0x16c]
mov esi, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
inc ecx
push ecx
push esi
push edx
push edi
push ebx
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x486e6e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x489ec3
sub ebp, 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x158]
inc edx
push edx
push esi
push eax
push edi
push ebx
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x489e9b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ecx, edx
jl 0x489f66
mov esi, dword [eax + 0x7c]
cmp ebp, esi
jae 0x48d3c3
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x489f52
movzx ebx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ebx, 0x3ff
or eax, ebx
add eax, 0x10000
add ebp, 2
cmp edi, eax
je case.0x486e6e.151
inc edx
cmp edx, ecx
jle 0x489f17
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x486e41
cmp dword [esp + 0x1c], 0
jne 0x48da79
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x48a007
mov edi, dword [eax + 0x7c]
jmp 0x489f97
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x489fe7
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x489fd6
movzx edx, word [ebp + 2]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov edx, 2
cmp dword [esp + 0x24], eax
je 0x48a007
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x489f90
jmp 0x48a007
cmp dword [eax + 0x8c], 0
je 0x48a007
cmp ebp, dword [eax + 0x88]
jbe 0x48a007
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x48ceff
cmp dword [esp + 0x20], 0
jne 0x486e41
mov ecx, dword [esp + 0x16c]
mov esi, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov ebx, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
inc ecx
push ecx
push esi
push edx
push edi
push ebx
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x486e6e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48a07c
sub ebp, 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x158]
inc edx
push edx
push esi
push eax
push edi
push ebx
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48a054
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
movzx eax, word [esi + 2]
mov ebx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x1c], 1
add esi, 4
jmp 0x48a182
movzx edx, word [esi + 2]
xor ebx, ebx
mov dword [esp + 0x14], edx
xor edx, edx
cmp eax, 0x5c
sete dl
mov dword [esp + 0x24], ebx
add esi, 4
mov dword [esp + 0x1c], edx
jmp 0x48a182
xor ebx, ebx
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x48a17a
mov ebx, 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x48a17a
mov eax, 1
xor ebx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
add esi, 2
jmp 0x48a182
movzx eax, word [esi + 2]
xor ebx, ebx
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
add esi, 4
jmp 0x48a182
lea eax, [edx - 0x55]
movsx ebx, byte [eax + 0x4bf028]
mov edx, eax
movsx eax, byte [eax + 0x4bf030]
and edx, 1
add esi, 2
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], eax
cmp eax, ecx
jne 0x48a182
mov dword [esp + 0x14], SysStringLen
movzx eax, word [esi]
add esi, 2
mov dword [esp + 0x18], eax
mov dword [esp + 0x158], esi
cmp eax, 0x10
je 0x48a1aa
cmp eax, 0xf
je 0x48a1aa
mov edi, dword [esp + 0x2c]
or eax, 0xffffffff
mov dword [esp + 0x28], eax
jmp 0x48a1d3
movzx eax, word [esi]
xor edx, edx
cmp dword [esp + 0x18], 0xf
mov dword [esp + 0x28], eax
sete dl
add esi, 4
mov dword [esp + 0x158], esi
mov edi, edx
movzx edx, word [esi - 2]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], edx
cmp ebx, ecx
jle 0x48a2d9
cmp eax, ecx
jl 0x48a7c3
cmp eax, 8
ja case.default.0x488a4b
jmp dword [eax*4 + 0x48edac]
cmp edi, ecx
jne case.0x486e6e.151
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48db5b
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x48a230
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x48a212
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x48db87
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a28c
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4b10e8]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
cmp eax, 9
je 0x48a2c3
cmp eax, 5
je 0x48a2c3
cmp eax, 8
je 0x48a2c3
xor eax, eax
jmp 0x48a2c8
mov eax, 1
cmp eax, edi
je case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48a251
mov esi, dword [esp + 0x164]
mov edi, dword [esp + 0x14]
cmp ebx, edi
je 0x486e41
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x28]
jne 0x48dbf9
mov dword [esp + 0x1c], ebp
test eax, eax
js 0x48b72c
cmp eax, 8
ja case.default.0x488a4b
jmp dword [eax*4 + 0x48edd0]
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48dbba
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a365
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4b10e8]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp dword [eax*4 + 0x4af860], esi
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48a32a
jmp 0x48a2d9
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48dbba
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a40b
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4b10e8]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48a3d0
jmp 0x48a2d9
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48dbba
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a4a6
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4b10e8]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0008]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48a46b
jmp 0x48a2d9
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48db87
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a541
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4b10e8]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
mov eax, dword [eax*4 + 0x4af860]
cmp eax, 1
je 0x48a57a
cmp eax, 3
je 0x48a57a
xor eax, eax
jmp 0x48a57f
mov eax, 1
cmp eax, edi
je case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48a506
jmp 0x48a2d9
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x48db87
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a5ea
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4b10e8]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4b32e8]
movzx esi, byte [esi*8 + 0x4b0009]
cmp dword [esi*4 + 0x4af860], edi
je 0x48a631
cmp eax, 9
je 0x48a631
cmp eax, 0xa
je 0x48a631
cmp eax, 0xc
je 0x48a631
cmp eax, 0xd
je 0x48a631
xor eax, eax
jmp 0x48a636
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486e6e.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x48a5af
jmp 0x48a2d9
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x48db87
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a6a7
movzx esi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and esi, 0x3ff
or eax, esi
add eax, 0x10000
add ebp, 2
mov esi, eax
shr esi, 7
movzx esi, byte [esi + 0x4b10e8]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4b32e8]
movzx esi, byte [esi*8 + 0x4b0009]
cmp dword [esi*4 + 0x4af860], edi
je 0x48a6f3
cmp eax, 9
je 0x48a6f3
cmp eax, 0xa
je 0x48a6f3
cmp eax, 0xb
je 0x48a6f3
cmp eax, 0xc
je 0x48a6f3
cmp eax, 0xd
je 0x48a6f3
xor eax, eax
jmp 0x48a6f8
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486e6e.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x48a66c
jmp 0x48a2d9
mov edx, 1
cmp ebx, edx
jl 0x48a2d9
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
cmp ebp, edi
jae 0x48dbba
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48a766
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4b10e8]
shl ecx, 7
mov esi, eax
and esi, 0x7f
add ecx, esi
movzx ecx, word [ecx*2 + 0x4b32e8]
movzx ecx, byte [ecx*8 + 0x4b0009]
mov ecx, dword [ecx*4 + 0x4af860]
cmp ecx, 1
je 0x48a7a6
cmp ecx, 3
je 0x48a7a6
cmp eax, 0x5f
je 0x48a7a6
xor eax, eax
jmp 0x48a7ab
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486e6e.151
inc edx
cmp edx, ebx
jle 0x48a72b
jmp 0x48a2d9
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x48a8d5
lea esi, [eax - 0x15]
cmp ebx, esi
jl 0x48a2d9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48dbba
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48a820
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4b10e8]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b32e8]
movzx ecx, byte [eax*8 + 0x4b0009]
cmp dword [ecx*4 + 0x4af860], 2
je case.0x486e6e.151
cmp ebp, edx
jae 0x48a8c7
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x48a891
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov edi, eax
shr edi, 7
movzx edi, byte [edi + 0x4b10e8]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
cmp dword [eax*4 + 0x4af860], 2
jne 0x48a8c7
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x48a85a
inc esi
cmp esi, ebx
jle 0x48a7e5
jmp 0x48a2d9
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x488a4b
jmp dword [eax*4 + 0x48edf4]
mov edi, 1
cmp ebx, edi
jl 0x48a2d9
mov ecx, dword [esp + 0x164]
lea esp, [esp]
cmp ebp, dword [ecx + 0x7c]
jae 0x48db8e
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x48a93b
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00490070
add esp, 8
test eax, eax
jne case.0x486e6e.151
mov ecx, dword [esp + 0x164]
jmp 0x48a96b
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x48a96b
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x48a96b
cmp eax, 1
je case.0x486e6e.151
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je case.0x486e6e.151
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x48a98c
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov eax, 0xdc00
cmp dx, ax
jne 0x48a98c
add ebp, 2
inc edi
cmp edi, ebx
jle 0x48a900
jmp 0x48a2d9
mov eax, 1
cmp ebx, eax
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x48db5b
add ebp, 2
cmp ebp, ecx
jae 0x48a9d9
mov dx, word [ebp]
mov edi, 0xfc00
and dx, di
mov edi, 0xdc00
cmp dx, di
jne 0x48a9d9
add ebp, 2
inc eax
cmp eax, ebx
jle 0x48a9b1
jmp 0x48a2e0
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
lea eax, [ebx + ebx]
sub ecx, eax
cmp ebp, ecx
ja case.0x486e6e.151
add ebp, eax
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48dbcd
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48aa53
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0xd
ja 0x48aa78
je 0x48aa68
cmp eax, 0xa
je 0x48aa97
add eax, 0xfffffff5
jmp 0x48aa84
cmp ebp, edx
jae 0x48aa97
cmp word [ebp], 0xa
jne 0x48aa97
add ebp, 2
jmp 0x48aa97
cmp eax, 0x85
je 0x48aa8d
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x486e6e.151
cmp dword [esi + 0x68], 0
jne case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48aa18
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
lea esp, [esp]
cmp ebp, edx
jae 0x48dbcd
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48aafb
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0x180e
ja 0x48ab2d
je case.0x486e6e.151
cmp eax, 0xa0
ja 0x48ab26
je case.0x486e6e.151
cmp eax, 9
je case.0x486e6e.151
cmp eax, 0x20
jmp 0x48ab58
cmp eax, 0x1680
jmp 0x48ab58
cmp eax, 0x205f
ja 0x48ab53
je case.0x486e6e.151
cmp eax, 0x2000
jb 0x48ab5e
cmp eax, 0x200a
jbe case.0x486e6e.151
cmp eax, 0x202f
jmp 0x48ab58
cmp eax, 0x3000
je case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48aac0
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48dbcd
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48abbe
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0x180e
ja 0x48abf3
je 0x48ac20
cmp eax, 0xa0
ja 0x48abe9
je 0x48ac20
cmp eax, 9
je 0x48ac20
cmp eax, 0x20
jmp 0x48ac1a
cmp eax, 0x1680
jmp 0x48ac1a
cmp eax, 0x205f
ja 0x48ac15
je 0x48ac20
cmp eax, 0x2000
jb case.0x486e6e.151
cmp eax, 0x200a
jbe 0x48ac20
cmp eax, 0x202f
jmp 0x48ac1a
cmp eax, 0x3000
jne case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48ab83
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48dbcd
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48ac84
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0x85
ja 0x48ac9b
je case.0x486e6e.151
cmp eax, 0xa
jb 0x48acad
cmp eax, 0xd
jmp 0x48aca7
cmp eax, 0x2028
jb 0x48acad
cmp eax, 0x2029
jbe case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48ac45
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
mov edi, edi
cmp ebp, edx
jae 0x48dbcd
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48ad0f
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0x85
ja 0x48ad20
je 0x48ad2e
add eax, 0xfffffff6
cmp eax, 3
jmp 0x48ad28
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48acd0
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x48db5b
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48ad8f
movzx edi, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edi, 0x3ff
or eax, edi
add eax, 0x10000
add ebp, 2
cmp eax, 0x80
jae 0x48ada3
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
jne case.0x486e6e.151
inc ecx
cmp ecx, ebx
jle 0x48ad50
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48dbcd
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x486e6e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
je case.0x486e6e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x48adc4
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x48db5b
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x48ae33
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
jne case.0x486e6e.151
add ebp, 2
cmp ebp, edx
jae 0x48ae57
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x48ae57
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x48ae10
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48dbcd
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x486e6e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
je case.0x486e6e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x48ae78
jmp 0x48a2e0
mov ecx, 1
cmp ebx, ecx
jl 0x48a2d9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48db5b
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x48aee6
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
jne case.0x486e6e.151
add ebp, 2
cmp ebp, edx
jae 0x48af0a
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x48af0a
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x48aec3
jmp 0x48a2e0
mov esi, dword [esp + 0x164]
mov ecx, 1
cmp ebx, ecx
jl 0x48a2e0
mov edx, dword [esi + 0x7c]
jmp 0x48af30
cmp ebp, edx
jae 0x48dbcd
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x486e6e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
je case.0x486e6e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x48af30
jmp 0x48a2e0
mov ecx, ebx
cmp ebx, edi
jge 0x48b67d
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
mov eax, 1
cmp ebp, edx
jae 0x48afbb
mov si, word [ebp]
mov edi, 0xfc00
and si, di
mov edi, 0xd800
cmp si, di
jne 0x48afa0
mov eax, 2
cmp dword [esp + 0x2c], 0
jne 0x48b67d
inc ecx
lea ebp, [ebp + eax*2]
cmp ecx, dword [esp + 0x14]
jl 0x48af78
jmp 0x48b67d
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x48b67d
mov ecx, eax
cmp ebp, dword [ecx + 0x88]
jbe 0x48b67d
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x48b677
mov edx, ebx
cmp ebx, edi
jge 0x48b67d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48b017
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48b213
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48b05a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4b10e8]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
cmp eax, 9
je 0x48b091
cmp eax, 5
je 0x48b091
cmp eax, 8
je 0x48b091
xor eax, eax
jmp 0x48b096
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48b67d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48b010
jmp 0x48b67d
mov edx, ebx
cmp ebx, edi
jge 0x48b67d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x38]
mov eax, ecx
jmp 0x48b0d7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48b213
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48b11a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4b10e8]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
xor ebx, ebx
cmp dword [eax*4 + 0x4af860], edi
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x48b67d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x48b0d0
jmp 0x48b67d
mov edx, ebx
cmp ebx, edi
jge 0x48b67d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x48b20c
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48b1c3
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4b10e8]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x48b67d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48b180
jmp 0x48b67d
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x48b67d
cmp ebp, dword [eax + 0x88]
jbe 0x48b67d
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x48b677
mov edx, ebx
cmp ebx, edi
jge 0x48b67d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x48b20c
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48b291
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4b10e8]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0008]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x48b67d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48b252
jmp 0x48b67d
mov edx, ebx
cmp ebx, edi
jge 0x48b67d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, 1
jmp 0x48b2f8
mov eax, dword [esp + 0x164]
mov ecx, edi
cmp ebp, esi
jae 0x48b391
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48b338
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4b10e8]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
mov eax, dword [eax*4 + 0x4af860]
cmp eax, edi
je 0x48b370
cmp eax, 3
je 0x48b370
xor eax, eax
jmp 0x48b372
mov eax, edi
cmp eax, dword [esp + 0x2c]
je 0x48b67d
add edx, edi
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x48b2f1
jmp 0x48b67d
cmp dword [eax + 0x8c], 0
je 0x48b67d
cmp ebp, dword [eax + 0x88]
jbe 0x48b67d
mov dword [eax + 0x64], edi
cmp dword [eax + 0x8c], edi
jmp 0x48b677
mov edx, ebx
cmp ebx, edi
jge 0x48b67d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov eax, ecx
jmp 0x48b3d7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48b213
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48b41a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov edi, eax
shr edi, 7
movzx edi, byte [edi + 0x4b10e8]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4b32e8]
movzx edi, byte [edi*8 + 0x4b0009]
cmp dword [edi*4 + 0x4af860], 6
je 0x48b46e
cmp eax, 9
je 0x48b46e
cmp eax, 0xa
je 0x48b46e
cmp eax, 0xc
je 0x48b46e
cmp eax, 0xd
je 0x48b46e
xor eax, eax
jmp 0x48b473
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48b67d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x48b3d0
jmp 0x48b67d
mov edx, ebx
cmp ebx, edi
jge 0x48b67d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
jmp 0x48b4b7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48b213
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48b4fa
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov edi, eax
shr edi, 7
movzx edi, byte [edi + 0x4b10e8]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4b32e8]
movzx edi, byte [edi*8 + 0x4b0009]
cmp dword [edi*4 + 0x4af860], 6
je 0x48b55b
cmp eax, 9
je 0x48b55b
cmp eax, 0xa
je 0x48b55b
cmp eax, 0xb
je 0x48b55b
cmp eax, 0xc
je 0x48b55b
cmp eax, 0xd
je 0x48b55b
xor eax, eax
jmp 0x48b560
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48b67d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x48b4b0
jmp 0x48b67d
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x48b67d
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov eax, edx
jmp 0x48b5a7
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x48b655
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48b5ea
movzx edx, word [ebp + 2]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov edx, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4b10e8]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4b32e8]
movzx ecx, byte [ecx*8 + 0x4b0009]
mov ecx, dword [ecx*4 + 0x4af860]
cmp ecx, 1
je 0x48b632
cmp ecx, 3
je 0x48b632
cmp eax, 0x5f
je 0x48b632
xor eax, eax
jmp 0x48b637
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48b67d
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x14]
jl 0x48b5a0
jmp 0x48b67d
cmp dword [eax + 0x8c], 0
je 0x48b67d
cmp ebp, dword [eax + 0x88]
jbe 0x48b67d
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x48ceff
cmp dword [esp + 0x20], 0
jne 0x486e41
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov esi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
inc ecx
push ecx
push edx
push eax
push edi
push esi
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
lea ebx, [ebx]
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x486e6e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48b6f8
sub ebp, 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
push eax
push ecx
push edi
push esi
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48b6d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x48b96e
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x48b889
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
mov ebx, 2
jmp 0x48b767
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, edx
jae 0x48b861
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48b7a7
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, ebx
mov edi, eax
shr edi, 7
movzx edi, byte [edi + 0x4b10e8]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
cmp dword [eax*4 + 0x4af860], ebx
je 0x48b889
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jae 0x48b851
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x48b81c
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, ebx
mov edi, eax
shr edi, 7
movzx edi, byte [edi + 0x4b10e8]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
cmp dword [eax*4 + 0x4af860], ebx
jne 0x48b851
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x48b7e4
inc esi
cmp esi, dword [esp + 0x14]
jl 0x48b760
jmp 0x48b889
cmp dword [eax + 0x8c], 0
je 0x48b889
cmp ebp, dword [eax + 0x88]
jbe 0x48b889
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48ceff
cmp dword [esp + 0x20], 0
jne 0x486e41
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov esi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
inc edx
push edx
push eax
push ecx
push edi
push esi
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov edx, ebp
mov ecx, 2
sub ebp, ecx
cmp edx, dword [esp + 0x1c]
je case.0x486e6e.151
lea esp, [esp]
mov ax, word [ebp]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x48b908
sub ebp, ecx
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x48b939
movzx edx, word [ebp + 2]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4b10e8]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4b32e8]
movzx edx, byte [eax*8 + 0x4b0009]
cmp dword [edx*4 + 0x4af860], ecx
jne 0x48eb29
sub ebp, ecx
jmp 0x48b8f0
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x488a4b
jmp dword [eax*4 + 0x48ee34]
cmp edi, 0x7fffffff
mov edi, ebx
jge 0x48ba76
cmp ebx, dword [esp + 0x14]
jge 0x48be03
lea esp, [esp]
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48ba4f
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x48b9e2
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00490070
add esp, 8
test eax, eax
jne 0x48be03
mov ecx, dword [esp + 0x164]
jmp 0x48ba1a
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x48ba1a
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x48ba1a
cmp eax, 1
je 0x48be03
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x48be03
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x48ba3f
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48ba3f
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x48b9a0
jmp 0x48be03
cmp dword [ecx + 0x8c], 0
je 0x48be03
mov edx, ecx
cmp ebp, dword [edx + 0x88]
jbe 0x48be03
mov ecx, 1
mov eax, edx
jmp 0x48bdf4
cmp ebx, dword [esp + 0x14]
jge 0x48be03
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48ba4f
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x48babe
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00490070
add esp, 8
test eax, eax
jne 0x48be03
mov ecx, dword [esp + 0x164]
jmp 0x48baf6
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x48baf6
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x48baf6
cmp eax, 1
je 0x48be03
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x48be03
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x48bb1f
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48bb1f
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x48ba80
jmp 0x48be03
cmp edi, 0x7fffffff
jge 0x48bb95
mov eax, ebx
cmp ebx, edi
jge 0x48be03
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x48bb98
add ebp, 2
cmp ebp, ecx
jae 0x48bb78
mov dx, word [ebp]
mov ebx, 0xfc00
and dx, bx
mov ebx, 0xdc00
cmp dx, bx
jne 0x48bb78
add ebp, 2
inc eax
cmp eax, edi
jl 0x48bb48
jmp 0x48be03
mov ecx, dword [esi + 0x7c]
sub edi, ebx
sub ecx, ebp
mov eax, edi
sar ecx, 1
cmp eax, ecx
jbe 0x48bbc4
mov ebp, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je 0x48be03
cmp ebp, dword [esi + 0x88]
jbe 0x48be03
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x48bdfd
lea ebp, [ebp + eax*2]
jmp 0x48be03
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x48be03
mov ebx, dword [esp + 0x164]
mov edx, dword [ebx + 0x7c]
mov ecx, 1
cmp ebp, edx
jae 0x48bca7
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48bc26
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0xd
jne 0x48bc4d
add ebp, 2
cmp ebp, edx
jae 0x48be03
cmp word [ebp], 0xa
jne 0x48bc97
add ebp, 2
jmp 0x48bc97
cmp eax, 0xa
je 0x48bc93
cmp dword [ebx + 0x68], 0
jne 0x48be03
cmp eax, 0xb
je 0x48bc93
cmp eax, 0xc
je 0x48bc93
cmp eax, 0x85
je 0x48bc93
cmp eax, 0x2028
je 0x48bc93
cmp eax, 0x2029
jne 0x48be03
lea ebp, [ebp + ecx*2]
inc esi
cmp esi, dword [esp + 0x14]
jl 0x48bbe3
jmp 0x48be03
cmp dword [ebx + 0x8c], 0
je 0x48be03
cmp ebp, dword [ebx + 0x88]
jbe 0x48be03
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x8c], ecx
jmp 0x48bdfd
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x48be03
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x48bdd4
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48bd2b
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x180e
ja 0x48bd68
je 0x48bdab
cmp eax, 0xa0
ja 0x48bd5e
je 0x48bdab
cmp eax, 9
je 0x48bdab
cmp eax, 0x20
jmp 0x48bd9e
cmp eax, 0x1680
jmp 0x48bd9e
cmp eax, 0x205f
ja 0x48bd99
je 0x48bdab
cmp eax, 0x2000
jb 0x48bda4
cmp eax, 0x200a
jbe 0x48bdab
cmp eax, 0x202f
jmp 0x48bd9e
cmp eax, 0x3000
je 0x48bdab
xor eax, eax
jmp 0x48bdb0
mov eax, 1
xor ebx, ebx
cmp dword [esp + 0x18], 0x12
sete bl
cmp eax, ebx
je 0x48be03
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x48bce8
jmp 0x48be03
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x48be03
cmp ebp, dword [eax + 0x88]
jbe 0x48be03
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48ceff
cmp dword [esp + 0x20], 0
jne 0x486e41
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov edi, dword [esp + 0x160]
mov esi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x158]
inc eax
push eax
push ecx
push edx
push edi
push esi
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov eax, dword [esp + 0x1c]
mov ecx, ebp
sub ebp, 2
cmp ecx, eax
je case.0x486e6e.151
mov dx, word [ebp]
mov ecx, 0xfc00
and dx, cx
mov ecx, 0xdc00
cmp dx, cx
jne 0x48be7e
sub ebp, 2
cmp dword [esp + 0x18], 0x11
jne 0x48beaa
cmp ebp, eax
jbe 0x48beaa
cmp word [ebp], 0xa
jne 0x48beaa
cmp word [ebp - 2], 0xd
jne 0x48beaa
add ebp, 0xfffffffe
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
push eax
push ecx
push edi
push esi
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48be50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x48be03
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x48bdd4
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48bf3f
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x85
ja 0x48bf88
je 0x48bf92
cmp eax, 0xa
jb 0x48bf62
cmp eax, 0xd
jbe 0x48bf92
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x18], 0x14
sete bl
cmp eax, ebx
je 0x48be03
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x48befc
jmp 0x48be03
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48bf62
mov eax, 1
jmp 0x48bf64
mov edx, ebx
cmp ebx, edi
jge 0x48be03
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48bfc7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bddb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48c00a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x48c029
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
jne 0x48be03
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48bfc0
jmp 0x48be03
mov edx, ebx
cmp ebx, edi
jge 0x48be03
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48c067
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bddb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48c0aa
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x48be03
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
je 0x48be03
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48c060
jmp 0x48be03
mov edx, ebx
cmp ebx, edi
jge 0x48be03
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48c107
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bddb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48c14a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x48c169
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
jne 0x48be03
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48c100
jmp 0x48be03
mov edx, ebx
cmp ebx, edi
jge 0x48be03
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48c1a7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bddb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48c1ea
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x48be03
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
je 0x48be03
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48c1a0
jmp 0x48be03
mov edx, ebx
cmp ebx, edi
jge 0x48be03
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48c247
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bddb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48c28a
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x48c2a9
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
jne 0x48be03
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48c240
jmp 0x48be03
mov edx, ebx
cmp ebx, edi
jge 0x48be03
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48c2d8
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bddb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48c31b
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
cmp eax, 0x100
jae 0x48be03
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
je 0x48be03
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48c2d1
jmp 0x48be03
mov eax, dword [ebx + 0x90]
cmp eax, dword [esp + 0x160]
jle 0x48c36a
mov dword [esp + 0x160], eax
movzx edx, word [esi + 6]
cmp word [esi + edx*2 + 4], 0x71
lea eax, [esi + edx*2 + 4]
jne 0x48c38e
mov edi, edi
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
je 0x48c380
mov edx, dword [esp + 0x14]
add eax, 4
cmp edx, 0x86
je 0x48cc30
mov dword [esp + 0x158], eax
jmp 0x48c723
cmp word [esi], 0x74
jne 0x48c3f0
mov edx, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
inc edx
push edx
push ecx
push ebx
push eax
push edi
add esi, 4
push esi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov edx, dword [esp + 0x18]
mov dword [esp + 0x158], edx
jmp 0x48c723
mov edx, dword [esp + 0x168]
mov dword [ebx + 0x9c], 2
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
push edx
push ebx
push eax
mov eax, dword [esp + 0x28]
push edi
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48c723
mov ecx, dword [esp + 0x158]
movzx ecx, word [ecx + 4]
mov ebx, dword [esp + 0x164]
lea esi, [ecx + ecx]
mov dword [esp + 0x28], ecx
cmp esi, dword [ebx + 0x14]
jge 0x48c540
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + esi*4]
mov dword [esp + 0x34], edx
mov edx, dword [eax + esi*4 + 4]
mov dword [esp + 0x1c], edx
mov edx, dword [ebx + 0x10]
sub edx, ecx
mov ecx, dword [eax + edx*4]
lea eax, [eax + edx*4]
mov edx, dword [ebx + 0x94]
mov dword [esp + 0x20], edx
mov edx, ebp
sub edx, dword [ebx + 0x78]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0xb0]
sar edx, 1
mov dword [esp + 0x24], ecx
mov dword [eax], edx
cmp dword [esp + 0x14], 0x82
mov edi, dword [esp + 0x158]
jl 0x48c4b2
mov dword [ebx + 0x9c], 2
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x160]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
movzx ecx, word [edi]
push ebx
push edx
movzx edx, byte [ecx + 0x4af7c0]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
cmp eax, 0xfffffc1c
je 0x48cba4
cmp eax, 0xfffffc20
jne 0x48cb70
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48eb66
cmp word [edi], 0x71
je 0x48c528
cmp word [ecx], 0x71
jne 0x48eb66
xor eax, eax
jmp 0x48cb78
mov ebx, dword [esp + 0x164]
jmp 0x48c540
cmp edx, 0x82
jge 0x48c58e
cmp edx, 0x7b
je 0x48c58e
cmp dword [ebx + 0x6c], 0
jne 0x48c598
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
je 0x48c598
movzx ecx, word [eax]
movzx edx, byte [ecx + 0x4af7c0]
lea eax, [eax + edx*2]
mov dword [esp + 0x158], eax
jmp 0x48c723
mov dword [ebx + 0x9c], 2
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edi, dword [esp + 0x158]
mov edx, dword [esp + 0x160]
mov esi, dword [ebx + 0xb0]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
movzx ecx, word [edi]
push ebx
push edx
movzx edx, byte [ecx + 0x4af7c0]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x48c615
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48eb66
cmp word [edi], 0x71
je 0x48c61d
cmp word [ecx], 0x71
jne 0x48eb66
jmp 0x48c61d
test eax, eax
jne 0x48cbd5
movzx edx, word [edi + 2]
lea eax, [edi + edx*2]
mov dword [ebx + 0xb0], esi
cmp word [eax], 0x71
mov dword [esp + 0x158], eax
jne case.0x486e6e.151
mov edx, dword [esp + 0x14]
jmp 0x48c540
movzx eax, word [ecx]
cmp eax, 0x75
je 0x48cde4
cmp eax, 0x74
jne 0x48c6b6
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x15c]
inc ecx
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push ebx
push esi
push eax
add ecx, 4
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
movzx eax, word [edi]
cmp eax, 0x7b
je 0x48ce00
mov edx, 0x82
cmp ax, dx
jae 0x48ce21
mov dword [esp + 0x158], edi
jmp 0x48c723
mov eax, 0x82
cmp word [edi], ax
jb 0x48c6ce
mov dword [ebx + 0x9c], 2
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x15c]
inc ecx
push ecx
push edx
push ebx
push esi
push eax
push edi
push ebp
call fcn.00486d80
add esp, 0x1c
cmp eax, 0xfffffc1c
jne 0x48c709
cmp dword [ebx + 0xb8], edi
jmp 0x48c70b
test eax, eax
jne 0x48eb66
cmp word [edi], 0x7b
je 0x48ce5b
add dword [esp + 0x158], 4
mov ecx, dword [ebx]
cmp ecx, dword [ebx + 4]
jb 0x486e03
inc dword [ebx]
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xffffffeb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x158]
mov esi, dword [esp + 0x164]
mov edx, dword [esp + 0x168]
lea ebx, [eax + 4]
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb0], ecx
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x164]
push edx
mov edx, dword [esp + 0x164]
push esi
push ecx
movzx ecx, word [eax]
push edx
movzx edx, byte [ecx + 0x4af7c0]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.00486d80
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x48c7c3
cmp edi, 0xfffffc19
jne 0x48c7e3
cmp dword [esi + 0xb0], 0
jne 0x48c7e3
mov dword [esi + 0xb0], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edi, 0xfffffc1f
jne 0x48cd49
mov eax, dword [esi + 0x80]
mov ecx, ebx
call fcn.0048ffc0
test eax, eax
jne 0x48cd49
mov dword [esi + 0x80], ebp
lea eax, [edi - 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x164]
push ecx
mov ecx, dword [esp + 0x164]
push edx
movzx edx, word [esi]
push eax
movzx eax, byte [edx + 0x4af7c0]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48c88c
cmp eax, 0xfffffc1d
je 0x48c88c
cmp eax, 0xfffffc1e
je 0x48c88c
cmp eax, 0xfffffc1f
je 0x48c88c
cmp eax, 0xfffffc20
jne 0x48eb66
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
movzx ecx, word [esi]
push edx
movzx edx, byte [ecx + 0x4af7c0]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48c8ef
cmp eax, 0xfffffc20
jne 0x48eb66
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x158]
mov ebx, dword [esp + 0x164]
mov edx, dword [esp + 0x168]
lea esi, [eax + 4]
mov dword [ebx + 0xb4], esi
mov dword [ebx + 0xb0], ecx
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x164]
push edx
mov edx, dword [esp + 0x164]
push ebx
push ecx
movzx ecx, word [eax]
push edx
movzx edx, byte [ecx + 0x4af7c0]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.00486d80
add esp, 0x1c
cmp eax, 1
je 0x48c96f
cmp eax, 0xfffffc19
jne 0x48c8dc
cmp dword [ebx + 0xb0], 0
jne 0x48c8dc
mov dword [ebx + 0xb0], esi
jmp 0x48c8dc
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
movzx ecx, word [esi]
push edi
push edx
movzx edx, byte [ecx + 0x4af7c0]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48c9e5
cmp eax, 0xfffffc1d
je 0x48c9e5
cmp eax, 0xfffffc20
jne 0x48eb66
mov dword [edi + 0x80], ebp
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x160]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
movzx edx, word [esi]
push ebx
push eax
movzx eax, byte [edx + 0x4af7c0]
push ecx
movzx ecx, word [esi + 2]
add eax, ecx
lea edx, [esi + eax*2]
push edx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48ca58
cmp eax, 0xfffffc1d
je 0x48ca58
cmp eax, 0xfffffc20
jne 0x48eb66
add esi, 4
mov dword [ebx + 0x80], esi
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
movzx ecx, word [esi]
push edi
push edx
movzx edx, byte [ecx + 0x4af7c0]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov dword [edi + 0x80], esi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edi, dword [esp + 0x158]
mov esi, dword [esp + 0x164]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x160]
lea ebx, [edi + 4]
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb0], ecx
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
movzx edx, word [edi]
push esi
push eax
movzx eax, byte [edx + 0x4af7c0]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push ebp
call fcn.00486d80
add esp, 0x1c
cmp eax, 1
je 0x48cb3f
cmp eax, 0xfffffc19
jne 0x48cb52
cmp dword [esi + 0xb0], 0
jne 0x48cb52
mov dword [esi + 0xb0], ebx
test eax, eax
jne 0x48eb66
mov dword [esi + 0x80], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
test eax, eax
jne 0x48eb66
mov edx, dword [esp + 0x20]
mov dword [ebx + 0x94], edx
movzx ecx, word [edi + 2]
mov edx, dword [esp + 0x24]
lea ecx, [edi + ecx*2]
mov dword [ebx + 0xb0], edx
cmp word [ecx], 0x71
mov dword [esp + 0x158], ecx
je 0x48c493
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x34]
mov dword [ecx + esi*4], edx
mov ecx, dword [ebx + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [ecx + esi*4 + 4], edx
mov ecx, dword [ebx + 0x10]
sub ecx, dword [esp + 0x28]
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x30]
mov dword [edx + ecx*4], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, 0xfffffc1c
jne 0x48eb66
movzx edx, word [edi]
mov ecx, edi
cmp edx, 0x7b
je 0x48cc17
cmp edx, 0x71
jne 0x48cc0e
jmp 0x48cc00
movzx edx, word [ecx + 2]
cmp word [ecx + edx*2], 0x71
lea ecx, [ecx + edx*2]
je 0x48cc00
movzx edx, word [ecx + 2]
neg edx
lea ecx, [ecx + edx*2]
cmp dword [ebx + 0xb8], ecx
jne 0x48eb66
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x168]
mov dword [ebx + 0x9c], 2
mov ecx, dword [esp + 0x16c]
inc ecx
push ecx
mov ecx, dword [esp + 0x164]
push edx
mov edx, dword [esp + 0x164]
push ebx
push ecx
push edx
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x15c]
cmp ebp, ecx
jne 0x48ccd5
cmp edx, 0x99
je 0x48ccd5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0xa8], 0
jne 0x48ccdc
cmp dword [eax + 0x5c], 0
jne 0x48ccc8
cmp dword [eax + 0x60], 0
je 0x48ccdc
mov esi, dword [eax + 0x98]
mov edi, dword [eax + 0x78]
lea esi, [edi + esi*2]
cmp ecx, esi
jne 0x48ccdc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
mov dword [eax + 0x84], ebp
mov dword [eax + 0x90], esi
mov dword [eax + 0x80], ecx
mov eax, edx
neg eax
sbb eax, eax
and eax, 0xfffffc18
inc eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x48cd49
push eax
call dword [0x4c739c]
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x40]
mov dword [ebx + 0xa8], edx
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x48cd7d
push eax
call dword [0x4c739c]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov dword [eax + 0x84], ebp
mov dword [eax + 0x90], edx
mov dword [eax + 0x80], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x15c]
mov dword [ebx + 0x84], ebp
mov dword [ebx + 0x80], edx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [ebx + 0x84], ebp
mov dword [ebx + 0x90], esi
mov eax, 0xfffffc1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x15c]
inc eax
push eax
push ecx
push ebx
push esi
push edx
push edi
jmp 0x48ceac
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x15c]
mov dword [ebx + 0x9c], 2
mov eax, dword [esp + 0x16c]
inc eax
push eax
push ecx
push ebx
push esi
push edx
push edi
push ebp
call fcn.00486d80
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x15c]
inc eax
push eax
mov eax, dword [esp + 0x15c]
push ecx
push ebx
push esi
push edx
add eax, 4
push eax
jmp 0x48ceac
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x15c]
inc ecx
push ecx
mov ecx, dword [esp + 0x15c]
push edx
push ebx
push esi
push eax
add ecx, 4
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov dword [ebx + 0xb8], edi
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ebx + 0x8c], ecx
je case.0x486e6e.151
cmp ebp, dword [ebx + 0x88]
jbe case.0x486e6e.151
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jle case.0x486e6e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [eax + 0x8c], ecx
je case.0x486e6e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x486e6e.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x486e6e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x486e6e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jle case.0x486e6e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [edx + 0x88]
jbe case.0x486e6e.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jle case.0x486e6e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [eax + 0x7c]
jb case.0x486e6e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x486e6e.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x486e6e.151
lea eax, [ecx - 0xd]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edi + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [edi + 0x7c]
jb case.0x486e6e.151
cmp ebp, dword [edi + 0x88]
jbe case.0x486e6e.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jle case.0x486e6e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [esp + 0x1c], ebp
cmp edi, eax
jge 0x48d0f4
mov edi, dword [esp + 0x164]
lea esp, [esp]
mov eax, dword [esp + 0x18]
push eax
push esi
mov edx, edi
mov eax, ebx
mov ecx, ebp
call fcn.00486bd0
add esp, 8
test eax, eax
js 0x48d0b4
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x48d080
jmp 0x48d0ea
cmp dword [edi + 0x8c], 0
je 0x48d0ea
cmp ebp, dword [edi + 0x7c]
jb 0x48d0ea
cmp ebp, dword [edi + 0x88]
jbe 0x48d0ea
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jg 0x48ceff
cmp ebp, dword [esp + 0x1c]
jb 0x48d144
mov esi, dword [esp + 0x158]
mov edi, dword [esp + 0x160]
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
push edi
push ecx
push esi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov edx, ebx
neg edx
lea ebp, [ebp + edx*2]
cmp ebp, dword [esp + 0x1c]
jae 0x48d102
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [esi + 0x7c]
jb case.0x486e6e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x486e6e.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jle case.0x486e6e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x486e6e.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jle case.0x486e6e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x24]
shr eax, 3
mov al, byte [eax + ecx]
test al, dl
je case.0x486e6e.151
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov edx, dword [esp + 0x160]
push eax
push ebx
push ecx
push edx
push ebp
inc esi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x489037
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [esp + 0x1c], ebp
mov edx, esi
cmp esi, edi
jge 0x48d325
mov eax, dword [esp + 0x164]
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x18], ecx
jmp 0x48d277
mov eax, dword [esp + 0x164]
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x48d2fd
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48d2bc
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov esi, 2
cmp eax, 0xff
jbe 0x48d2cd
cmp dword [esp + 0x14], 0x6a
jmp 0x48d2e5
mov ecx, eax
and ecx, 7
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x24]
shr eax, 3
mov al, byte [eax + ecx]
test al, bl
je 0x48d325
inc edx
lea ebp, [ebp + esi*2]
cmp edx, edi
jl 0x48d270
jmp 0x48d325
cmp dword [eax + 0x8c], 0
je 0x48d325
cmp ebp, dword [eax + 0x88]
jbe 0x48d325
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x48ceff
mov ecx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
mov edi, dword [esp + 0x15c]
mov eax, dword [esp + 0x158]
inc ecx
push ecx
push ebx
push edx
push esi
push edi
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x486e6e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48d38f
sub ebp, 2
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x158]
inc edx
push edx
push ebx
push eax
push esi
push edi
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48d367
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x486e6e.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jmp 0x48cf35
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], esi
cmp esi, edi
jge 0x48d4b5
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x18], eax
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x48d486
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48d459
movzx edx, word [ebp + 2]
and eax, 0x3ff
and edx, 0x3ff
shl eax, 0xa
or eax, edx
add eax, 0x10000
mov esi, 2
push 1
push eax
mov eax, dword [esp + 0x2c]
call fcn.00490270
add esp, 8
test eax, eax
je 0x48d4b5
mov eax, dword [esp + 0x28]
inc eax
lea ebp, [ebp + esi*2]
mov dword [esp + 0x28], eax
cmp eax, edi
jl 0x48d414
jmp 0x48d4b5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x48d4b5
cmp ebp, dword [eax + 0x88]
jbe 0x48d4b5
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x48ceff
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
mov edi, dword [esp + 0x15c]
inc eax
push eax
push ecx
push edx
push esi
push edi
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x1c]
je case.0x486e6e.151
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x48d518
sub ebp, 2
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
push edx
push eax
push esi
push edi
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48d4f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x486e6e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x486e6e.151
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x8c], 1
jmp 0x48cf35
cmp dword [edi + 0x8c], ecx
je case.0x486e6e.151
cmp ebp, dword [edi + 0x88]
jbe case.0x486e6e.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jmp 0x48cf35
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [eax + 0x7c]
jb case.0x486e6e.151
jmp 0x48cf1b
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x164]
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
push edx
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp edi, dword [esp + 0x14]
jge case.0x486e6e.151
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
mov eax, dword [esp + 0x24]
add eax, eax
mov edx, edi
sub edx, eax
cmp ebp, edx
ja 0x48d6ad
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x48d668
jmp 0x48d650
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x48d6ad
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x48d650
test eax, eax
je 0x48d6a0
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x48d6ad
cmp eax, 1
jbe 0x48d6a0
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x48d6ad
cmp eax, 2
jbe 0x48d6a0
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x48d6ad
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x48d732
cmp dword [esp + 0x18], 0
jle 0x48d788
mov edx, dword [esp + 0x18]
add edx, edx
sub edi, edx
cmp ebp, edi
ja 0x48d788
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x48d6f8
lea ecx, [ecx]
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x48d788
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x48d6e0
test eax, eax
je 0x48d730
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x48d788
cmp eax, 1
jbe 0x48d730
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x48d788
cmp eax, 2
jbe 0x48d730
mov cl, byte [ecx + 2]
cmp cl, byte [esi + 2]
jne 0x48d788
add ebp, edx
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x28]
inc edx
push edx
mov edx, dword [esp + 0x164]
push eax
mov eax, dword [esp + 0x164]
push ecx
mov ecx, dword [esp + 0x164]
push edx
push eax
push ecx
inc edi
push ebp
mov dword [esp + 0x44], edi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48d610
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x486e6e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x486e6e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x48cf35
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x486e6e.151
mov ecx, dword [esp + 0x164]
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x48cf35
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
mov eax, dword [esp + 0x160]
push ecx
mov ebx, edi
mov edi, dword [esp + 0x16c]
push edi
push edx
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp ebx, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
cmp esi, eax
je 0x48d86e
cmp dword [esp + 0x28], eax
jne case.0x486e6e.151
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov edx, dword [esp + 0x160]
push eax
push edi
push ecx
push edx
add ebp, 2
push ebp
inc ebx
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48d842
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [edx + 0x88]
jbe case.0x486e6e.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jmp 0x48cf35
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov ebx, edi
mov edi, dword [esp + 0x16c]
push edi
push eax
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp ebx, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx edx, word [ebp]
add ebp, 2
cmp esi, edx
jne case.0x486e6e.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
mov ecx, dword [esp + 0x160]
push edx
push edi
push eax
push ecx
push ebp
inc ebx
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48d924
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ebx, dword [esp + 0x160]
mov edi, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
mov esi, ecx
mov ecx, dword [esp + 0x16c]
push ecx
push ebx
push edx
push edi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp esi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48da25
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp dword [esp + 0x24], eax
je case.0x486e6e.151
cmp dword [esp + 0x28], eax
je case.0x486e6e.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push edi
push ebp
inc esi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48d9d4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ebx, dword [esp + 0x160]
mov edi, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
mov esi, ecx
mov ecx, dword [esp + 0x16c]
push ecx
push ebx
push edx
push edi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
lea ecx, [ecx]
cmp esi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48db11
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
cmp dword [esp + 0x24], eax
je case.0x486e6e.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push edi
push ebp
inc esi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48dac0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x486e6e.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x48cf35
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x486e6e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x48cf35
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
jmp 0x48cf15
cmp dword [esi + 0x8c], 0
je case.0x486e6e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x486e6e.151
mov dword [esi + 0x64], 1
cmp dword [esi + 0x8c], 1
jmp 0x48cf35
test eax, eax
js 0x48e5d5
cmp eax, 8
ja case.default.0x488a4b
jmp dword [eax*4 + 0x48ee74]
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov edi, dword [esp + 0x158]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
mov esi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push edx
push edi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp esi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x48dc85
add ebp, 2
cmp dword [esp + 0x2c], 0
jne case.0x486e6e.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push edi
push ebp
inc esi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48dc55
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
mov edi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ecx
push esi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp edi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48dd61
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov edx, eax
shr edx, 7
movzx ecx, byte [edx + 0x4b10e8]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4b32e8]
movzx eax, byte [edx*8 + 0x4b0009]
cmp eax, 9
je 0x48dd9c
cmp eax, 5
je 0x48dd9c
cmp eax, 8
je 0x48dd9c
xor eax, eax
jmp 0x48dda1
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486e6e.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push esi
push ebp
inc edi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48dd10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
mov esi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ecx
push edi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
nop
cmp esi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48de81
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov edx, eax
shr edx, 7
movzx ecx, byte [edx + 0x4b10e8]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4b32e8]
movzx eax, byte [edx*8 + 0x4b0009]
mov edx, dword [esp + 0x38]
xor ecx, ecx
cmp dword [eax*4 + 0x4af860], edx
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x486e6e.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push edi
push ebp
inc esi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48de30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov edi, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
mov esi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ecx
push edi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp esi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48df94
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov edx, eax
shr edx, 7
movzx ecx, byte [edx + 0x4b10e8]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4b32e8]
movzx eax, byte [edx*8 + 0x4b0009]
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x486e6e.151
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push ebx
push edx
push edi
push ebp
inc esi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48df43
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov edi, dword [esp + 0x158]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
mov esi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push eax
push edi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
nop
cmp esi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e0a1
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4b10e8]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4b32e8]
movzx ecx, byte [eax*8 + 0x4b0008]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je case.0x486e6e.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push ebx
push eax
push edi
push ebp
inc esi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48e050
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x158]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
mov edi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ecx
push esi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
lea esp, [esp]
cmp edi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48e1b1
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov edx, eax
shr edx, 7
movzx ecx, byte [edx + 0x4b10e8]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4b32e8]
movzx eax, byte [edx*8 + 0x4b0009]
mov eax, dword [eax*4 + 0x4af860]
cmp eax, 1
je 0x48e1ea
cmp eax, 3
je 0x48e1ea
xor eax, eax
jmp 0x48e1ef
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486e6e.151
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
push eax
push ebx
push ecx
push esi
push ebp
inc edi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48e160
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push esi
push edx
mov edi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
lea ecx, [ecx]
cmp edi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e2d1
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4b10e8]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4b32e8]
movzx ecx, byte [edx*8 + 0x4b0009]
cmp dword [ecx*4 + 0x4af860], 6
je 0x48e321
cmp eax, 9
je 0x48e321
cmp eax, 0xa
je 0x48e321
cmp eax, 0xc
je 0x48e321
cmp eax, 0xd
je 0x48e321
xor eax, eax
jmp 0x48e326
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486e6e.151
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push esi
push edx
push ebx
push ebp
inc edi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48e280
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x160]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
push esi
push eax
mov edi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp edi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e405
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4b10e8]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4b32e8]
movzx ecx, byte [edx*8 + 0x4b0009]
cmp dword [ecx*4 + 0x4af860], 6
je 0x48e45e
cmp eax, 9
je 0x48e45e
cmp eax, 0xa
je 0x48e45e
cmp eax, 0xb
je 0x48e45e
cmp eax, 0xc
je 0x48e45e
cmp eax, 0xd
je 0x48e45e
xor eax, eax
jmp 0x48e463
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486e6e.151
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push esi
push edx
push ebx
push ebp
inc edi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48e3b4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov esi, dword [esp + 0x158]
inc eax
push eax
mov eax, dword [esp + 0x160]
push ecx
push edx
mov edi, ebx
mov ebx, dword [esp + 0x16c]
push ebx
push eax
push esi
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp edi, dword [esp + 0x14]
jge case.0x486e6e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48dbc1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e542
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx edx, byte [ecx + 0x4b10e8]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4b32e8]
movzx ecx, byte [edx*8 + 0x4b0009]
mov ecx, dword [ecx*4 + 0x4af860]
cmp ecx, 1
je 0x48e586
cmp ecx, 3
je 0x48e586
cmp eax, 0x5f
je 0x48e586
xor eax, eax
jmp 0x48e58b
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486e6e.151
mov edx, dword [esp + 0x16c]
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
inc edx
push edx
mov edx, dword [esp + 0x160]
push eax
push ecx
push ebx
push edx
push esi
push ebp
inc edi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48e4f1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
inc eax
cmp dword [esp + 0x18], 0x16
push eax
mov edi, ebx
push ecx
jne 0x48e769
mov edx, dword [esp + 0x16c]
mov esi, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
push edx
push esi
push eax
push ecx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
mov eax, dword [esp + 0x164]
cmp edi, dword [esp + 0x14]
jge case.0x486e6e.151
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x48dbc1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e677
movzx ecx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and ecx, 0x3ff
or eax, ecx
add eax, 0x10000
add ebp, 2
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4b10e8]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b32e8]
movzx ecx, byte [eax*8 + 0x4b0009]
cmp dword [ecx*4 + 0x4af860], 2
je case.0x486e6e.151
cmp ebp, edx
jae 0x48e722
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x48e6ec
movzx ecx, word [ebp + 2]
and eax, 0x3ff
and ecx, 0x3ff
shl eax, 0xa
or eax, ecx
add eax, 0x10000
mov ecx, 2
mov ebx, eax
shr ebx, 7
movzx ebx, byte [ebx + 0x4b10e8]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32e8]
movzx eax, byte [eax*8 + 0x4b0009]
cmp dword [eax*4 + 0x4af860], 2
jne 0x48e722
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x48e6b1
mov ecx, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x164]
inc ecx
push ecx
mov ecx, dword [esp + 0x160]
push edx
mov edx, dword [esp + 0x160]
push eax
push esi
push ecx
push edx
push ebp
inc edi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48e624
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov esi, dword [esp + 0x16c]
mov ebx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
push esi
push ebx
push edx
push eax
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
jne 0x48eb66
cmp edi, dword [esp + 0x14]
jge case.0x486e6e.151
cmp ebp, dword [esi + 0x7c]
jae 0x48db5b
cmp dword [esp + 0x18], 0xc
jne 0x48e821
mov eax, dword [esi + 0x18]
test eax, eax
je 0x48e7f1
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00490070
add esp, 8
test eax, eax
jne case.0x486e6e.151
mov esi, dword [esp + 0x164]
jmp 0x48e821
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x7c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x48e821
mov cx, word [ebp]
cmp cx, word [esi + 0x2c]
jne 0x48e821
cmp eax, 1
je case.0x486e6e.151
mov dx, word [ebp + 2]
cmp dx, word [esi + 0x2e]
je case.0x486e6e.151
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e858
movzx edx, word [ebp]
and eax, 0x3ff
shl eax, 0xa
and edx, 0x3ff
or eax, edx
add eax, 0x10000
add ebp, 2
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffffa
cmp ecx, 0xf
ja case.default.0x488a4b
jmp dword [ecx*4 + 0x48ee98]
cmp eax, 0xd
ja 0x48e8ad
je 0x48e891
cmp eax, 0xa
je case.0x48e868.12
jbe case.0x486e6e.151
cmp eax, 0xc
jmp 0x48e8c4
cmp ebp, dword [esi + 0x7c]
jae case.0x48e868.12
cmp word [ebp], 0xa
jne case.0x48e868.12
add ebp, 2
jmp case.0x48e868.12
cmp eax, 0x85
je 0x48e8ca
cmp eax, 0x2027
jbe case.0x486e6e.151
cmp eax, 0x2029
ja case.0x486e6e.151
cmp dword [esi + 0x68], 0
jne case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x180e
ja 0x48e912
je case.0x486e6e.151
cmp eax, 0xa0
ja 0x48e908
je case.0x486e6e.151
cmp eax, 9
je case.0x486e6e.151
cmp eax, 0x20
jmp 0x48eae3
cmp eax, 0x1680
jmp 0x48eae3
cmp eax, 0x205f
ja 0x48e93f
je case.0x486e6e.151
cmp eax, 0x2000
jb case.0x48e868.12
cmp eax, 0x200a
jbe case.0x486e6e.151
cmp eax, 0x202f
jmp 0x48eae3
cmp eax, 0x3000
jmp 0x48eae3
cmp eax, 0x180e
ja 0x48e98e
je case.0x48e868.12
cmp eax, 0xa0
ja 0x48e97e
je case.0x48e868.12
cmp eax, 9
je case.0x48e868.12
cmp eax, 0x20
jne case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x1680
jne case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x205f
ja 0x48e9c1
je case.0x48e868.12
cmp eax, 0x2000
jb case.0x486e6e.151
cmp eax, 0x200a
jbe case.0x48e868.12
cmp eax, 0x202f
jne case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x3000
jne case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x85
ja 0x48e9f5
je case.0x486e6e.151
cmp eax, 0xa
jb case.0x48e868.12
cmp eax, 0xd
jbe case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x2028
jb case.0x48e868.12
cmp eax, 0x2029
jbe case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x85
ja 0x48ea34
je case.0x48e868.12
cmp eax, 0xa
jb case.0x486e6e.151
cmp eax, 0xd
ja case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x2028
jb case.0x486e6e.151
cmp eax, 0x2029
ja case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x100
jae case.0x48e868.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 4
jne case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x100
jae case.0x486e6e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 4
jmp 0x48eae3
cmp eax, 0x100
jae case.0x48e868.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 1
jne case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x100
jae case.0x486e6e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 1
jmp 0x48eae3
cmp eax, 0x100
jae case.0x48e868.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x486e6e.151
jmp case.0x48e868.12
cmp eax, 0x100
jae case.0x486e6e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 0x10
je case.0x486e6e.151
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x15c]
inc eax
push eax
mov eax, dword [esp + 0x15c]
push ecx
push esi
push ebx
push edx
push eax
push ebp
inc edi
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48e79a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
inc eax
push eax
push ecx
push edx
push edi
push esi
push ebx
push ebp
call fcn.00486d80
add esp, 0x1c
test eax, eax
je 0x48b8d6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret