Function at 0x486be0
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 0x486c40
cmp dword [esp + 0x16c], eax
jne 0x486c20
push 1
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0x184]
push eax
call fcn.00486be0
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 0x48c58e
mov ebp, dword [esp + 0x154]
jmp 0x486c65
xor eax, eax
inc ecx
mov dword [ebx], ecx
mov ecx, dword [esp + 0x16c]
cmp ecx, dword [ebx + 8]
jae 0x48c5a0
cmp dword [ebx + 0x9c], 2
jne 0x486ca1
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.0x486cce.98
movzx edi, byte [edx + 0x48eb1c]
jmp dword [edi*4 + 0x48e9d4]
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x70], ecx
je 0x48c85b
movzx edx, byte [edx + 0x4af7a8]
movzx eax, word [esi + 2]
add edx, eax
lea ecx, [esi + edx*2]
mov dword [esp + 0x158], ecx
jmp 0x486ca1
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.00486be0
add esp, 0x1c
cmp eax, 1
je 0x486e15
cmp eax, 0xfffffc20
jne 0x486d7e
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48e9c6
cmp word [esi], 0x71
je 0x486d86
cmp word [ecx], 0x71
jmp 0x486d80
test eax, eax
jne 0x48e9c6
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 0x486d20
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x7c
je 0x486dc0
cmp eax, 0x71
jne case.0x486cce.151
jmp 0x486dc0
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 0x486dc0
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 0x486e06
cmp ebp, dword [esp + 0x20]
jne 0x48c20d
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov edi, dword [ebx + 0x80]
mov dword [esp + 0x15c], edi
jmp 0x486daa
mov dword [esp + 0x24], ecx
jmp 0x487929
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
mov ebx, dword [esp + 0x164]
jne 0x486f24
mov ecx, dword [0x4cc494]
test ecx, ecx
je 0x486f1a
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.0x486cce.151
js 0x48e9c6
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 0x48712a
cmp ecx, 0x8a
je 0x48712a
cmp ecx, 0x87
je 0x486fbb
cmp ecx, 0x88
je 0x486fbb
cmp ecx, 0x8b
jne 0x486f67
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x487268
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.00486be0
add esp, 0x1c
cmp eax, 1
je 0x48c1b0
test eax, eax
je 0x486faf
cmp eax, 0xfffffc20
jne 0x48e9c6
mov edx, dword [esp + 0x14]
lea eax, [esi + edi*2]
jmp 0x487268
movzx eax, word [esi + 6]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x486fd7
mov edi, dword [ebx + 0xc]
cmp dword [edi + eax*4], 0
jge 0x487115
mov dword [esp + 0x20], 0
cmp ecx, 0x88
jne 0x4870df
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 0x487012
lea ecx, [ecx]
movzx edx, word [esi]
cmp edx, eax
je 0x487012
mov edx, dword [ebx + 0x24]
inc edi
lea esi, [esi + edx*2]
cmp edi, ecx
jl 0x487000
cmp edi, ecx
jge 0x4870df
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x28]
mov ebx, esi
mov dword [esp + 0x30], eax
cmp esi, eax
jbe 0x487083
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.0048fe20
test eax, eax
jne 0x487083
movzx eax, word [ebx]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x487075
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x487104
mov dword [esp + 0x20], 0
cmp ebx, dword [esp + 0x30]
ja 0x487040
inc edi
cmp edi, dword [esp + 0x18]
jge 0x4870df
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.0048fe20
test eax, eax
jne 0x4870df
movzx eax, word [esi]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x4870d0
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x487108
inc edi
mov dword [esp + 0x20], 0
cmp edi, dword [esp + 0x18]
jl 0x4870a0
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 0x48725d
mov ebx, edx
jmp 0x48710a
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 0x48725d
cmp dword [ebx + 0xa8], 0
jne 0x48713f
movzx ecx, word [esi + 2]
lea eax, [esi + ecx*2]
jmp 0x487268
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x487281
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
cmp edx, eax
je 0x487281
mov dword [esp + 0x20], 0
cmp ecx, 0x8a
jne 0x487234
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 0x4871a2
nop
movzx edi, word [esi]
cmp edi, edx
je 0x4871a2
mov edi, dword [ecx + 0x24]
inc ebx
lea esi, [esi + edi*2]
cmp ebx, eax
jl 0x487190
cmp ebx, eax
jge 0x487234
mov eax, dword [ecx + 0x28]
mov edi, esi
mov dword [esp + 0x34], eax
cmp esi, eax
jbe 0x4871ef
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.0048fe20
test eax, eax
jne 0x4871ef
movzx ecx, word [edi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x487289
cmp edi, dword [esp + 0x34]
ja 0x4871c0
inc ebx
cmp ebx, dword [esp + 0x18]
jge 0x487234
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.0048fe20
test eax, eax
jne 0x487234
movzx ecx, word [esi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x487289
inc ebx
cmp ebx, dword [esp + 0x18]
jl 0x487209
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 0x48c1f2
cmp word [eax], 0x71
je 0x48c1f2
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x486ca1
mov dword [esp + 0x20], 1
mov eax, 2
jmp 0x48723f
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 0x4872c4
add dword [esp + 0x158], 4
mov dword [ecx + 0x40], 1
jmp 0x486ca1
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 0x4872f3
add eax, 2
mov dword [esp + 0x160], eax
add dword [esp + 0x158], 4
jmp 0x486ca1
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0xb0]
mov eax, 1
mov dword [esp + 0x24], edx
cmp dword [esi + 0x9c], eax
jne 0x48732a
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x48732e
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.00486be0
add esp, 0x1c
cmp eax, 1
je 0x4873a4
cmp eax, 0xfffffc19
je 0x4873a4
test eax, eax
je 0x48737d
cmp eax, 0xfffffc20
jne 0x48e9c6
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 0x487340
jmp 0x4873b1
mov edx, dword [esi + 0x80]
mov dword [esp + 0x15c], edx
mov eax, dword [esp + 0x158]
cmp word [eax], 0x72
je case.0x486cce.151
cmp dword [esp + 0x20], 0
jne 0x48cc11
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 0x4873d0
mov edx, dword [esi + 0x90]
add dword [esp + 0x158], 4
mov dword [esp + 0x160], edx
jmp 0x486ca1
mov esi, dword [esp + 0x164]
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x24], eax
mov eax, 1
cmp dword [esi + 0x9c], eax
jne 0x487430
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x487434
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.00486be0
mov ecx, dword [esp + 0x40]
add esp, 0x1c
mov dword [esi + 0xb0], ecx
cmp eax, 1
je case.0x486cce.151
cmp eax, 0xfffffc19
je case.0x486cce.151
cmp eax, 0xfffffc1e
je 0x4874c0
cmp eax, 0xfffffc1d
je 0x4874c0
cmp eax, 0xfffffc1a
je 0x4874c0
test eax, eax
je 0x4874a6
cmp eax, 0xfffffc20
jne 0x48e9c6
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea eax, [edi + edx*2]
mov dword [esp + 0x158], eax
jne 0x4874dc
jmp 0x48743b
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 0x4874c0
cmp dword [esp + 0x20], 0
jne 0x48cc11
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x486ca1
movzx eax, word [esi + 2]
mov edx, dword [esp + 0x164]
cmp eax, ecx
jle 0x487531
mov ecx, dword [edx + 0x78]
sub ebp, 2
dec eax
cmp ebp, ecx
jb case.0x486cce.151
mov di, word [ebp]
mov ebx, 0xfc00
and di, bx
mov ebx, 0xdc00
cmp di, bx
jne 0x48752d
sub ebp, 2
test eax, eax
jg 0x487508
cmp ebp, dword [edx + 0x88]
jae 0x48753f
mov dword [edx + 0x88], ebp
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov esi, dword [0x4cc494]
mov edi, dword [esp + 0x158]
test esi, esi
je 0x487624
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.0x486cce.151
js 0x48e9c6
add edi, 0xc
mov dword [esp + 0x158], edi
jmp 0x486ca1
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 0x487653
xor ecx, ecx
jmp 0x487657
movzx ecx, word [esi + 4]
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x487675
cmp ecx, dword [eax + 4]
jne 0x48766f
cmp ebp, dword [eax + 0x10]
je 0x48cb6c
mov eax, dword [eax]
test eax, eax
jne 0x487661
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 0x4876b2
lea eax, [esp + 0xd8]
mov dword [esp + 0x48], eax
jmp 0x4876d3
lea eax, [ecx*4]
push eax
call dword [0x4c7398]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x48cb7c
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebx + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00498680
mov eax, 0x82
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
test eax, eax
je 0x487702
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 + 0x4af7a8]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00486be0
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.00498680
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov dword [ebx + 0xa8], eax
cmp edi, 1
je 0x4877a6
cmp edi, 0xfffffc19
je 0x4877a6
test edi, edi
je 0x487781
cmp edi, 0xfffffc20
jne 0x48cb8c
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 0x48cbb6
mov eax, dword [esp + 0x20]
jmp 0x4876f4
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x4877bf
push eax
call dword [0x4c739c]
add esp, 4
mov edx, dword [ebx + 0x80]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x15c], edx
jmp 0x486ca1
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.0x486cce.113
jmp 0x486ca1
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
jmp 0x487850
movzx ecx, word [esi + 2]
cmp word [esi + ecx*2], 0x71
lea esi, [esi + ecx*2]
je 0x487850
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x486ca1
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 0x487880
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov dword [esp + 0x158], esi
jmp 0x486ca1
lea eax, [esi + 2]
jmp 0x4878e0
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
je 0x4878e0
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x486ca1
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 0x487929
cmp eax, 0x85
jne 0x487adb
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 0x487ad3
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 0x4879af
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 + 0x4af7a8]
push ecx
lea ecx, [edi + eax*2]
push ecx
push ebp
call fcn.00486be0
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x487a26
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 0x487980
cmp eax, 0xfffffc20
jne 0x487a4c
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48e9c6
cmp word [edi], 0x71
je 0x487a54
cmp word [ecx], 0x71
jmp 0x487a4e
test eax, eax
jne 0x48e9c6
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 0x487980
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x487aaa
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 0x487ab9
test edx, edx
je case.0x486cce.151
add dword [esp + 0x158], 4
jmp 0x486ca1
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x24], ecx
jmp 0x487ae2
xor ecx, ecx
mov dword [esp + 0x24], ecx
jmp 0x487ae2
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 0x487b1a
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 + 0x4af7a8]
push edi
push ebx
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00486be0
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x487b7a
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 0x487b06
cmp eax, 0xfffffc20
jne 0x487ba0
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [edi + 0x80], ecx
jae 0x48e9c6
cmp word [esi], 0x71
je 0x487ba8
cmp word [ecx], 0x71
jmp 0x487ba2
test eax, eax
jne 0x48e9c6
movzx edx, word [esi + 2]
cmp word [esi + edx*2], 0x71
lea esi, [esi + edx*2]
je 0x487b06
cmp dword [esp + 0x18], 0
jne 0x487bcc
cmp dword [esp + 0x24], 0
je case.0x486cce.151
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x486ca1
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 0x487c0c
cmp eax, 0x7b
je 0x487c0c
mov dword [esp + 0x20], 0
jmp 0x487c23
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 0x487c31
cmp eax, 0x7a
jbe 0x48cbea
cmp eax, 0x7c
je 0x48cbea
cmp eax, 0x7f
je 0x487c61
mov edx, 0x84
cmp ax, dx
je 0x487c61
mov edx, 0x80
cmp ax, dx
je 0x487c61
mov edx, 0x85
cmp ax, dx
jne 0x487cff
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 0x487c8b
mov esi, dword [ebx + 0xa8]
cmp dword [esi + 4], eax
je 0x48cc21
mov esi, dword [esp + 0x160]
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x487ca9
mov dword [ebx + 0x40], 1
jmp 0x487d0d
cmp edx, esi
jle 0x487cca
mov eax, dword [ebx + 0xc]
lea edi, [eax + esi*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x487cc6
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 0x487d0d
lea esi, [edx + 2]
mov dword [esp + 0x160], esi
jmp 0x487d0d
mov esi, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
cmp word [ecx], 0x72
je 0x487d1d
cmp ebp, dword [esp + 0x20]
jne 0x48c4a4
cmp word [edi], 0x7b
je 0x48cce6
add ecx, 4
mov dword [esp + 0x158], ecx
jmp 0x486ca1
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x487d54
cmp ebp, dword [eax + 0x78]
je case.0x486cce.151
jmp 0x487d54
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x78]
jne case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x487d81
cmp ebp, dword [eax + 0x78]
je case.0x486cce.151
mov edx, dword [eax + 0x78]
cmp ebp, edx
je 0x487e00
cmp ebp, dword [eax + 0x7c]
je case.0x486cce.151
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x487dc9
cmp ebp, edx
jbe case.0x486cce.151
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.0048ff90
add esp, 8
test eax, eax
je case.0x486cce.151
add dword [esp + 0x158], 2
jmp 0x486ca1
mov esi, dword [eax + 0x1c]
mov ecx, dword [eax + 0x78]
lea edx, [esi + esi]
add ecx, edx
cmp ebp, ecx
jb case.0x486cce.151
mov ecx, ebp
sub ecx, edx
mov dx, word [ecx]
cmp dx, word [eax + 0x2c]
jne case.0x486cce.151
cmp esi, 1
je 0x487e00
mov cx, word [ecx + 2]
cmp cx, word [eax + 0x2e]
jne case.0x486cce.151
add dword [esp + 0x158], 2
jmp 0x486ca1
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.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
add esi, 2
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487ed8
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x487e95
mov edx, dword [eax + 0x7c]
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.0048fed0
add esp, 8
test eax, eax
je case.0x486cce.151
mov esi, dword [esp + 0x158]
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov ecx, dword [eax + 0x1c]
mov edi, dword [eax + 0x7c]
lea edx, [ecx + ecx]
sub edi, edx
cmp ebp, edi
ja case.0x486cce.151
mov dx, word [ebp]
cmp dx, word [eax + 0x2c]
jne case.0x486cce.151
cmp ecx, 1
je 0x487f05
mov cx, word [ebp + 2]
cmp cx, word [eax + 0x2e]
jne case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
cmp dword [eax + 0x48], ecx
jne case.0x486cce.151
cmp dword [eax + 0x8c], ecx
je 0x487f05
cmp ebp, dword [eax + 0x88]
jbe 0x487f05
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48cd5f
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x48], ecx
jne case.0x486cce.151
cmp dword [ebx + 0x58], ecx
je 0x487f75
jmp 0x487f32
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jb case.0x486cce.151
cmp dword [ebx + 0x8c], ecx
je 0x487f5f
cmp ebp, dword [ebx + 0x88]
jbe 0x487f5f
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x48cd5f
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jae 0x487fe6
mov eax, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
cmp eax, ecx
je 0x487fa2
mov edx, dword [ebx + 0x7c]
push 1
push eax
mov ecx, ebp
call fcn.0048fed0
add esp, 8
test eax, eax
je case.0x486cce.151
jmp 0x487fd5
mov eax, dword [esi]
mov ecx, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub ecx, edx
cmp ebp, ecx
ja case.0x486cce.151
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne case.0x486cce.151
cmp eax, 1
je 0x487fd5
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
jne case.0x486cce.151
mov ecx, dword [esi]
mov edx, dword [ebx + 0x7c]
add ecx, ecx
sub edx, ecx
cmp ebp, edx
jne case.0x486cce.151
cmp dword [ebx + 0x8c], 0
je 0x48800b
cmp ebp, dword [ebx + 0x88]
jbe 0x48800b
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x48cd5f
add dword [esp + 0x158], 2
jmp 0x486ca1
mov edx, dword [esp + 0x164]
cmp ebp, dword [edx + 0x78]
je 0x4880e4
mov ax, word [ebp - 2]
lea ecx, [ebp - 2]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x488044
sub ecx, 2
cmp ecx, dword [edx + 0x88]
jae 0x488052
mov dword [edx + 0x88], ecx
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48807e
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 0x4880cd
cmp eax, 0x5f
jne 0x488091
lea ecx, [eax - 0x5e]
jmp 0x4880e6
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4b10d0]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4b32d0]
movzx ecx, byte [eax*8 + 0x4afff1]
mov eax, dword [ecx*4 + 0x4af848]
cmp eax, 1
je 0x4880c6
cmp eax, 3
jne 0x4880e4
mov ecx, 1
jmp 0x4880e6
cmp eax, 0x100
jae 0x4880e4
mov ecx, dword [edx + 0x3c]
test byte [eax + ecx], 0x10
je 0x4880e4
mov ecx, 1
jmp 0x4880e6
xor ecx, ecx
cmp ebp, dword [edx + 0x7c]
jb 0x488135
cmp dword [edx + 0x8c], 0
je 0x488110
cmp ebp, dword [edx + 0x88]
jbe 0x488110
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x48cd5f
xor eax, eax
mov dx, word [esi]
add esi, 2
mov dword [esp + 0x158], esi
cmp dx, 5
jne 0x4881d9
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x4881e0
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x488162
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 0x4881b7
cmp eax, 0x5f
jne 0x488174
mov eax, 1
jmp 0x488112
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4b10d0]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4b32d0]
movzx edx, byte [eax*8 + 0x4afff1]
mov eax, dword [edx*4 + 0x4af848]
cmp eax, 1
je 0x4881ad
cmp eax, 3
jne 0x488110
mov eax, 1
jmp 0x488112
cmp eax, 0x100
jae 0x488110
mov edx, dword [edx + 0x3c]
test byte [eax + edx], 0x10
je 0x488110
mov eax, 1
jmp 0x488112
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x486ca1
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 0x488234
cmp ebp, dword [ebx + 0x7c]
jae 0x48826d
mov edx, dword [ebx + 0x7c]
push 1
lea esi, [ebx + 0x1c]
push eax
mov ecx, ebp
call fcn.0048fed0
add esp, 8
test eax, eax
jne case.0x486cce.151
mov esi, dword [esp + 0x158]
xor ecx, ecx
jmp 0x48826d
mov eax, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x48826d
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne 0x48826d
cmp eax, 1
je case.0x486cce.151
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
je case.0x486cce.151
jmp 0x48826d
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x7c]
cmp ebp, eax
jae 0x48cd33
add ebp, 2
cmp ebp, eax
jae 0x488298
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x488298
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cd6f
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cdab
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48830c
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 0x488320
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
jne case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cdab
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x488372
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.0x486cce.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
je case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cdab
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4883dc
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 0x4883f0
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
jne case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cdab
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x488442
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.0x486cce.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
je case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cdab
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], 0x10
jne case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48cdab
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.0x486cce.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
je case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x48cde8
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48857e
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 0x4885b2
je 0x488595
cmp eax, 0xa
je 0x4885d9
jbe case.0x486cce.151
cmp eax, 0xc
jmp 0x4885c9
cmp ebp, ecx
jae 0x4885d9
cmp word [ebp], 0xa
jne 0x4885d9
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
cmp eax, 0x85
je 0x4885cf
cmp eax, 0x2027
jbe case.0x486cce.151
cmp eax, 0x2029
ja case.0x486cce.151
cmp dword [edx + 0x68], 0
jne case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cd6f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48862b
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 0x48865a
je case.0x486cce.151
cmp eax, 0xa0
ja 0x488653
je case.0x486cce.151
cmp eax, 9
je case.0x486cce.151
cmp eax, 0x20
jmp 0x488685
cmp eax, 0x1680
jmp 0x488685
cmp eax, 0x205f
ja 0x488680
je case.0x486cce.151
cmp eax, 0x2000
jb 0x48868b
cmp eax, 0x200a
jbe case.0x486cce.151
cmp eax, 0x202f
jmp 0x488685
cmp eax, 0x3000
je case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cd6f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4886dd
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 0x488700
je 0x48872d
cmp eax, 0xa0
ja 0x4886f9
je 0x48872d
cmp eax, 9
je 0x48872d
cmp eax, 0x20
jmp 0x488727
cmp eax, 0x1680
jmp 0x488727
cmp eax, 0x205f
ja 0x488722
je 0x48872d
cmp eax, 0x2000
jb case.0x486cce.151
cmp eax, 0x200a
jbe 0x48872d
cmp eax, 0x202f
jmp 0x488727
cmp eax, 0x3000
jne case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cd6f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48877f
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 0x488796
je case.0x486cce.151
cmp eax, 0xa
jb 0x4887a8
cmp eax, 0xd
jmp 0x4887a2
cmp eax, 0x2028
jb 0x4887a8
cmp eax, 0x2029
jbe case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cd6f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4887fa
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 0x488811
je 0x488827
cmp eax, 0xa
jb case.0x486cce.151
cmp eax, 0xd
jmp 0x488821
cmp eax, 0x2028
jb case.0x486cce.151
cmp eax, 0x2029
ja case.0x486cce.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48cd6f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x488879
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 + 0x4b10d0]
shl ecx, 7
mov edx, eax
and edx, 0x7f
add ecx, edx
movzx edx, word [esi + 2]
movzx ecx, word [ecx*2 + 0x4b32d0]
lea ecx, [ecx*8 + 0x4afff0]
cmp edx, 8
ja case.default.0x4888ab
jmp dword [edx*4 + 0x48ebb8]
cmp dword [esp + 0x14], 0xf
jmp 0x4889db
mov cl, byte [ecx + 1]
cmp cl, 9
je 0x4889ca
cmp cl, 5
je 0x4889ca
cmp cl, 8
je 0x4889ca
xor eax, eax
jmp 0x4889cf
movzx edx, byte [ecx + 1]
movzx eax, word [esi + 4]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x4af848]
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x4889db
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 0x4889db
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 0x4889db
movzx eax, byte [ecx + 1]
mov eax, dword [eax*4 + 0x4af848]
cmp eax, 1
je 0x4889ca
cmp eax, 3
je 0x4889ca
xor eax, eax
jmp 0x4889cf
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4af848], 6
je 0x4889ca
cmp eax, 9
je 0x4889ca
cmp eax, 0xa
je 0x4889ca
cmp eax, 0xc
je 0x4889ca
cmp eax, 0xd
je 0x4889ca
xor eax, eax
jmp 0x4889cf
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4af848], 6
je 0x4889ca
cmp eax, 9
je 0x4889ca
cmp eax, 0xa
je 0x4889ca
cmp eax, 0xb
jmp 0x48897f
movzx edx, byte [ecx + 1]
mov ecx, dword [edx*4 + 0x4af848]
cmp ecx, 1
je 0x4889ca
cmp ecx, 3
je 0x4889ca
cmp eax, 0x5f
je 0x4889ca
xor eax, eax
jmp 0x4889cf
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x14], 0xf
sete cl
cmp eax, ecx
je case.0x486cce.151
add esi, 6
mov dword [esp + 0x158], esi
jmp 0x486ca1
mov eax, dword [esp + 0x164]
mov edi, dword [eax + 0x7c]
cmp ebp, edi
jae 0x48cd6f
movzx eax, word [ebp]
mov ecx, eax
mov edx, 2
and ecx, 0xfc00
add ebp, edx
cmp ecx, 0xd800
jne 0x488a38
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 + 0x4b10d0]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b32d0]
movzx ecx, byte [eax*8 + 0x4afff1]
cmp dword [ecx*4 + 0x4af848], edx
je case.0x486cce.151
cmp ebp, edi
jae 0x488ada
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x488aa5
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 + 0x4b10d0]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
cmp dword [eax*4 + 0x4af848], edx
jne 0x488ada
lea ebp, [ebp + ecx*2]
cmp ebp, edi
jb 0x488a71
add esi, edx
mov dword [esp + 0x158], esi
jmp 0x486ca1
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 0x488b2f
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 0x488b2f
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x488b40
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.0x488b5f
movzx edx, byte [edx + 0x48ebe4]
jmp dword [edx*4 + 0x48ebdc]
movsx edi, byte [eax + 0x4befae]
add ecx, 2
mov dword [esp + 0x158], ecx
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x4befb6]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x488bc8
mov dword [esp + 0x14], SysStringLen
jmp 0x488bc8
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 0x488bbe
mov dword [esp + 0x14], SysStringLen
add ecx, 6
mov dword [esp + 0x158], ecx
test ebx, ebx
je 0x486ca1
jns 0x488bda
test edi, edi
je 0x486ca1
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x488c22
jmp 0x488bf0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x164]
push ecx
push esi
mov eax, ebx
mov ecx, ebp
call fcn.00486a30
add esp, 8
test eax, eax
js 0x48ce35
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x488bf0
mov eax, dword [esp + 0x14]
cmp edi, eax
je 0x486ca1
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
je 0x48cec6
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x18]
push eax
push esi
mov edx, edi
mov eax, ebx
mov ecx, ebp
call fcn.00486a30
add esp, 8
test eax, eax
js 0x48ce80
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.00486be0
add esp, 0x1c
test eax, eax
je 0x488c86
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.00486a30
add esp, 8
test eax, eax
js 0x48cfb1
lea ebp, [ebp + eax*2]
jmp 0x486ca1
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.0x488d50
movzx edx, byte [edx + 0x48ebf4]
jmp dword [edx*4 + 0x48ebec]
movsx edi, byte [eax + 0x4befb6]
add dword [esp + 0x158], 2
movsx esi, byte [eax + 0x4befae]
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x488db9
mov edi, SysReAllocString
jmp 0x488db9
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 0x488da6
mov edi, SysReAllocString
add eax, 6
mov dword [esp + 0x158], eax
jmp 0x488db9
mov edi, 1
mov esi, edi
mov edx, 1
cmp esi, edx
jl 0x488e42
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x48cff7
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x488e11
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 0x488e1f
cmp dword [esp + 0x14], 0x6a
jmp 0x488e37
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.0x486cce.151
inc edx
cmp edx, esi
jle 0x488dd4
cmp esi, edi
je 0x486ca1
cmp dword [esp + 0x1c], 0
je 0x48d0a0
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp esi, edi
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x488ee2
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 0x48d03b
cmp dword [esp + 0x14], 0x6a
jmp 0x48d053
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.0x488f24
movzx edx, byte [edx + 0x48ec04]
jmp dword [edx*4 + 0x48ebfc]
movsx edi, byte [eax + 0x4befb6]
movsx esi, byte [eax + 0x4befae]
lea ecx, [eax - 0x62]
add ebx, 2
and ecx, 1
mov dword [esp + 0x158], ebx
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x488f88
mov edi, SysReAllocString
jmp 0x488f88
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 0x488f75
mov edi, SysReAllocString
add ebx, 6
mov dword [esp + 0x158], ebx
jmp 0x488f88
mov edi, 1
mov esi, edi
mov dword [esp + 0x28], 1
cmp esi, 1
jl 0x489008
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
mov dword [esp + 0x18], edx
cmp ebp, dword [esp + 0x18]
jae 0x48d223
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x488fe4
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.004900d0
add esp, 8
test eax, eax
je case.0x486cce.151
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, esi
jle 0x488fa7
cmp esi, edi
je 0x486ca1
cmp dword [esp + 0x1c], 0
je 0x48d256
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
jmp 0x489060
mov eax, dword [esp + 0x164]
cmp esi, edi
jge case.0x486cce.151
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x4890ab
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.004900d0
add esp, 8
test eax, eax
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x489060
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 0x489133
mov eax, 2
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
sub edx, ebp
sar edx, 1
cmp eax, edx
jg 0x48d3ac
test eax, eax
jle 0x486ca1
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.0x486cce.151
test eax, eax
jg 0x489151
jmp 0x486ca1
mov edi, dword [esp + 0x164]
cmp ebp, dword [edi + 0x7c]
jae 0x48d3e1
movzx eax, word [esi + 2]
mov ecx, eax
and ecx, 0xfc00
mov edx, 1
cmp ecx, 0xd800
jne 0x4891bf
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 0x4891fc
mov edx, 0xff
cmp cx, dx
ja 0x4891db
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.0x486cce.151
add esi, 4
mov dword [esp + 0x158], esi
add ebp, 2
jmp 0x486ca1
mov edi, ecx
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48922d
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 0x486ca1
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4b10d0]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4b32d0]
mov edx, dword [edx*8 + 0x4afff4]
add edx, eax
cmp ecx, edx
je 0x486ca1
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 0x48935a
mov dword [esp + 0x20], 1
movzx ebx, word [esi + 2]
xor edi, edi
mov dword [esp + 0x14], ebx
cmp eax, 0x28
je 0x4892b3
mov dword [esp + 0x1c], ecx
cmp eax, 0x35
jne 0x4892bb
mov dword [esp + 0x1c], 1
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48935a
xor edi, edi
add esi, 2
mov dword [esp + 0x20], 1
mov dword [esp + 0x158], esi
jmp 0x489352
mov edi, 1
add esi, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x158], esi
jmp 0x489352
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 0x48935a
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 + 0x4bf010]
mov ecx, eax
movsx eax, byte [eax + 0x4bf018]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x48935a
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 0x4893a3
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 0x48971c
cmp edx, 0x2e
jl 0x4893fc
mov edx, esi
shr edx, 7
movzx eax, byte [edx + 0x4b10d0]
shl eax, 7
mov ecx, esi
and ecx, 0x7f
add eax, ecx
movzx edx, word [eax*2 + 0x4b32d0]
mov eax, dword [edx*8 + 0x4afff4]
add eax, esi
cmp eax, esi
je 0x4893fc
lea ecx, [esp + 0x5c]
call fcn.00490070
mov dword [esp + 0x18], eax
jmp 0x489404
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x489520
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x3c], eax
sub eax, ebx
mov dword [esp + 0x34], eax
jmp 0x489434
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x489495
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x489464
lea ecx, [ecx]
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x489495
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x489450
test eax, eax
je 0x489488
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x489495
cmp eax, 1
jbe 0x489488
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x489495
cmp eax, 2
jbe 0x489488
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x489495
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x48950f
cmp dword [esp + 0x18], 0
jle 0x48d40c
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
add edx, edx
sub ecx, edx
cmp ebp, ecx
ja 0x48d40c
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x4894dd
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x48d40c
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x4894c5
test eax, eax
je 0x48950d
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x48d40c
cmp eax, 1
jbe 0x48950d
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x48d40c
cmp eax, 2
jbe 0x48950d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x48d40c
add ebp, edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x489430
cmp edi, dword [esp + 0x14]
je 0x486ca1
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
jne 0x48d42e
mov dword [esp + 0x1c], ebp
cmp edi, dword [esp + 0x14]
jge 0x489675
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 0x489565
mov ecx, dword [esp + 0x34]
cmp ebp, ecx
ja 0x4895c9
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x489598
mov edi, edi
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x4895c9
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x489580
test eax, eax
je 0x4895bc
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x4895c9
cmp eax, 1
jbe 0x4895bc
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x4895c9
cmp eax, 2
jbe 0x4895bc
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x4895c9
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x48962f
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x489644
lea edi, [eax + eax]
mov ecx, edx
sub ecx, edi
cmp ebp, ecx
ja 0x489644
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x489609
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x489644
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x4895f1
test eax, eax
je 0x48962d
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x489644
cmp eax, 1
jbe 0x48962d
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x489644
cmp eax, 2
jbe 0x48962d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x489644
add ebp, edi
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x489561
jmp 0x489675
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x489675
cmp ebp, dword [eax + 0x7c]
jb 0x489675
cmp ebp, dword [eax + 0x88]
jbe 0x489675
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48cd5f
cmp dword [esp + 0x20], 0
jne 0x486ca1
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp ebp, dword [esp + 0x1c]
je case.0x486cce.151
mov dx, word [ebp - 2]
sub ebp, 2
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x4896e8
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.00486be0
add esp, 0x1c
test eax, eax
je 0x4896c2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edx, 0x2e
jl 0x489893
cmp esi, 0x7f
jbe 0x489757
mov ecx, esi
shr ecx, 7
movzx edx, byte [ecx + 0x4b10d0]
shl edx, 7
mov eax, esi
and eax, 0x7f
add edx, eax
movzx ecx, word [edx*2 + 0x4b32d0]
mov edx, dword [ecx*8 + 0x4afff4]
add edx, esi
mov dword [esp + 0x28], edx
jmp 0x489779
cmp esi, 0xff
ja 0x489773
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax + esi]
mov dword [esp + 0x28], edx
jmp 0x489779
mov edx, esi
mov dword [esp + 0x28], esi
mov ecx, 1
cmp edi, ecx
jl 0x4897ac
mov eax, dword [esp + 0x164]
mov ebx, dword [eax + 0x7c]
cmp ebp, ebx
jae 0x48d624
movzx eax, word [ebp]
cmp esi, eax
je 0x4897a4
cmp edx, eax
jne case.0x486cce.151
inc ecx
add ebp, 2
cmp ecx, edi
jle 0x48978c
mov ebx, dword [esp + 0x14]
cmp edi, ebx
je 0x486ca1
cmp dword [esp + 0x1c], 0
jne 0x48d65e
mov dword [esp + 0x1c], ebp
mov eax, edi
cmp edi, ebx
jge 0x489826
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
jmp 0x4897e7
mov ecx, dword [esp + 0x164]
cmp ebp, edi
jae 0x489801
movzx ecx, word [ebp]
cmp esi, ecx
je 0x4897f7
cmp edx, ecx
jne 0x489826
inc eax
add ebp, 2
cmp eax, ebx
jl 0x4897e0
jmp 0x489826
cmp dword [ecx + 0x8c], 0
je 0x489826
cmp ebp, dword [ecx + 0x88]
jbe 0x489826
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jg 0x48cd5f
cmp dword [esp + 0x20], 0
jne 0x486ca1
cmp ebp, dword [esp + 0x1c]
jb 0x489886
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.00486be0
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x48e9c6
cmp ebp, dword [esp + 0x1c]
jae 0x489850
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 0x4898c2
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x48d714
movzx ebx, word [ebp]
add ebp, 2
cmp esi, ebx
jne case.0x486cce.151
inc eax
cmp eax, edi
jle 0x4898a6
cmp edi, dword [esp + 0x14]
je 0x486ca1
cmp dword [esp + 0x1c], 0
jne 0x48d740
mov ebx, ebp
mov dword [esp + 0x1c], ebx
mov eax, edi
cmp edi, dword [esp + 0x14]
jge 0x48992d
mov ecx, dword [edx + 0x7c]
lea esp, [esp]
cmp ebp, ecx
jae 0x489908
movzx edi, word [ebp]
cmp esi, edi
jne 0x48992d
inc eax
add ebp, 2
cmp eax, dword [esp + 0x14]
jl 0x4898f0
jmp 0x48992d
cmp dword [edx + 0x8c], 0
je 0x48992d
cmp ebp, dword [edx + 0x88]
jbe 0x48992d
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x48cd5f
cmp dword [esp + 0x20], 0
jne 0x486ca1
cmp ebp, ebx
jb 0x48998b
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.00486be0
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x48e9c6
cmp ebp, dword [esp + 0x1c]
jae 0x489955
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 0x48d3e1
movzx ecx, word [ebp]
mov eax, ecx
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x4899da
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 0x489a4e
cmp eax, 0x7f
jbe 0x489a1f
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4b10d0]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4b32d0]
mov edx, dword [edx*8 + 0x4afff4]
add edx, eax
jmp 0x489a31
cmp eax, 0xff
ja 0x489a2f
mov edx, dword [edi + 0x38]
movzx edx, byte [edx + eax]
jmp 0x489a31
mov edx, eax
cmp eax, ecx
je case.0x486cce.151
cmp edx, ecx
jne 0x486ca1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, ecx
jne 0x486ca1
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 0x489b29
movzx edi, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x14], edi
cmp eax, 0x42
je 0x489a8b
mov dword [esp + 0x1c], ecx
cmp eax, 0x4f
jne 0x489a93
mov dword [esp + 0x1c], 1
add esi, 4
jmp 0x489b29
xor ecx, ecx
mov dword [esp + 0x20], 1
add esi, 2
jmp 0x489b21
mov ecx, 1
mov dword [esp + 0x20], ecx
add esi, 2
jmp 0x489b21
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
add esi, 2
jmp 0x489b29
movzx eax, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x14], eax
add esi, 4
jmp 0x489b29
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 + 0x4bf010]
movsx eax, byte [eax + 0x4bf018]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x489b29
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 0x489d60
cmp edi, 0x7f
jbe 0x489b75
mov edx, edi
shr edx, 7
movzx eax, byte [edx + 0x4b10d0]
shl eax, 7
mov edx, edi
and edx, 0x7f
add eax, edx
movzx eax, word [eax*2 + 0x4b32d0]
mov esi, dword [eax*8 + 0x4afff4]
add esi, edi
mov dword [esp + 0x28], esi
jmp 0x489b97
cmp edi, 0xff
ja 0x489b91
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx esi, byte [eax + edi]
mov dword [esp + 0x28], esi
jmp 0x489b97
mov esi, edi
mov dword [esp + 0x28], edi
mov edx, 1
cmp ecx, edx
jl 0x489c04
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x48d223
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x489bef
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.0x486cce.151
cmp esi, eax
je case.0x486cce.151
inc edx
cmp edx, ecx
jle 0x489bb2
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x486ca1
cmp dword [esp + 0x1c], 0
jne 0x48d7f0
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x489cae
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, 1
cmp ebp, edi
jae 0x489c87
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x489c70
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 0x489cae
cmp dword [esp + 0x28], eax
je 0x489cae
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x489c31
jmp 0x489cae
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x489cae
cmp ebp, dword [eax + 0x88]
jbe 0x489cae
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x48cd5f
cmp dword [esp + 0x20], 0
jne 0x486ca1
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x486cce.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x489d23
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.00486be0
add esp, 0x1c
test eax, eax
je 0x489cfb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ecx, edx
jl 0x489dc6
mov esi, dword [eax + 0x7c]
cmp ebp, esi
jae 0x48d223
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x489db2
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.0x486cce.151
inc edx
cmp edx, ecx
jle 0x489d77
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x486ca1
cmp dword [esp + 0x1c], 0
jne 0x48d8d9
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x489e67
mov edi, dword [eax + 0x7c]
jmp 0x489df7
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x489e47
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x489e36
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 0x489e67
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x489df0
jmp 0x489e67
cmp dword [eax + 0x8c], 0
je 0x489e67
cmp ebp, dword [eax + 0x88]
jbe 0x489e67
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x48cd5f
cmp dword [esp + 0x20], 0
jne 0x486ca1
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x486cce.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x489edc
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.00486be0
add esp, 0x1c
test eax, eax
je 0x489eb4
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 0x489fe2
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 0x489fe2
xor ebx, ebx
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x489fda
mov ebx, 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x489fda
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 0x489fe2
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 0x489fe2
lea eax, [edx - 0x55]
movsx ebx, byte [eax + 0x4bf010]
mov edx, eax
movsx eax, byte [eax + 0x4bf018]
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 0x489fe2
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 0x48a00a
cmp eax, 0xf
je 0x48a00a
mov edi, dword [esp + 0x2c]
or eax, 0xffffffff
mov dword [esp + 0x28], eax
jmp 0x48a033
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 0x48a139
cmp eax, ecx
jl 0x48a623
cmp eax, 8
ja case.default.0x4888ab
jmp dword [eax*4 + 0x48ec0c]
cmp edi, ecx
jne case.0x486cce.151
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48d9bb
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x48a090
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x48a072
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x48d9e7
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a0ec
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 + 0x4b10d0]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
cmp eax, 9
je 0x48a123
cmp eax, 5
je 0x48a123
cmp eax, 8
je 0x48a123
xor eax, eax
jmp 0x48a128
mov eax, 1
cmp eax, edi
je case.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48a0b1
mov esi, dword [esp + 0x164]
mov edi, dword [esp + 0x14]
cmp ebx, edi
je 0x486ca1
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x28]
jne 0x48da59
mov dword [esp + 0x1c], ebp
test eax, eax
js 0x48b58c
cmp eax, 8
ja case.default.0x4888ab
jmp dword [eax*4 + 0x48ec30]
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48da1a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a1c5
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 + 0x4b10d0]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp dword [eax*4 + 0x4af848], esi
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48a18a
jmp 0x48a139
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48da1a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a26b
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 + 0x4b10d0]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
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.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48a230
jmp 0x48a139
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48da1a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a306
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 + 0x4b10d0]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff0]
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.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48a2cb
jmp 0x48a139
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48d9e7
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a3a1
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 + 0x4b10d0]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
mov eax, dword [eax*4 + 0x4af848]
cmp eax, 1
je 0x48a3da
cmp eax, 3
je 0x48a3da
xor eax, eax
jmp 0x48a3df
mov eax, 1
cmp eax, edi
je case.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48a366
jmp 0x48a139
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x48d9e7
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a44a
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 + 0x4b10d0]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4b32d0]
movzx esi, byte [esi*8 + 0x4afff1]
cmp dword [esi*4 + 0x4af848], edi
je 0x48a491
cmp eax, 9
je 0x48a491
cmp eax, 0xa
je 0x48a491
cmp eax, 0xc
je 0x48a491
cmp eax, 0xd
je 0x48a491
xor eax, eax
jmp 0x48a496
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486cce.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x48a40f
jmp 0x48a139
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x48d9e7
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48a507
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 + 0x4b10d0]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4b32d0]
movzx esi, byte [esi*8 + 0x4afff1]
cmp dword [esi*4 + 0x4af848], edi
je 0x48a553
cmp eax, 9
je 0x48a553
cmp eax, 0xa
je 0x48a553
cmp eax, 0xb
je 0x48a553
cmp eax, 0xc
je 0x48a553
cmp eax, 0xd
je 0x48a553
xor eax, eax
jmp 0x48a558
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486cce.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x48a4cc
jmp 0x48a139
mov edx, 1
cmp ebx, edx
jl 0x48a139
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
cmp ebp, edi
jae 0x48da1a
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48a5c6
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 + 0x4b10d0]
shl ecx, 7
mov esi, eax
and esi, 0x7f
add ecx, esi
movzx ecx, word [ecx*2 + 0x4b32d0]
movzx ecx, byte [ecx*8 + 0x4afff1]
mov ecx, dword [ecx*4 + 0x4af848]
cmp ecx, 1
je 0x48a606
cmp ecx, 3
je 0x48a606
cmp eax, 0x5f
je 0x48a606
xor eax, eax
jmp 0x48a60b
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486cce.151
inc edx
cmp edx, ebx
jle 0x48a58b
jmp 0x48a139
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x48a735
lea esi, [eax - 0x15]
cmp ebx, esi
jl 0x48a139
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48da1a
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48a680
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 + 0x4b10d0]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b32d0]
movzx ecx, byte [eax*8 + 0x4afff1]
cmp dword [ecx*4 + 0x4af848], 2
je case.0x486cce.151
cmp ebp, edx
jae 0x48a727
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x48a6f1
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 + 0x4b10d0]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
cmp dword [eax*4 + 0x4af848], 2
jne 0x48a727
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x48a6ba
inc esi
cmp esi, ebx
jle 0x48a645
jmp 0x48a139
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x4888ab
jmp dword [eax*4 + 0x48ec54]
mov edi, 1
cmp ebx, edi
jl 0x48a139
mov ecx, dword [esp + 0x164]
lea esp, [esp]
cmp ebp, dword [ecx + 0x7c]
jae 0x48d9ee
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x48a79b
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.0048fed0
add esp, 8
test eax, eax
jne case.0x486cce.151
mov ecx, dword [esp + 0x164]
jmp 0x48a7cb
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x48a7cb
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x48a7cb
cmp eax, 1
je case.0x486cce.151
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je case.0x486cce.151
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x48a7ec
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov eax, 0xdc00
cmp dx, ax
jne 0x48a7ec
add ebp, 2
inc edi
cmp edi, ebx
jle 0x48a760
jmp 0x48a139
mov eax, 1
cmp ebx, eax
jl 0x48a139
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x48d9bb
add ebp, 2
cmp ebp, ecx
jae 0x48a839
mov dx, word [ebp]
mov edi, 0xfc00
and dx, di
mov edi, 0xdc00
cmp dx, di
jne 0x48a839
add ebp, 2
inc eax
cmp eax, ebx
jle 0x48a811
jmp 0x48a140
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
lea eax, [ebx + ebx]
sub ecx, eax
cmp ebp, ecx
ja case.0x486cce.151
add ebp, eax
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48da2d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48a8b3
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 0x48a8d8
je 0x48a8c8
cmp eax, 0xa
je 0x48a8f7
add eax, 0xfffffff5
jmp 0x48a8e4
cmp ebp, edx
jae 0x48a8f7
cmp word [ebp], 0xa
jne 0x48a8f7
add ebp, 2
jmp 0x48a8f7
cmp eax, 0x85
je 0x48a8ed
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x486cce.151
cmp dword [esi + 0x68], 0
jne case.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48a878
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
lea esp, [esp]
cmp ebp, edx
jae 0x48da2d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48a95b
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 0x48a98d
je case.0x486cce.151
cmp eax, 0xa0
ja 0x48a986
je case.0x486cce.151
cmp eax, 9
je case.0x486cce.151
cmp eax, 0x20
jmp 0x48a9b8
cmp eax, 0x1680
jmp 0x48a9b8
cmp eax, 0x205f
ja 0x48a9b3
je case.0x486cce.151
cmp eax, 0x2000
jb 0x48a9be
cmp eax, 0x200a
jbe case.0x486cce.151
cmp eax, 0x202f
jmp 0x48a9b8
cmp eax, 0x3000
je case.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48a920
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48da2d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48aa1e
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 0x48aa53
je 0x48aa80
cmp eax, 0xa0
ja 0x48aa49
je 0x48aa80
cmp eax, 9
je 0x48aa80
cmp eax, 0x20
jmp 0x48aa7a
cmp eax, 0x1680
jmp 0x48aa7a
cmp eax, 0x205f
ja 0x48aa75
je 0x48aa80
cmp eax, 0x2000
jb case.0x486cce.151
cmp eax, 0x200a
jbe 0x48aa80
cmp eax, 0x202f
jmp 0x48aa7a
cmp eax, 0x3000
jne case.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48a9e3
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48da2d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48aae4
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 0x48aafb
je case.0x486cce.151
cmp eax, 0xa
jb 0x48ab0d
cmp eax, 0xd
jmp 0x48ab07
cmp eax, 0x2028
jb 0x48ab0d
cmp eax, 0x2029
jbe case.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48aaa5
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
mov edi, edi
cmp ebp, edx
jae 0x48da2d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48ab6f
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 0x48ab80
je 0x48ab8e
add eax, 0xfffffff6
cmp eax, 3
jmp 0x48ab88
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48ab30
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x48d9bb
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48abef
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 0x48ac03
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
jne case.0x486cce.151
inc ecx
cmp ecx, ebx
jle 0x48abb0
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48da2d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x486cce.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
je case.0x486cce.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x48ac24
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x48d9bb
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x48ac93
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
jne case.0x486cce.151
add ebp, 2
cmp ebp, edx
jae 0x48acb7
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x48acb7
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x48ac70
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48da2d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x486cce.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
je case.0x486cce.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x48acd8
jmp 0x48a140
mov ecx, 1
cmp ebx, ecx
jl 0x48a139
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48d9bb
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x48ad46
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
jne case.0x486cce.151
add ebp, 2
cmp ebp, edx
jae 0x48ad6a
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x48ad6a
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x48ad23
jmp 0x48a140
mov esi, dword [esp + 0x164]
mov ecx, 1
cmp ebx, ecx
jl 0x48a140
mov edx, dword [esi + 0x7c]
jmp 0x48ad90
cmp ebp, edx
jae 0x48da2d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x486cce.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
je case.0x486cce.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x48ad90
jmp 0x48a140
mov ecx, ebx
cmp ebx, edi
jge 0x48b4dd
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
mov eax, 1
cmp ebp, edx
jae 0x48ae1b
mov si, word [ebp]
mov edi, 0xfc00
and si, di
mov edi, 0xd800
cmp si, di
jne 0x48ae00
mov eax, 2
cmp dword [esp + 0x2c], 0
jne 0x48b4dd
inc ecx
lea ebp, [ebp + eax*2]
cmp ecx, dword [esp + 0x14]
jl 0x48add8
jmp 0x48b4dd
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x48b4dd
mov ecx, eax
cmp ebp, dword [ecx + 0x88]
jbe 0x48b4dd
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x48b4d7
mov edx, ebx
cmp ebx, edi
jge 0x48b4dd
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48ae77
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48b073
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48aeba
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 + 0x4b10d0]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
cmp eax, 9
je 0x48aef1
cmp eax, 5
je 0x48aef1
cmp eax, 8
je 0x48aef1
xor eax, eax
jmp 0x48aef6
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48b4dd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48ae70
jmp 0x48b4dd
mov edx, ebx
cmp ebx, edi
jge 0x48b4dd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x38]
mov eax, ecx
jmp 0x48af37
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48b073
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48af7a
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 + 0x4b10d0]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
xor ebx, ebx
cmp dword [eax*4 + 0x4af848], edi
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x48b4dd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x48af30
jmp 0x48b4dd
mov edx, ebx
cmp ebx, edi
jge 0x48b4dd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x48b06c
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48b023
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 + 0x4b10d0]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x48b4dd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48afe0
jmp 0x48b4dd
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x48b4dd
cmp ebp, dword [eax + 0x88]
jbe 0x48b4dd
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x48b4d7
mov edx, ebx
cmp ebx, edi
jge 0x48b4dd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x48b06c
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48b0f1
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 + 0x4b10d0]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff0]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x48b4dd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48b0b2
jmp 0x48b4dd
mov edx, ebx
cmp ebx, edi
jge 0x48b4dd
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, 1
jmp 0x48b158
mov eax, dword [esp + 0x164]
mov ecx, edi
cmp ebp, esi
jae 0x48b1f1
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48b198
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 + 0x4b10d0]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
mov eax, dword [eax*4 + 0x4af848]
cmp eax, edi
je 0x48b1d0
cmp eax, 3
je 0x48b1d0
xor eax, eax
jmp 0x48b1d2
mov eax, edi
cmp eax, dword [esp + 0x2c]
je 0x48b4dd
add edx, edi
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x48b151
jmp 0x48b4dd
cmp dword [eax + 0x8c], 0
je 0x48b4dd
cmp ebp, dword [eax + 0x88]
jbe 0x48b4dd
mov dword [eax + 0x64], edi
cmp dword [eax + 0x8c], edi
jmp 0x48b4d7
mov edx, ebx
cmp ebx, edi
jge 0x48b4dd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov eax, ecx
jmp 0x48b237
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48b073
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48b27a
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 + 0x4b10d0]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4b32d0]
movzx edi, byte [edi*8 + 0x4afff1]
cmp dword [edi*4 + 0x4af848], 6
je 0x48b2ce
cmp eax, 9
je 0x48b2ce
cmp eax, 0xa
je 0x48b2ce
cmp eax, 0xc
je 0x48b2ce
cmp eax, 0xd
je 0x48b2ce
xor eax, eax
jmp 0x48b2d3
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48b4dd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x48b230
jmp 0x48b4dd
mov edx, ebx
cmp ebx, edi
jge 0x48b4dd
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
jmp 0x48b317
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48b073
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48b35a
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 + 0x4b10d0]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4b32d0]
movzx edi, byte [edi*8 + 0x4afff1]
cmp dword [edi*4 + 0x4af848], 6
je 0x48b3bb
cmp eax, 9
je 0x48b3bb
cmp eax, 0xa
je 0x48b3bb
cmp eax, 0xb
je 0x48b3bb
cmp eax, 0xc
je 0x48b3bb
cmp eax, 0xd
je 0x48b3bb
xor eax, eax
jmp 0x48b3c0
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48b4dd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x48b310
jmp 0x48b4dd
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x48b4dd
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov eax, edx
jmp 0x48b407
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x48b4b5
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48b44a
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 + 0x4b10d0]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4b32d0]
movzx ecx, byte [ecx*8 + 0x4afff1]
mov ecx, dword [ecx*4 + 0x4af848]
cmp ecx, 1
je 0x48b492
cmp ecx, 3
je 0x48b492
cmp eax, 0x5f
je 0x48b492
xor eax, eax
jmp 0x48b497
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x48b4dd
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x14]
jl 0x48b400
jmp 0x48b4dd
cmp dword [eax + 0x8c], 0
je 0x48b4dd
cmp ebp, dword [eax + 0x88]
jbe 0x48b4dd
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x48cd5f
cmp dword [esp + 0x20], 0
jne 0x486ca1
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
lea ebx, [ebx]
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x486cce.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48b558
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.00486be0
add esp, 0x1c
test eax, eax
je 0x48b530
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x48b7ce
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x48b6e9
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
mov ebx, 2
jmp 0x48b5c7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, edx
jae 0x48b6c1
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48b607
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 + 0x4b10d0]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
cmp dword [eax*4 + 0x4af848], ebx
je 0x48b6e9
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jae 0x48b6b1
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x48b67c
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 + 0x4b10d0]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
cmp dword [eax*4 + 0x4af848], ebx
jne 0x48b6b1
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x48b644
inc esi
cmp esi, dword [esp + 0x14]
jl 0x48b5c0
jmp 0x48b6e9
cmp dword [eax + 0x8c], 0
je 0x48b6e9
cmp ebp, dword [eax + 0x88]
jbe 0x48b6e9
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48cd5f
cmp dword [esp + 0x20], 0
jne 0x486ca1
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov edx, ebp
mov ecx, 2
sub ebp, ecx
cmp edx, dword [esp + 0x1c]
je case.0x486cce.151
lea esp, [esp]
mov ax, word [ebp]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x48b768
sub ebp, ecx
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x48b799
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 + 0x4b10d0]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4b32d0]
movzx edx, byte [eax*8 + 0x4afff1]
cmp dword [edx*4 + 0x4af848], ecx
jne 0x48e989
sub ebp, ecx
jmp 0x48b750
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x4888ab
jmp dword [eax*4 + 0x48ec94]
cmp edi, 0x7fffffff
mov edi, ebx
jge 0x48b8d6
cmp ebx, dword [esp + 0x14]
jge 0x48bc63
lea esp, [esp]
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48b8af
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x48b842
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.0048fed0
add esp, 8
test eax, eax
jne 0x48bc63
mov ecx, dword [esp + 0x164]
jmp 0x48b87a
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x48b87a
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x48b87a
cmp eax, 1
je 0x48bc63
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x48bc63
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x48b89f
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48b89f
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x48b800
jmp 0x48bc63
cmp dword [ecx + 0x8c], 0
je 0x48bc63
mov edx, ecx
cmp ebp, dword [edx + 0x88]
jbe 0x48bc63
mov ecx, 1
mov eax, edx
jmp 0x48bc54
cmp ebx, dword [esp + 0x14]
jge 0x48bc63
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48b8af
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x48b91e
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.0048fed0
add esp, 8
test eax, eax
jne 0x48bc63
mov ecx, dword [esp + 0x164]
jmp 0x48b956
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x48b956
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x48b956
cmp eax, 1
je 0x48bc63
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x48bc63
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x48b97f
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48b97f
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x48b8e0
jmp 0x48bc63
cmp edi, 0x7fffffff
jge 0x48b9f5
mov eax, ebx
cmp ebx, edi
jge 0x48bc63
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x48b9f8
add ebp, 2
cmp ebp, ecx
jae 0x48b9d8
mov dx, word [ebp]
mov ebx, 0xfc00
and dx, bx
mov ebx, 0xdc00
cmp dx, bx
jne 0x48b9d8
add ebp, 2
inc eax
cmp eax, edi
jl 0x48b9a8
jmp 0x48bc63
mov ecx, dword [esi + 0x7c]
sub edi, ebx
sub ecx, ebp
mov eax, edi
sar ecx, 1
cmp eax, ecx
jbe 0x48ba24
mov ebp, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je 0x48bc63
cmp ebp, dword [esi + 0x88]
jbe 0x48bc63
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x48bc5d
lea ebp, [ebp + eax*2]
jmp 0x48bc63
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x48bc63
mov ebx, dword [esp + 0x164]
mov edx, dword [ebx + 0x7c]
mov ecx, 1
cmp ebp, edx
jae 0x48bb07
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48ba86
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 0x48baad
add ebp, 2
cmp ebp, edx
jae 0x48bc63
cmp word [ebp], 0xa
jne 0x48baf7
add ebp, 2
jmp 0x48baf7
cmp eax, 0xa
je 0x48baf3
cmp dword [ebx + 0x68], 0
jne 0x48bc63
cmp eax, 0xb
je 0x48baf3
cmp eax, 0xc
je 0x48baf3
cmp eax, 0x85
je 0x48baf3
cmp eax, 0x2028
je 0x48baf3
cmp eax, 0x2029
jne 0x48bc63
lea ebp, [ebp + ecx*2]
inc esi
cmp esi, dword [esp + 0x14]
jl 0x48ba43
jmp 0x48bc63
cmp dword [ebx + 0x8c], 0
je 0x48bc63
cmp ebp, dword [ebx + 0x88]
jbe 0x48bc63
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x8c], ecx
jmp 0x48bc5d
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x48bc63
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x48bc34
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48bb8b
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 0x48bbc8
je 0x48bc0b
cmp eax, 0xa0
ja 0x48bbbe
je 0x48bc0b
cmp eax, 9
je 0x48bc0b
cmp eax, 0x20
jmp 0x48bbfe
cmp eax, 0x1680
jmp 0x48bbfe
cmp eax, 0x205f
ja 0x48bbf9
je 0x48bc0b
cmp eax, 0x2000
jb 0x48bc04
cmp eax, 0x200a
jbe 0x48bc0b
cmp eax, 0x202f
jmp 0x48bbfe
cmp eax, 0x3000
je 0x48bc0b
xor eax, eax
jmp 0x48bc10
mov eax, 1
xor ebx, ebx
cmp dword [esp + 0x18], 0x12
sete bl
cmp eax, ebx
je 0x48bc63
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x48bb48
jmp 0x48bc63
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x48bc63
cmp ebp, dword [eax + 0x88]
jbe 0x48bc63
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48cd5f
cmp dword [esp + 0x20], 0
jne 0x486ca1
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov eax, dword [esp + 0x1c]
mov ecx, ebp
sub ebp, 2
cmp ecx, eax
je case.0x486cce.151
mov dx, word [ebp]
mov ecx, 0xfc00
and dx, cx
mov ecx, 0xdc00
cmp dx, cx
jne 0x48bcde
sub ebp, 2
cmp dword [esp + 0x18], 0x11
jne 0x48bd0a
cmp ebp, eax
jbe 0x48bd0a
cmp word [ebp], 0xa
jne 0x48bd0a
cmp word [ebp - 2], 0xd
jne 0x48bd0a
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.00486be0
add esp, 0x1c
test eax, eax
je 0x48bcb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x48bc63
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x48bc34
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48bd9f
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 0x48bde8
je 0x48bdf2
cmp eax, 0xa
jb 0x48bdc2
cmp eax, 0xd
jbe 0x48bdf2
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x18], 0x14
sete bl
cmp eax, ebx
je 0x48bc63
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x48bd5c
jmp 0x48bc63
add eax, 0xffffdfd8
cmp eax, 1
ja 0x48bdc2
mov eax, 1
jmp 0x48bdc4
mov edx, ebx
cmp ebx, edi
jge 0x48bc63
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48be27
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bc3b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48be6a
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 0x48be89
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
jne 0x48bc63
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48be20
jmp 0x48bc63
mov edx, ebx
cmp ebx, edi
jge 0x48bc63
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48bec7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bc3b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48bf0a
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 0x48bc63
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
je 0x48bc63
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48bec0
jmp 0x48bc63
mov edx, ebx
cmp ebx, edi
jge 0x48bc63
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48bf67
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bc3b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48bfaa
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 0x48bfc9
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
jne 0x48bc63
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48bf60
jmp 0x48bc63
mov edx, ebx
cmp ebx, edi
jge 0x48bc63
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48c007
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bc3b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48c04a
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 0x48bc63
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
je 0x48bc63
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48c000
jmp 0x48bc63
mov edx, ebx
cmp ebx, edi
jge 0x48bc63
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48c0a7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bc3b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48c0ea
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 0x48c109
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
jne 0x48bc63
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48c0a0
jmp 0x48bc63
mov edx, ebx
cmp ebx, edi
jge 0x48bc63
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x48c138
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48bc3b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48c17b
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 0x48bc63
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
je 0x48bc63
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x48c131
jmp 0x48bc63
mov eax, dword [ebx + 0x90]
cmp eax, dword [esp + 0x160]
jle 0x48c1ca
mov dword [esp + 0x160], eax
movzx edx, word [esi + 6]
cmp word [esi + edx*2 + 4], 0x71
lea eax, [esi + edx*2 + 4]
jne 0x48c1ee
mov edi, edi
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
je 0x48c1e0
mov edx, dword [esp + 0x14]
add eax, 4
cmp edx, 0x86
je 0x48ca90
mov dword [esp + 0x158], eax
jmp 0x48c583
cmp word [esi], 0x74
jne 0x48c250
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov edx, dword [esp + 0x18]
mov dword [esp + 0x158], edx
jmp 0x48c583
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48c583
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 0x48c3a0
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 0x48c312
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 + 0x4af7a8]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.00486be0
add esp, 0x1c
cmp eax, 0xfffffc1c
je 0x48ca04
cmp eax, 0xfffffc20
jne 0x48c9d0
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48e9c6
cmp word [edi], 0x71
je 0x48c388
cmp word [ecx], 0x71
jne 0x48e9c6
xor eax, eax
jmp 0x48c9d8
mov ebx, dword [esp + 0x164]
jmp 0x48c3a0
cmp edx, 0x82
jge 0x48c3ee
cmp edx, 0x7b
je 0x48c3ee
cmp dword [ebx + 0x6c], 0
jne 0x48c3f8
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
je 0x48c3f8
movzx ecx, word [eax]
movzx edx, byte [ecx + 0x4af7a8]
lea eax, [eax + edx*2]
mov dword [esp + 0x158], eax
jmp 0x48c583
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 + 0x4af7a8]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.00486be0
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x48c475
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48e9c6
cmp word [edi], 0x71
je 0x48c47d
cmp word [ecx], 0x71
jne 0x48e9c6
jmp 0x48c47d
test eax, eax
jne 0x48ca35
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.0x486cce.151
mov edx, dword [esp + 0x14]
jmp 0x48c3a0
movzx eax, word [ecx]
cmp eax, 0x75
je 0x48cc44
cmp eax, 0x74
jne 0x48c516
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
movzx eax, word [edi]
cmp eax, 0x7b
je 0x48cc60
mov edx, 0x82
cmp ax, dx
jae 0x48cc81
mov dword [esp + 0x158], edi
jmp 0x48c583
mov eax, 0x82
cmp word [edi], ax
jb 0x48c52e
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.00486be0
add esp, 0x1c
cmp eax, 0xfffffc1c
jne 0x48c569
cmp dword [ebx + 0xb8], edi
jmp 0x48c56b
test eax, eax
jne 0x48e9c6
cmp word [edi], 0x7b
je 0x48ccbb
add dword [esp + 0x158], 4
mov ecx, dword [ebx]
cmp ecx, dword [ebx + 4]
jb 0x486c63
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 + 0x4af7a8]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.00486be0
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x48c623
cmp edi, 0xfffffc19
jne 0x48c643
cmp dword [esi + 0xb0], 0
jne 0x48c643
mov dword [esi + 0xb0], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edi, 0xfffffc1f
jne 0x48cba9
mov eax, dword [esi + 0x80]
mov ecx, ebx
call fcn.0048fe20
test eax, eax
jne 0x48cba9
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 + 0x4af7a8]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00486be0
add esp, 0x1c
test eax, eax
je 0x48c6ec
cmp eax, 0xfffffc1d
je 0x48c6ec
cmp eax, 0xfffffc1e
je 0x48c6ec
cmp eax, 0xfffffc1f
je 0x48c6ec
cmp eax, 0xfffffc20
jne 0x48e9c6
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 + 0x4af7a8]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00486be0
add esp, 0x1c
test eax, eax
je 0x48c74f
cmp eax, 0xfffffc20
jne 0x48e9c6
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 + 0x4af7a8]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.00486be0
add esp, 0x1c
cmp eax, 1
je 0x48c7cf
cmp eax, 0xfffffc19
jne 0x48c73c
cmp dword [ebx + 0xb0], 0
jne 0x48c73c
mov dword [ebx + 0xb0], esi
jmp 0x48c73c
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 + 0x4af7a8]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00486be0
add esp, 0x1c
test eax, eax
je 0x48c845
cmp eax, 0xfffffc1d
je 0x48c845
cmp eax, 0xfffffc20
jne 0x48e9c6
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 + 0x4af7a8]
push ecx
movzx ecx, word [esi + 2]
add eax, ecx
lea edx, [esi + eax*2]
push edx
push ebp
call fcn.00486be0
add esp, 0x1c
test eax, eax
je 0x48c8b8
cmp eax, 0xfffffc1d
je 0x48c8b8
cmp eax, 0xfffffc20
jne 0x48e9c6
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 + 0x4af7a8]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
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 + 0x4af7a8]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push ebp
call fcn.00486be0
add esp, 0x1c
cmp eax, 1
je 0x48c99f
cmp eax, 0xfffffc19
jne 0x48c9b2
cmp dword [esi + 0xb0], 0
jne 0x48c9b2
mov dword [esi + 0xb0], ebx
test eax, eax
jne 0x48e9c6
mov dword [esi + 0x80], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
test eax, eax
jne 0x48e9c6
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 0x48c2f3
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 0x48e9c6
movzx edx, word [edi]
mov ecx, edi
cmp edx, 0x7b
je 0x48ca77
cmp edx, 0x71
jne 0x48ca6e
jmp 0x48ca60
movzx edx, word [ecx + 2]
cmp word [ecx + edx*2], 0x71
lea ecx, [ecx + edx*2]
je 0x48ca60
movzx edx, word [ecx + 2]
neg edx
lea ecx, [ecx + edx*2]
cmp dword [ebx + 0xb8], ecx
jne 0x48e9c6
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.00486be0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x15c]
cmp ebp, ecx
jne 0x48cb35
cmp edx, 0x99
je 0x48cb35
mov eax, dword [esp + 0x164]
cmp dword [eax + 0xa8], 0
jne 0x48cb3c
cmp dword [eax + 0x5c], 0
jne 0x48cb28
cmp dword [eax + 0x60], 0
je 0x48cb3c
mov esi, dword [eax + 0x98]
mov edi, dword [eax + 0x78]
lea esi, [edi + esi*2]
cmp ecx, esi
jne 0x48cb3c
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 0x48cba9
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 0x48cbdd
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 0x48cd0c
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.00486be0
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 0x48cd0c
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
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.0x486cce.151
cmp ebp, dword [ebx + 0x88]
jbe case.0x486cce.151
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jle case.0x486cce.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [eax + 0x8c], ecx
je case.0x486cce.151
cmp ebp, dword [eax + 0x88]
jbe case.0x486cce.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x486cce.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x486cce.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jle case.0x486cce.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [edx + 0x88]
jbe case.0x486cce.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jle case.0x486cce.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.0x486cce.151
cmp ebp, dword [eax + 0x7c]
jb case.0x486cce.151
cmp ebp, dword [eax + 0x88]
jbe case.0x486cce.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x486cce.151
lea eax, [ecx - 0xd]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edi + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [edi + 0x7c]
jb case.0x486cce.151
cmp ebp, dword [edi + 0x88]
jbe case.0x486cce.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jle case.0x486cce.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 0x48cf54
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.00486a30
add esp, 8
test eax, eax
js 0x48cf14
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x48cee0
jmp 0x48cf4a
cmp dword [edi + 0x8c], 0
je 0x48cf4a
cmp ebp, dword [edi + 0x7c]
jb 0x48cf4a
cmp ebp, dword [edi + 0x88]
jbe 0x48cf4a
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jg 0x48cd5f
cmp ebp, dword [esp + 0x1c]
jb 0x48cfa4
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov edx, ebx
neg edx
lea ebp, [ebp + edx*2]
cmp ebp, dword [esp + 0x1c]
jae 0x48cf62
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [esi + 0x7c]
jb case.0x486cce.151
cmp ebp, dword [esi + 0x88]
jbe case.0x486cce.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jle case.0x486cce.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.0x486cce.151
cmp ebp, dword [eax + 0x88]
jbe case.0x486cce.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jle case.0x486cce.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.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x488e97
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [esp + 0x1c], ebp
mov edx, esi
cmp esi, edi
jge 0x48d185
mov eax, dword [esp + 0x164]
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x18], ecx
jmp 0x48d0d7
mov eax, dword [esp + 0x164]
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x48d15d
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48d11c
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 0x48d12d
cmp dword [esp + 0x14], 0x6a
jmp 0x48d145
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 0x48d185
inc edx
lea ebp, [ebp + esi*2]
cmp edx, edi
jl 0x48d0d0
jmp 0x48d185
cmp dword [eax + 0x8c], 0
je 0x48d185
cmp ebp, dword [eax + 0x88]
jbe 0x48d185
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x48cd5f
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x486cce.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48d1ef
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.00486be0
add esp, 0x1c
test eax, eax
je 0x48d1c7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [eax + 0x88]
jbe case.0x486cce.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jmp 0x48cd95
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], esi
cmp esi, edi
jge 0x48d315
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x18], eax
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x48d2e6
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48d2b9
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.004900d0
add esp, 8
test eax, eax
je 0x48d315
mov eax, dword [esp + 0x28]
inc eax
lea ebp, [ebp + esi*2]
mov dword [esp + 0x28], eax
cmp eax, edi
jl 0x48d274
jmp 0x48d315
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x48d315
cmp ebp, dword [eax + 0x88]
jbe 0x48d315
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x48cd5f
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x1c]
je case.0x486cce.151
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x48d378
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.00486be0
add esp, 0x1c
test eax, eax
je 0x48d350
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x486cce.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x486cce.151
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x8c], 1
jmp 0x48cd95
cmp dword [edi + 0x8c], ecx
je case.0x486cce.151
cmp ebp, dword [edi + 0x88]
jbe case.0x486cce.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jmp 0x48cd95
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [eax + 0x7c]
jb case.0x486cce.151
jmp 0x48cd7b
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp edi, dword [esp + 0x14]
jge case.0x486cce.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 0x48d50d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x48d4c8
jmp 0x48d4b0
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x48d50d
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x48d4b0
test eax, eax
je 0x48d500
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x48d50d
cmp eax, 1
jbe 0x48d500
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x48d50d
cmp eax, 2
jbe 0x48d500
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x48d50d
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x48d592
cmp dword [esp + 0x18], 0
jle 0x48d5e8
mov edx, dword [esp + 0x18]
add edx, edx
sub edi, edx
cmp ebp, edi
ja 0x48d5e8
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x48d558
lea ecx, [ecx]
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x48d5e8
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x48d540
test eax, eax
je 0x48d590
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x48d5e8
cmp eax, 1
jbe 0x48d590
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x48d5e8
cmp eax, 2
jbe 0x48d590
mov cl, byte [ecx + 2]
cmp cl, byte [esi + 2]
jne 0x48d5e8
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.00486be0
add esp, 0x1c
test eax, eax
je 0x48d470
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x486cce.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x486cce.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x48cd95
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [eax + 0x88]
jbe case.0x486cce.151
mov ecx, dword [esp + 0x164]
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x48cd95
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp ebx, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
cmp esi, eax
je 0x48d6ce
cmp dword [esp + 0x28], eax
jne case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48d6a2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [edx + 0x88]
jbe case.0x486cce.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jmp 0x48cd95
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp ebx, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx edx, word [ebp]
add ebp, 2
cmp esi, edx
jne case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48d784
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp esi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48d885
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.0x486cce.151
cmp dword [esp + 0x28], eax
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48d834
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
lea ecx, [ecx]
cmp esi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48d971
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.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48d920
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [esi + 0x88]
jbe case.0x486cce.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x48cd95
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x486cce.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x48cd95
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
jmp 0x48cd75
cmp dword [esi + 0x8c], 0
je case.0x486cce.151
cmp ebp, dword [esi + 0x88]
jbe case.0x486cce.151
mov dword [esi + 0x64], 1
cmp dword [esi + 0x8c], 1
jmp 0x48cd95
test eax, eax
js 0x48e435
cmp eax, 8
ja case.default.0x4888ab
jmp dword [eax*4 + 0x48ecd4]
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp esi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x48dae5
add ebp, 2
cmp dword [esp + 0x2c], 0
jne case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48dab5
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp edi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48dbc1
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 + 0x4b10d0]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4b32d0]
movzx eax, byte [edx*8 + 0x4afff1]
cmp eax, 9
je 0x48dbfc
cmp eax, 5
je 0x48dbfc
cmp eax, 8
je 0x48dbfc
xor eax, eax
jmp 0x48dc01
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48db70
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
nop
cmp esi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48dce1
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 + 0x4b10d0]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4b32d0]
movzx eax, byte [edx*8 + 0x4afff1]
mov edx, dword [esp + 0x38]
xor ecx, ecx
cmp dword [eax*4 + 0x4af848], edx
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48dc90
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp esi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48ddf4
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 + 0x4b10d0]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4b32d0]
movzx eax, byte [edx*8 + 0x4afff1]
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48dda3
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
nop
cmp esi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48df01
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 + 0x4b10d0]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4b32d0]
movzx ecx, byte [eax*8 + 0x4afff0]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48deb0
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
lea esp, [esp]
cmp edi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48e011
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 + 0x4b10d0]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4b32d0]
movzx eax, byte [edx*8 + 0x4afff1]
mov eax, dword [eax*4 + 0x4af848]
cmp eax, 1
je 0x48e04a
cmp eax, 3
je 0x48e04a
xor eax, eax
jmp 0x48e04f
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48dfc0
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
lea ecx, [ecx]
cmp edi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e131
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 + 0x4b10d0]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4b32d0]
movzx ecx, byte [edx*8 + 0x4afff1]
cmp dword [ecx*4 + 0x4af848], 6
je 0x48e181
cmp eax, 9
je 0x48e181
cmp eax, 0xa
je 0x48e181
cmp eax, 0xc
je 0x48e181
cmp eax, 0xd
je 0x48e181
xor eax, eax
jmp 0x48e186
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48e0e0
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp edi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e265
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 + 0x4b10d0]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4b32d0]
movzx ecx, byte [edx*8 + 0x4afff1]
cmp dword [ecx*4 + 0x4af848], 6
je 0x48e2be
cmp eax, 9
je 0x48e2be
cmp eax, 0xa
je 0x48e2be
cmp eax, 0xb
je 0x48e2be
cmp eax, 0xc
je 0x48e2be
cmp eax, 0xd
je 0x48e2be
xor eax, eax
jmp 0x48e2c3
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48e214
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp edi, dword [esp + 0x14]
jge case.0x486cce.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48da21
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e3a2
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 + 0x4b10d0]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4b32d0]
movzx ecx, byte [edx*8 + 0x4afff1]
mov ecx, dword [ecx*4 + 0x4af848]
cmp ecx, 1
je 0x48e3e6
cmp ecx, 3
je 0x48e3e6
cmp eax, 0x5f
je 0x48e3e6
xor eax, eax
jmp 0x48e3eb
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48e351
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 0x48e5c9
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
mov eax, dword [esp + 0x164]
cmp edi, dword [esp + 0x14]
jge case.0x486cce.151
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x48da21
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e4d7
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 + 0x4b10d0]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4b32d0]
movzx ecx, byte [eax*8 + 0x4afff1]
cmp dword [ecx*4 + 0x4af848], 2
je case.0x486cce.151
cmp ebp, edx
jae 0x48e582
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x48e54c
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 + 0x4b10d0]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4b32d0]
movzx eax, byte [eax*8 + 0x4afff1]
cmp dword [eax*4 + 0x4af848], 2
jne 0x48e582
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x48e511
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.00486be0
add esp, 0x1c
test eax, eax
je 0x48e484
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.00486be0
add esp, 0x1c
test eax, eax
jne 0x48e9c6
cmp edi, dword [esp + 0x14]
jge case.0x486cce.151
cmp ebp, dword [esi + 0x7c]
jae 0x48d9bb
cmp dword [esp + 0x18], 0xc
jne 0x48e681
mov eax, dword [esi + 0x18]
test eax, eax
je 0x48e651
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.0048fed0
add esp, 8
test eax, eax
jne case.0x486cce.151
mov esi, dword [esp + 0x164]
jmp 0x48e681
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x7c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x48e681
mov cx, word [ebp]
cmp cx, word [esi + 0x2c]
jne 0x48e681
cmp eax, 1
je case.0x486cce.151
mov dx, word [ebp + 2]
cmp dx, word [esi + 0x2e]
je case.0x486cce.151
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48e6b8
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.0x4888ab
jmp dword [ecx*4 + 0x48ecf8]
cmp eax, 0xd
ja 0x48e70d
je 0x48e6f1
cmp eax, 0xa
je case.0x48e6c8.12
jbe case.0x486cce.151
cmp eax, 0xc
jmp 0x48e724
cmp ebp, dword [esi + 0x7c]
jae case.0x48e6c8.12
cmp word [ebp], 0xa
jne case.0x48e6c8.12
add ebp, 2
jmp case.0x48e6c8.12
cmp eax, 0x85
je 0x48e72a
cmp eax, 0x2027
jbe case.0x486cce.151
cmp eax, 0x2029
ja case.0x486cce.151
cmp dword [esi + 0x68], 0
jne case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x180e
ja 0x48e772
je case.0x486cce.151
cmp eax, 0xa0
ja 0x48e768
je case.0x486cce.151
cmp eax, 9
je case.0x486cce.151
cmp eax, 0x20
jmp 0x48e943
cmp eax, 0x1680
jmp 0x48e943
cmp eax, 0x205f
ja 0x48e79f
je case.0x486cce.151
cmp eax, 0x2000
jb case.0x48e6c8.12
cmp eax, 0x200a
jbe case.0x486cce.151
cmp eax, 0x202f
jmp 0x48e943
cmp eax, 0x3000
jmp 0x48e943
cmp eax, 0x180e
ja 0x48e7ee
je case.0x48e6c8.12
cmp eax, 0xa0
ja 0x48e7de
je case.0x48e6c8.12
cmp eax, 9
je case.0x48e6c8.12
cmp eax, 0x20
jne case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x1680
jne case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x205f
ja 0x48e821
je case.0x48e6c8.12
cmp eax, 0x2000
jb case.0x486cce.151
cmp eax, 0x200a
jbe case.0x48e6c8.12
cmp eax, 0x202f
jne case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x3000
jne case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x85
ja 0x48e855
je case.0x486cce.151
cmp eax, 0xa
jb case.0x48e6c8.12
cmp eax, 0xd
jbe case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x2028
jb case.0x48e6c8.12
cmp eax, 0x2029
jbe case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x85
ja 0x48e894
je case.0x48e6c8.12
cmp eax, 0xa
jb case.0x486cce.151
cmp eax, 0xd
ja case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x2028
jb case.0x486cce.151
cmp eax, 0x2029
ja case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x100
jae case.0x48e6c8.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 4
jne case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x100
jae case.0x486cce.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 4
jmp 0x48e943
cmp eax, 0x100
jae case.0x48e6c8.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 1
jne case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x100
jae case.0x486cce.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 1
jmp 0x48e943
cmp eax, 0x100
jae case.0x48e6c8.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x486cce.151
jmp case.0x48e6c8.12
cmp eax, 0x100
jae case.0x486cce.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 0x10
je case.0x486cce.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.00486be0
add esp, 0x1c
test eax, eax
je 0x48e5fa
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.00486be0
add esp, 0x1c
test eax, eax
je 0x48b736
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