Function at 0x480cc0
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 0x480d20
cmp dword [esp + 0x16c], eax
jne 0x480d00
push 1
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0x184]
push eax
call fcn.00480cc0
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 0x48666e
mov ebp, dword [esp + 0x154]
jmp 0x480d45
xor eax, eax
inc ecx
mov dword [ebx], ecx
mov ecx, dword [esp + 0x16c]
cmp ecx, dword [ebx + 8]
jae 0x486680
cmp dword [ebx + 0x9c], 2
jne 0x480d81
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.0x480dae.98
movzx edi, byte [edx + 0x488bfc]
jmp dword [edi*4 + 0x488ab4]
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x70], ecx
je 0x48693b
movzx edx, byte [edx + 0x4a8bb8]
movzx eax, word [esi + 2]
add edx, eax
lea ecx, [esi + edx*2]
mov dword [esp + 0x158], ecx
jmp 0x480d81
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.00480cc0
add esp, 0x1c
cmp eax, 1
je 0x480ef5
cmp eax, 0xfffffc20
jne 0x480e5e
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x488aa6
cmp word [esi], 0x71
je 0x480e66
cmp word [ecx], 0x71
jmp 0x480e60
test eax, eax
jne 0x488aa6
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 0x480e00
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x7c
je 0x480ea0
cmp eax, 0x71
jne case.0x480dae.151
jmp 0x480ea0
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 0x480ea0
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 0x480ee6
cmp ebp, dword [esp + 0x20]
jne 0x4862ed
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x480d81
mov edi, dword [ebx + 0x80]
mov dword [esp + 0x15c], edi
jmp 0x480e8a
mov dword [esp + 0x24], ecx
jmp 0x481a09
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
mov ebx, dword [esp + 0x164]
jne 0x481004
mov ecx, dword [0x4c6000]
test ecx, ecx
je 0x480ffa
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.0x480dae.151
js 0x488aa6
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 0x48120a
cmp ecx, 0x8a
je 0x48120a
cmp ecx, 0x87
je 0x48109b
cmp ecx, 0x88
je 0x48109b
cmp ecx, 0x8b
jne 0x481047
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x481348
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.00480cc0
add esp, 0x1c
cmp eax, 1
je 0x486290
test eax, eax
je 0x48108f
cmp eax, 0xfffffc20
jne 0x488aa6
mov edx, dword [esp + 0x14]
lea eax, [esi + edi*2]
jmp 0x481348
movzx eax, word [esi + 6]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x4810b7
mov edi, dword [ebx + 0xc]
cmp dword [edi + eax*4], 0
jge 0x4811f5
mov dword [esp + 0x20], 0
cmp ecx, 0x88
jne 0x4811bf
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 0x4810f2
lea ecx, [ecx]
movzx edx, word [esi]
cmp edx, eax
je 0x4810f2
mov edx, dword [ebx + 0x24]
inc edi
lea esi, [esi + edx*2]
cmp edi, ecx
jl 0x4810e0
cmp edi, ecx
jge 0x4811bf
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x28]
mov ebx, esi
mov dword [esp + 0x30], eax
cmp esi, eax
jbe 0x481163
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.00489f00
test eax, eax
jne 0x481163
movzx eax, word [ebx]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x481155
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x4811e4
mov dword [esp + 0x20], 0
cmp ebx, dword [esp + 0x30]
ja 0x481120
inc edi
cmp edi, dword [esp + 0x18]
jge 0x4811bf
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.00489f00
test eax, eax
jne 0x4811bf
movzx eax, word [esi]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x4811b0
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x4811e8
inc edi
mov dword [esp + 0x20], 0
cmp edi, dword [esp + 0x18]
jl 0x481180
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 0x48133d
mov ebx, edx
jmp 0x4811ea
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 0x48133d
cmp dword [ebx + 0xa8], 0
jne 0x48121f
movzx ecx, word [esi + 2]
lea eax, [esi + ecx*2]
jmp 0x481348
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x481361
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
cmp edx, eax
je 0x481361
mov dword [esp + 0x20], 0
cmp ecx, 0x8a
jne 0x481314
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 0x481282
nop
movzx edi, word [esi]
cmp edi, edx
je 0x481282
mov edi, dword [ecx + 0x24]
inc ebx
lea esi, [esi + edi*2]
cmp ebx, eax
jl 0x481270
cmp ebx, eax
jge 0x481314
mov eax, dword [ecx + 0x28]
mov edi, esi
mov dword [esp + 0x34], eax
cmp esi, eax
jbe 0x4812cf
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.00489f00
test eax, eax
jne 0x4812cf
movzx ecx, word [edi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x481369
cmp edi, dword [esp + 0x34]
ja 0x4812a0
inc ebx
cmp ebx, dword [esp + 0x18]
jge 0x481314
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.00489f00
test eax, eax
jne 0x481314
movzx ecx, word [esi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x481369
inc ebx
cmp ebx, dword [esp + 0x18]
jl 0x4812e9
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 0x4862d2
cmp word [eax], 0x71
je 0x4862d2
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x480d81
mov dword [esp + 0x20], 1
mov eax, 2
jmp 0x48131f
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 0x4813a4
add dword [esp + 0x158], 4
mov dword [ecx + 0x40], 1
jmp 0x480d81
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 0x4813d3
add eax, 2
mov dword [esp + 0x160], eax
add dword [esp + 0x158], 4
jmp 0x480d81
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0xb0]
mov eax, 1
mov dword [esp + 0x24], edx
cmp dword [esi + 0x9c], eax
jne 0x48140a
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x48140e
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.00480cc0
add esp, 0x1c
cmp eax, 1
je 0x481484
cmp eax, 0xfffffc19
je 0x481484
test eax, eax
je 0x48145d
cmp eax, 0xfffffc20
jne 0x488aa6
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 0x481420
jmp 0x481491
mov edx, dword [esi + 0x80]
mov dword [esp + 0x15c], edx
mov eax, dword [esp + 0x158]
cmp word [eax], 0x72
je case.0x480dae.151
cmp dword [esp + 0x20], 0
jne 0x486cf1
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 0x4814b0
mov edx, dword [esi + 0x90]
add dword [esp + 0x158], 4
mov dword [esp + 0x160], edx
jmp 0x480d81
mov esi, dword [esp + 0x164]
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x24], eax
mov eax, 1
cmp dword [esi + 0x9c], eax
jne 0x481510
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x481514
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.00480cc0
mov ecx, dword [esp + 0x40]
add esp, 0x1c
mov dword [esi + 0xb0], ecx
cmp eax, 1
je case.0x480dae.151
cmp eax, 0xfffffc19
je case.0x480dae.151
cmp eax, 0xfffffc1e
je 0x4815a0
cmp eax, 0xfffffc1d
je 0x4815a0
cmp eax, 0xfffffc1a
je 0x4815a0
test eax, eax
je 0x481586
cmp eax, 0xfffffc20
jne 0x488aa6
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea eax, [edi + edx*2]
mov dword [esp + 0x158], eax
jne 0x4815bc
jmp 0x48151b
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 0x4815a0
cmp dword [esp + 0x20], 0
jne 0x486cf1
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x480d81
movzx eax, word [esi + 2]
mov edx, dword [esp + 0x164]
cmp eax, ecx
jle 0x481611
mov ecx, dword [edx + 0x78]
sub ebp, 2
dec eax
cmp ebp, ecx
jb case.0x480dae.151
mov di, word [ebp]
mov ebx, 0xfc00
and di, bx
mov ebx, 0xdc00
cmp di, bx
jne 0x48160d
sub ebp, 2
test eax, eax
jg 0x4815e8
cmp ebp, dword [edx + 0x88]
jae 0x48161f
mov dword [edx + 0x88], ebp
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x480d81
mov esi, dword [0x4c6000]
mov edi, dword [esp + 0x158]
test esi, esi
je 0x481704
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.0x480dae.151
js 0x488aa6
add edi, 0xc
mov dword [esp + 0x158], edi
jmp 0x480d81
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 0x481733
xor ecx, ecx
jmp 0x481737
movzx ecx, word [esi + 4]
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x481755
cmp ecx, dword [eax + 4]
jne 0x48174f
cmp ebp, dword [eax + 0x10]
je 0x486c4c
mov eax, dword [eax]
test eax, eax
jne 0x481741
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 0x481792
lea eax, [esp + 0xd8]
mov dword [esp + 0x48], eax
jmp 0x4817b3
lea eax, [ecx*4]
push eax
call dword [0x4c0368]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x486c5c
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebx + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00492940
mov eax, 0x82
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
test eax, eax
je 0x4817e2
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 + 0x4a8bb8]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00480cc0
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.00492940
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov dword [ebx + 0xa8], eax
cmp edi, 1
je 0x481886
cmp edi, 0xfffffc19
je 0x481886
test edi, edi
je 0x481861
cmp edi, 0xfffffc20
jne 0x486c6c
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 0x486c96
mov eax, dword [esp + 0x20]
jmp 0x4817d4
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x48189f
push eax
call dword [0x4c036c]
add esp, 4
mov edx, dword [ebx + 0x80]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x15c], edx
jmp 0x480d81
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.0x480dae.113
jmp 0x480d81
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
jmp 0x481930
movzx ecx, word [esi + 2]
cmp word [esi + ecx*2], 0x71
lea esi, [esi + ecx*2]
je 0x481930
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x480d81
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 0x481960
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov dword [esp + 0x158], esi
jmp 0x480d81
lea eax, [esi + 2]
jmp 0x4819c0
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
je 0x4819c0
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x480d81
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 0x481a09
cmp eax, 0x85
jne 0x481bbb
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 0x481bb3
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 0x481a8f
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 + 0x4a8bb8]
push ecx
lea ecx, [edi + eax*2]
push ecx
push ebp
call fcn.00480cc0
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x481b06
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 0x481a60
cmp eax, 0xfffffc20
jne 0x481b2c
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x488aa6
cmp word [edi], 0x71
je 0x481b34
cmp word [ecx], 0x71
jmp 0x481b2e
test eax, eax
jne 0x488aa6
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 0x481a60
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x481b8a
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 0x481b99
test edx, edx
je case.0x480dae.151
add dword [esp + 0x158], 4
jmp 0x480d81
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x24], ecx
jmp 0x481bc2
xor ecx, ecx
mov dword [esp + 0x24], ecx
jmp 0x481bc2
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 0x481bfa
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 + 0x4a8bb8]
push edi
push ebx
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00480cc0
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x481c5a
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 0x481be6
cmp eax, 0xfffffc20
jne 0x481c80
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [edi + 0x80], ecx
jae 0x488aa6
cmp word [esi], 0x71
je 0x481c88
cmp word [ecx], 0x71
jmp 0x481c82
test eax, eax
jne 0x488aa6
movzx edx, word [esi + 2]
cmp word [esi + edx*2], 0x71
lea esi, [esi + edx*2]
je 0x481be6
cmp dword [esp + 0x18], 0
jne 0x481cac
cmp dword [esp + 0x24], 0
je case.0x480dae.151
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x480d81
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 0x481cec
cmp eax, 0x7b
je 0x481cec
mov dword [esp + 0x20], 0
jmp 0x481d03
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 0x481d11
cmp eax, 0x7a
jbe 0x486cca
cmp eax, 0x7c
je 0x486cca
cmp eax, 0x7f
je 0x481d41
mov edx, 0x84
cmp ax, dx
je 0x481d41
mov edx, 0x80
cmp ax, dx
je 0x481d41
mov edx, 0x85
cmp ax, dx
jne 0x481ddf
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 0x481d6b
mov esi, dword [ebx + 0xa8]
cmp dword [esi + 4], eax
je 0x486d01
mov esi, dword [esp + 0x160]
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x481d89
mov dword [ebx + 0x40], 1
jmp 0x481ded
cmp edx, esi
jle 0x481daa
mov eax, dword [ebx + 0xc]
lea edi, [eax + esi*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x481da6
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 0x481ded
lea esi, [edx + 2]
mov dword [esp + 0x160], esi
jmp 0x481ded
mov esi, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
cmp word [ecx], 0x72
je 0x481dfd
cmp ebp, dword [esp + 0x20]
jne 0x486584
cmp word [edi], 0x7b
je 0x486dc6
add ecx, 4
mov dword [esp + 0x158], ecx
jmp 0x480d81
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x481e34
cmp ebp, dword [eax + 0x78]
je case.0x480dae.151
jmp 0x481e34
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x78]
jne case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x481e61
cmp ebp, dword [eax + 0x78]
je case.0x480dae.151
mov edx, dword [eax + 0x78]
cmp ebp, edx
je 0x481ee0
cmp ebp, dword [eax + 0x7c]
je case.0x480dae.151
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x481ea9
cmp ebp, edx
jbe case.0x480dae.151
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.0048a070
add esp, 8
test eax, eax
je case.0x480dae.151
add dword [esp + 0x158], 2
jmp 0x480d81
mov esi, dword [eax + 0x1c]
mov ecx, dword [eax + 0x78]
lea edx, [esi + esi]
add ecx, edx
cmp ebp, ecx
jb case.0x480dae.151
mov ecx, ebp
sub ecx, edx
mov dx, word [ecx]
cmp dx, word [eax + 0x2c]
jne case.0x480dae.151
cmp esi, 1
je 0x481ee0
mov cx, word [ecx + 2]
cmp cx, word [eax + 0x2e]
jne case.0x480dae.151
add dword [esp + 0x158], 2
jmp 0x480d81
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.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
add esi, 2
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x158], esi
jmp 0x480d81
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x481fb8
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x481f75
mov edx, dword [eax + 0x7c]
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.00489fb0
add esp, 8
test eax, eax
je case.0x480dae.151
mov esi, dword [esp + 0x158]
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov ecx, dword [eax + 0x1c]
mov edi, dword [eax + 0x7c]
lea edx, [ecx + ecx]
sub edi, edx
cmp ebp, edi
ja case.0x480dae.151
mov dx, word [ebp]
cmp dx, word [eax + 0x2c]
jne case.0x480dae.151
cmp ecx, 1
je 0x481fe5
mov cx, word [ebp + 2]
cmp cx, word [eax + 0x2e]
jne case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
cmp dword [eax + 0x48], ecx
jne case.0x480dae.151
cmp dword [eax + 0x8c], ecx
je 0x481fe5
cmp ebp, dword [eax + 0x88]
jbe 0x481fe5
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x486e3f
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x48], ecx
jne case.0x480dae.151
cmp dword [ebx + 0x58], ecx
je 0x482055
jmp 0x482012
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jb case.0x480dae.151
cmp dword [ebx + 0x8c], ecx
je 0x48203f
cmp ebp, dword [ebx + 0x88]
jbe 0x48203f
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x486e3f
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jae 0x4820c6
mov eax, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
cmp eax, ecx
je 0x482082
mov edx, dword [ebx + 0x7c]
push 1
push eax
mov ecx, ebp
call fcn.00489fb0
add esp, 8
test eax, eax
je case.0x480dae.151
jmp 0x4820b5
mov eax, dword [esi]
mov ecx, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub ecx, edx
cmp ebp, ecx
ja case.0x480dae.151
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne case.0x480dae.151
cmp eax, 1
je 0x4820b5
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
jne case.0x480dae.151
mov ecx, dword [esi]
mov edx, dword [ebx + 0x7c]
add ecx, ecx
sub edx, ecx
cmp ebp, edx
jne case.0x480dae.151
cmp dword [ebx + 0x8c], 0
je 0x4820eb
cmp ebp, dword [ebx + 0x88]
jbe 0x4820eb
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x486e3f
add dword [esp + 0x158], 2
jmp 0x480d81
mov edx, dword [esp + 0x164]
cmp ebp, dword [edx + 0x78]
je 0x4821c4
mov ax, word [ebp - 2]
lea ecx, [ebp - 2]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x482124
sub ecx, 2
cmp ecx, dword [edx + 0x88]
jae 0x482132
mov dword [edx + 0x88], ecx
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48215e
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 0x4821ad
cmp eax, 0x5f
jne 0x482171
lea ecx, [eax - 0x5e]
jmp 0x4821c6
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4aa4e0]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4ac6e0]
movzx ecx, byte [eax*8 + 0x4a9401]
mov eax, dword [ecx*4 + 0x4a8c58]
cmp eax, 1
je 0x4821a6
cmp eax, 3
jne 0x4821c4
mov ecx, 1
jmp 0x4821c6
cmp eax, 0x100
jae 0x4821c4
mov ecx, dword [edx + 0x3c]
test byte [eax + ecx], 0x10
je 0x4821c4
mov ecx, 1
jmp 0x4821c6
xor ecx, ecx
cmp ebp, dword [edx + 0x7c]
jb 0x482215
cmp dword [edx + 0x8c], 0
je 0x4821f0
cmp ebp, dword [edx + 0x88]
jbe 0x4821f0
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x486e3f
xor eax, eax
mov dx, word [esi]
add esi, 2
mov dword [esp + 0x158], esi
cmp dx, 5
jne 0x4822b9
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x4822c0
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x482242
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 0x482297
cmp eax, 0x5f
jne 0x482254
mov eax, 1
jmp 0x4821f2
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4aa4e0]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4ac6e0]
movzx edx, byte [eax*8 + 0x4a9401]
mov eax, dword [edx*4 + 0x4a8c58]
cmp eax, 1
je 0x48228d
cmp eax, 3
jne 0x4821f0
mov eax, 1
jmp 0x4821f2
cmp eax, 0x100
jae 0x4821f0
mov edx, dword [edx + 0x3c]
test byte [eax + edx], 0x10
je 0x4821f0
mov eax, 1
jmp 0x4821f2
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x480d81
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 0x482314
cmp ebp, dword [ebx + 0x7c]
jae 0x48234d
mov edx, dword [ebx + 0x7c]
push 1
lea esi, [ebx + 0x1c]
push eax
mov ecx, ebp
call fcn.00489fb0
add esp, 8
test eax, eax
jne case.0x480dae.151
mov esi, dword [esp + 0x158]
xor ecx, ecx
jmp 0x48234d
mov eax, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x48234d
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne 0x48234d
cmp eax, 1
je case.0x480dae.151
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
je case.0x480dae.151
jmp 0x48234d
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x7c]
cmp ebp, eax
jae 0x486e13
add ebp, 2
cmp ebp, eax
jae 0x482378
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x482378
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486e4f
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x486e8b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4823ec
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 0x482400
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
jne case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x486e8b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x482452
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.0x480dae.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
je case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x486e8b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4824bc
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 0x4824d0
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
jne case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x486e8b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x482522
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.0x480dae.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
je case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x486e8b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48258c
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 0x4825a0
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x486e8b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4825f2
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.0x480dae.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
je case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x486ec8
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48265e
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 0x482692
je 0x482675
cmp eax, 0xa
je 0x4826b9
jbe case.0x480dae.151
cmp eax, 0xc
jmp 0x4826a9
cmp ebp, ecx
jae 0x4826b9
cmp word [ebp], 0xa
jne 0x4826b9
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
cmp eax, 0x85
je 0x4826af
cmp eax, 0x2027
jbe case.0x480dae.151
cmp eax, 0x2029
ja case.0x480dae.151
cmp dword [edx + 0x68], 0
jne case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486e4f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48270b
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 0x48273a
je case.0x480dae.151
cmp eax, 0xa0
ja 0x482733
je case.0x480dae.151
cmp eax, 9
je case.0x480dae.151
cmp eax, 0x20
jmp 0x482765
cmp eax, 0x1680
jmp 0x482765
cmp eax, 0x205f
ja 0x482760
je case.0x480dae.151
cmp eax, 0x2000
jb 0x48276b
cmp eax, 0x200a
jbe case.0x480dae.151
cmp eax, 0x202f
jmp 0x482765
cmp eax, 0x3000
je case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486e4f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4827bd
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 0x4827e0
je 0x48280d
cmp eax, 0xa0
ja 0x4827d9
je 0x48280d
cmp eax, 9
je 0x48280d
cmp eax, 0x20
jmp 0x482807
cmp eax, 0x1680
jmp 0x482807
cmp eax, 0x205f
ja 0x482802
je 0x48280d
cmp eax, 0x2000
jb case.0x480dae.151
cmp eax, 0x200a
jbe 0x48280d
cmp eax, 0x202f
jmp 0x482807
cmp eax, 0x3000
jne case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486e4f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48285f
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 0x482876
je case.0x480dae.151
cmp eax, 0xa
jb 0x482888
cmp eax, 0xd
jmp 0x482882
cmp eax, 0x2028
jb 0x482888
cmp eax, 0x2029
jbe case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486e4f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4828da
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 0x4828f1
je 0x482907
cmp eax, 0xa
jb case.0x480dae.151
cmp eax, 0xd
jmp 0x482901
cmp eax, 0x2028
jb case.0x480dae.151
cmp eax, 0x2029
ja case.0x480dae.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x480d81
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486e4f
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x482959
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 + 0x4aa4e0]
shl ecx, 7
mov edx, eax
and edx, 0x7f
add ecx, edx
movzx edx, word [esi + 2]
movzx ecx, word [ecx*2 + 0x4ac6e0]
lea ecx, [ecx*8 + 0x4a9400]
cmp edx, 8
ja case.default.0x48298b
jmp dword [edx*4 + 0x488c98]
cmp dword [esp + 0x14], 0xf
jmp 0x482abb
mov cl, byte [ecx + 1]
cmp cl, 9
je 0x482aaa
cmp cl, 5
je 0x482aaa
cmp cl, 8
je 0x482aaa
xor eax, eax
jmp 0x482aaf
movzx edx, byte [ecx + 1]
movzx eax, word [esi + 4]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x4a8c58]
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x482abb
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 0x482abb
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 0x482abb
movzx eax, byte [ecx + 1]
mov eax, dword [eax*4 + 0x4a8c58]
cmp eax, 1
je 0x482aaa
cmp eax, 3
je 0x482aaa
xor eax, eax
jmp 0x482aaf
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4a8c58], 6
je 0x482aaa
cmp eax, 9
je 0x482aaa
cmp eax, 0xa
je 0x482aaa
cmp eax, 0xc
je 0x482aaa
cmp eax, 0xd
je 0x482aaa
xor eax, eax
jmp 0x482aaf
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4a8c58], 6
je 0x482aaa
cmp eax, 9
je 0x482aaa
cmp eax, 0xa
je 0x482aaa
cmp eax, 0xb
jmp 0x482a5f
movzx edx, byte [ecx + 1]
mov ecx, dword [edx*4 + 0x4a8c58]
cmp ecx, 1
je 0x482aaa
cmp ecx, 3
je 0x482aaa
cmp eax, 0x5f
je 0x482aaa
xor eax, eax
jmp 0x482aaf
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x14], 0xf
sete cl
cmp eax, ecx
je case.0x480dae.151
add esi, 6
mov dword [esp + 0x158], esi
jmp 0x480d81
mov eax, dword [esp + 0x164]
mov edi, dword [eax + 0x7c]
cmp ebp, edi
jae 0x486e4f
movzx eax, word [ebp]
mov ecx, eax
mov edx, 2
and ecx, 0xfc00
add ebp, edx
cmp ecx, 0xd800
jne 0x482b18
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 + 0x4aa4e0]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4ac6e0]
movzx ecx, byte [eax*8 + 0x4a9401]
cmp dword [ecx*4 + 0x4a8c58], edx
je case.0x480dae.151
cmp ebp, edi
jae 0x482bba
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x482b85
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 + 0x4aa4e0]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
cmp dword [eax*4 + 0x4a8c58], edx
jne 0x482bba
lea ebp, [ebp + ecx*2]
cmp ebp, edi
jb 0x482b51
add esi, edx
mov dword [esp + 0x158], esi
jmp 0x480d81
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 0x482c0f
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 0x482c0f
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x482c20
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.0x482c3f
movzx edx, byte [edx + 0x488cc4]
jmp dword [edx*4 + 0x488cbc]
movsx edi, byte [eax + 0x4b83be]
add ecx, 2
mov dword [esp + 0x158], ecx
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x4b83c6]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x482ca8
mov dword [esp + 0x14], SysStringLen
jmp 0x482ca8
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 0x482c9e
mov dword [esp + 0x14], SysStringLen
add ecx, 6
mov dword [esp + 0x158], ecx
test ebx, ebx
je 0x480d81
jns 0x482cba
test edi, edi
je 0x480d81
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x482d02
jmp 0x482cd0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x164]
push ecx
push esi
mov eax, ebx
mov ecx, ebp
call fcn.00480b10
add esp, 8
test eax, eax
js 0x486f15
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x482cd0
mov eax, dword [esp + 0x14]
cmp edi, eax
je 0x480d81
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
je 0x486fa6
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x18]
push eax
push esi
mov edx, edi
mov eax, ebx
mov ecx, ebp
call fcn.00480b10
add esp, 8
test eax, eax
js 0x486f60
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x482d66
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.00480b10
add esp, 8
test eax, eax
js 0x487091
lea ebp, [ebp + eax*2]
jmp 0x480d81
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.0x482e30
movzx edx, byte [edx + 0x488cd4]
jmp dword [edx*4 + 0x488ccc]
movsx edi, byte [eax + 0x4b83c6]
add dword [esp + 0x158], 2
movsx esi, byte [eax + 0x4b83be]
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x482e99
mov edi, SysReAllocString
jmp 0x482e99
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 0x482e86
mov edi, SysReAllocString
add eax, 6
mov dword [esp + 0x158], eax
jmp 0x482e99
mov edi, 1
mov esi, edi
mov edx, 1
cmp esi, edx
jl 0x482f22
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x4870d7
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x482ef1
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 0x482eff
cmp dword [esp + 0x14], 0x6a
jmp 0x482f17
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.0x480dae.151
inc edx
cmp edx, esi
jle 0x482eb4
cmp esi, edi
je 0x480d81
cmp dword [esp + 0x1c], 0
je 0x487180
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp esi, edi
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x482fc2
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 0x48711b
cmp dword [esp + 0x14], 0x6a
jmp 0x487133
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.0x483004
movzx edx, byte [edx + 0x488ce4]
jmp dword [edx*4 + 0x488cdc]
movsx edi, byte [eax + 0x4b83c6]
movsx esi, byte [eax + 0x4b83be]
lea ecx, [eax - 0x62]
add ebx, 2
and ecx, 1
mov dword [esp + 0x158], ebx
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x483068
mov edi, SysReAllocString
jmp 0x483068
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 0x483055
mov edi, SysReAllocString
add ebx, 6
mov dword [esp + 0x158], ebx
jmp 0x483068
mov edi, 1
mov esi, edi
mov dword [esp + 0x28], 1
cmp esi, 1
jl 0x4830e8
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
mov dword [esp + 0x18], edx
cmp ebp, dword [esp + 0x18]
jae 0x487303
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x4830c4
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.0048a1b0
add esp, 8
test eax, eax
je case.0x480dae.151
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, esi
jle 0x483087
cmp esi, edi
je 0x480d81
cmp dword [esp + 0x1c], 0
je 0x487336
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
jmp 0x483140
mov eax, dword [esp + 0x164]
cmp esi, edi
jge case.0x480dae.151
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48318b
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.0048a1b0
add esp, 8
test eax, eax
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x483140
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 0x483213
mov eax, 2
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
sub edx, ebp
sar edx, 1
cmp eax, edx
jg 0x48748c
test eax, eax
jle 0x480d81
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.0x480dae.151
test eax, eax
jg 0x483231
jmp 0x480d81
mov edi, dword [esp + 0x164]
cmp ebp, dword [edi + 0x7c]
jae 0x4874c1
movzx eax, word [esi + 2]
mov ecx, eax
and ecx, 0xfc00
mov edx, 1
cmp ecx, 0xd800
jne 0x48329f
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 0x4832dc
mov edx, 0xff
cmp cx, dx
ja 0x4832bb
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.0x480dae.151
add esi, 4
mov dword [esp + 0x158], esi
add ebp, 2
jmp 0x480d81
mov edi, ecx
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48330d
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 0x480d81
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4aa4e0]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4ac6e0]
mov edx, dword [edx*8 + 0x4a9404]
add edx, eax
cmp ecx, edx
je 0x480d81
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 0x48343a
mov dword [esp + 0x20], 1
movzx ebx, word [esi + 2]
xor edi, edi
mov dword [esp + 0x14], ebx
cmp eax, 0x28
je 0x483393
mov dword [esp + 0x1c], ecx
cmp eax, 0x35
jne 0x48339b
mov dword [esp + 0x1c], 1
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48343a
xor edi, edi
add esi, 2
mov dword [esp + 0x20], 1
mov dword [esp + 0x158], esi
jmp 0x483432
mov edi, 1
add esi, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x158], esi
jmp 0x483432
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 0x48343a
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 + 0x4b8420]
mov ecx, eax
movsx eax, byte [eax + 0x4b8428]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x48343a
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 0x483483
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 0x4837fc
cmp edx, 0x2e
jl 0x4834dc
mov edx, esi
shr edx, 7
movzx eax, byte [edx + 0x4aa4e0]
shl eax, 7
mov ecx, esi
and ecx, 0x7f
add eax, ecx
movzx edx, word [eax*2 + 0x4ac6e0]
mov eax, dword [edx*8 + 0x4a9404]
add eax, esi
cmp eax, esi
je 0x4834dc
lea ecx, [esp + 0x5c]
call fcn.0048a150
mov dword [esp + 0x18], eax
jmp 0x4834e4
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x483600
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x3c], eax
sub eax, ebx
mov dword [esp + 0x34], eax
jmp 0x483514
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x483575
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x483544
lea ecx, [ecx]
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x483575
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x483530
test eax, eax
je 0x483568
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x483575
cmp eax, 1
jbe 0x483568
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x483575
cmp eax, 2
jbe 0x483568
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x483575
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x4835ef
cmp dword [esp + 0x18], 0
jle 0x4874ec
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
add edx, edx
sub ecx, edx
cmp ebp, ecx
ja 0x4874ec
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x4835bd
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x4874ec
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x4835a5
test eax, eax
je 0x4835ed
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x4874ec
cmp eax, 1
jbe 0x4835ed
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x4874ec
cmp eax, 2
jbe 0x4835ed
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x4874ec
add ebp, edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x483510
cmp edi, dword [esp + 0x14]
je 0x480d81
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
jne 0x48750e
mov dword [esp + 0x1c], ebp
cmp edi, dword [esp + 0x14]
jge 0x483755
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 0x483645
mov ecx, dword [esp + 0x34]
cmp ebp, ecx
ja 0x4836a9
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x483678
mov edi, edi
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x4836a9
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x483660
test eax, eax
je 0x48369c
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x4836a9
cmp eax, 1
jbe 0x48369c
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x4836a9
cmp eax, 2
jbe 0x48369c
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x4836a9
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x48370f
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x483724
lea edi, [eax + eax]
mov ecx, edx
sub ecx, edi
cmp ebp, ecx
ja 0x483724
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x4836e9
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x483724
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x4836d1
test eax, eax
je 0x48370d
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x483724
cmp eax, 1
jbe 0x48370d
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x483724
cmp eax, 2
jbe 0x48370d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x483724
add ebp, edi
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x483641
jmp 0x483755
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x483755
cmp ebp, dword [eax + 0x7c]
jb 0x483755
cmp ebp, dword [eax + 0x88]
jbe 0x483755
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x486e3f
cmp dword [esp + 0x20], 0
jne 0x480d81
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp ebp, dword [esp + 0x1c]
je case.0x480dae.151
mov dx, word [ebp - 2]
sub ebp, 2
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x4837c8
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x4837a2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edx, 0x2e
jl 0x483973
cmp esi, 0x7f
jbe 0x483837
mov ecx, esi
shr ecx, 7
movzx edx, byte [ecx + 0x4aa4e0]
shl edx, 7
mov eax, esi
and eax, 0x7f
add edx, eax
movzx ecx, word [edx*2 + 0x4ac6e0]
mov edx, dword [ecx*8 + 0x4a9404]
add edx, esi
mov dword [esp + 0x28], edx
jmp 0x483859
cmp esi, 0xff
ja 0x483853
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax + esi]
mov dword [esp + 0x28], edx
jmp 0x483859
mov edx, esi
mov dword [esp + 0x28], esi
mov ecx, 1
cmp edi, ecx
jl 0x48388c
mov eax, dword [esp + 0x164]
mov ebx, dword [eax + 0x7c]
cmp ebp, ebx
jae 0x487704
movzx eax, word [ebp]
cmp esi, eax
je 0x483884
cmp edx, eax
jne case.0x480dae.151
inc ecx
add ebp, 2
cmp ecx, edi
jle 0x48386c
mov ebx, dword [esp + 0x14]
cmp edi, ebx
je 0x480d81
cmp dword [esp + 0x1c], 0
jne 0x48773e
mov dword [esp + 0x1c], ebp
mov eax, edi
cmp edi, ebx
jge 0x483906
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
jmp 0x4838c7
mov ecx, dword [esp + 0x164]
cmp ebp, edi
jae 0x4838e1
movzx ecx, word [ebp]
cmp esi, ecx
je 0x4838d7
cmp edx, ecx
jne 0x483906
inc eax
add ebp, 2
cmp eax, ebx
jl 0x4838c0
jmp 0x483906
cmp dword [ecx + 0x8c], 0
je 0x483906
cmp ebp, dword [ecx + 0x88]
jbe 0x483906
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jg 0x486e3f
cmp dword [esp + 0x20], 0
jne 0x480d81
cmp ebp, dword [esp + 0x1c]
jb 0x483966
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.00480cc0
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x488aa6
cmp ebp, dword [esp + 0x1c]
jae 0x483930
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 0x4839a2
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x4877f4
movzx ebx, word [ebp]
add ebp, 2
cmp esi, ebx
jne case.0x480dae.151
inc eax
cmp eax, edi
jle 0x483986
cmp edi, dword [esp + 0x14]
je 0x480d81
cmp dword [esp + 0x1c], 0
jne 0x487820
mov ebx, ebp
mov dword [esp + 0x1c], ebx
mov eax, edi
cmp edi, dword [esp + 0x14]
jge 0x483a0d
mov ecx, dword [edx + 0x7c]
lea esp, [esp]
cmp ebp, ecx
jae 0x4839e8
movzx edi, word [ebp]
cmp esi, edi
jne 0x483a0d
inc eax
add ebp, 2
cmp eax, dword [esp + 0x14]
jl 0x4839d0
jmp 0x483a0d
cmp dword [edx + 0x8c], 0
je 0x483a0d
cmp ebp, dword [edx + 0x88]
jbe 0x483a0d
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x486e3f
cmp dword [esp + 0x20], 0
jne 0x480d81
cmp ebp, ebx
jb 0x483a6b
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.00480cc0
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x488aa6
cmp ebp, dword [esp + 0x1c]
jae 0x483a35
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 0x4874c1
movzx ecx, word [ebp]
mov eax, ecx
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x483aba
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 0x483b2e
cmp eax, 0x7f
jbe 0x483aff
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4aa4e0]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4ac6e0]
mov edx, dword [edx*8 + 0x4a9404]
add edx, eax
jmp 0x483b11
cmp eax, 0xff
ja 0x483b0f
mov edx, dword [edi + 0x38]
movzx edx, byte [edx + eax]
jmp 0x483b11
mov edx, eax
cmp eax, ecx
je case.0x480dae.151
cmp edx, ecx
jne 0x480d81
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, ecx
jne 0x480d81
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 0x483c09
movzx edi, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x14], edi
cmp eax, 0x42
je 0x483b6b
mov dword [esp + 0x1c], ecx
cmp eax, 0x4f
jne 0x483b73
mov dword [esp + 0x1c], 1
add esi, 4
jmp 0x483c09
xor ecx, ecx
mov dword [esp + 0x20], 1
add esi, 2
jmp 0x483c01
mov ecx, 1
mov dword [esp + 0x20], ecx
add esi, 2
jmp 0x483c01
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
add esi, 2
jmp 0x483c09
movzx eax, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x14], eax
add esi, 4
jmp 0x483c09
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 + 0x4b8420]
movsx eax, byte [eax + 0x4b8428]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x483c09
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 0x483e40
cmp edi, 0x7f
jbe 0x483c55
mov edx, edi
shr edx, 7
movzx eax, byte [edx + 0x4aa4e0]
shl eax, 7
mov edx, edi
and edx, 0x7f
add eax, edx
movzx eax, word [eax*2 + 0x4ac6e0]
mov esi, dword [eax*8 + 0x4a9404]
add esi, edi
mov dword [esp + 0x28], esi
jmp 0x483c77
cmp edi, 0xff
ja 0x483c71
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx esi, byte [eax + edi]
mov dword [esp + 0x28], esi
jmp 0x483c77
mov esi, edi
mov dword [esp + 0x28], edi
mov edx, 1
cmp ecx, edx
jl 0x483ce4
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x487303
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x483ccf
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.0x480dae.151
cmp esi, eax
je case.0x480dae.151
inc edx
cmp edx, ecx
jle 0x483c92
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x480d81
cmp dword [esp + 0x1c], 0
jne 0x4878d0
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x483d8e
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, 1
cmp ebp, edi
jae 0x483d67
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x483d50
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 0x483d8e
cmp dword [esp + 0x28], eax
je 0x483d8e
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x483d11
jmp 0x483d8e
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x483d8e
cmp ebp, dword [eax + 0x88]
jbe 0x483d8e
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x486e3f
cmp dword [esp + 0x20], 0
jne 0x480d81
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x480dae.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x483e03
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x483ddb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ecx, edx
jl 0x483ea6
mov esi, dword [eax + 0x7c]
cmp ebp, esi
jae 0x487303
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x483e92
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.0x480dae.151
inc edx
cmp edx, ecx
jle 0x483e57
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x480d81
cmp dword [esp + 0x1c], 0
jne 0x4879b9
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x483f47
mov edi, dword [eax + 0x7c]
jmp 0x483ed7
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x483f27
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x483f16
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 0x483f47
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x483ed0
jmp 0x483f47
cmp dword [eax + 0x8c], 0
je 0x483f47
cmp ebp, dword [eax + 0x88]
jbe 0x483f47
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x486e3f
cmp dword [esp + 0x20], 0
jne 0x480d81
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x480dae.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x483fbc
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x483f94
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 0x4840c2
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 0x4840c2
xor ebx, ebx
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x4840ba
mov ebx, 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x4840ba
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 0x4840c2
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 0x4840c2
lea eax, [edx - 0x55]
movsx ebx, byte [eax + 0x4b8420]
mov edx, eax
movsx eax, byte [eax + 0x4b8428]
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 0x4840c2
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 0x4840ea
cmp eax, 0xf
je 0x4840ea
mov edi, dword [esp + 0x2c]
or eax, 0xffffffff
mov dword [esp + 0x28], eax
jmp 0x484113
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 0x484219
cmp eax, ecx
jl 0x484703
cmp eax, 8
ja case.default.0x48298b
jmp dword [eax*4 + 0x488cec]
cmp edi, ecx
jne case.0x480dae.151
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x487a9b
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x484170
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x484152
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x487ac7
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x4841cc
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 + 0x4aa4e0]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
cmp eax, 9
je 0x484203
cmp eax, 5
je 0x484203
cmp eax, 8
je 0x484203
xor eax, eax
jmp 0x484208
mov eax, 1
cmp eax, edi
je case.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x484191
mov esi, dword [esp + 0x164]
mov edi, dword [esp + 0x14]
cmp ebx, edi
je 0x480d81
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x28]
jne 0x487b39
mov dword [esp + 0x1c], ebp
test eax, eax
js 0x48566c
cmp eax, 8
ja case.default.0x48298b
jmp dword [eax*4 + 0x488d10]
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x487afa
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x4842a5
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 + 0x4aa4e0]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp dword [eax*4 + 0x4a8c58], esi
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x48426a
jmp 0x484219
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x487afa
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48434b
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 + 0x4aa4e0]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
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.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x484310
jmp 0x484219
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x487afa
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x4843e6
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 + 0x4aa4e0]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9400]
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.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x4843ab
jmp 0x484219
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x487ac7
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x484481
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 + 0x4aa4e0]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
mov eax, dword [eax*4 + 0x4a8c58]
cmp eax, 1
je 0x4844ba
cmp eax, 3
je 0x4844ba
xor eax, eax
jmp 0x4844bf
mov eax, 1
cmp eax, edi
je case.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x484446
jmp 0x484219
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x487ac7
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48452a
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 + 0x4aa4e0]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4ac6e0]
movzx esi, byte [esi*8 + 0x4a9401]
cmp dword [esi*4 + 0x4a8c58], edi
je 0x484571
cmp eax, 9
je 0x484571
cmp eax, 0xa
je 0x484571
cmp eax, 0xc
je 0x484571
cmp eax, 0xd
je 0x484571
xor eax, eax
jmp 0x484576
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x480dae.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x4844ef
jmp 0x484219
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x487ac7
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x4845e7
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 + 0x4aa4e0]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4ac6e0]
movzx esi, byte [esi*8 + 0x4a9401]
cmp dword [esi*4 + 0x4a8c58], edi
je 0x484633
cmp eax, 9
je 0x484633
cmp eax, 0xa
je 0x484633
cmp eax, 0xb
je 0x484633
cmp eax, 0xc
je 0x484633
cmp eax, 0xd
je 0x484633
xor eax, eax
jmp 0x484638
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x480dae.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x4845ac
jmp 0x484219
mov edx, 1
cmp ebx, edx
jl 0x484219
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
cmp ebp, edi
jae 0x487afa
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x4846a6
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 + 0x4aa4e0]
shl ecx, 7
mov esi, eax
and esi, 0x7f
add ecx, esi
movzx ecx, word [ecx*2 + 0x4ac6e0]
movzx ecx, byte [ecx*8 + 0x4a9401]
mov ecx, dword [ecx*4 + 0x4a8c58]
cmp ecx, 1
je 0x4846e6
cmp ecx, 3
je 0x4846e6
cmp eax, 0x5f
je 0x4846e6
xor eax, eax
jmp 0x4846eb
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x480dae.151
inc edx
cmp edx, ebx
jle 0x48466b
jmp 0x484219
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x484815
lea esi, [eax - 0x15]
cmp ebx, esi
jl 0x484219
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x487afa
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x484760
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 + 0x4aa4e0]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4ac6e0]
movzx ecx, byte [eax*8 + 0x4a9401]
cmp dword [ecx*4 + 0x4a8c58], 2
je case.0x480dae.151
cmp ebp, edx
jae 0x484807
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x4847d1
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 + 0x4aa4e0]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
cmp dword [eax*4 + 0x4a8c58], 2
jne 0x484807
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x48479a
inc esi
cmp esi, ebx
jle 0x484725
jmp 0x484219
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x48298b
jmp dword [eax*4 + 0x488d34]
mov edi, 1
cmp ebx, edi
jl 0x484219
mov ecx, dword [esp + 0x164]
lea esp, [esp]
cmp ebp, dword [ecx + 0x7c]
jae 0x487ace
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x48487b
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00489fb0
add esp, 8
test eax, eax
jne case.0x480dae.151
mov ecx, dword [esp + 0x164]
jmp 0x4848ab
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x4848ab
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x4848ab
cmp eax, 1
je case.0x480dae.151
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je case.0x480dae.151
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x4848cc
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov eax, 0xdc00
cmp dx, ax
jne 0x4848cc
add ebp, 2
inc edi
cmp edi, ebx
jle 0x484840
jmp 0x484219
mov eax, 1
cmp ebx, eax
jl 0x484219
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x487a9b
add ebp, 2
cmp ebp, ecx
jae 0x484919
mov dx, word [ebp]
mov edi, 0xfc00
and dx, di
mov edi, 0xdc00
cmp dx, di
jne 0x484919
add ebp, 2
inc eax
cmp eax, ebx
jle 0x4848f1
jmp 0x484220
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
lea eax, [ebx + ebx]
sub ecx, eax
cmp ebp, ecx
ja case.0x480dae.151
add ebp, eax
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x487b0d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x484993
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 0x4849b8
je 0x4849a8
cmp eax, 0xa
je 0x4849d7
add eax, 0xfffffff5
jmp 0x4849c4
cmp ebp, edx
jae 0x4849d7
cmp word [ebp], 0xa
jne 0x4849d7
add ebp, 2
jmp 0x4849d7
cmp eax, 0x85
je 0x4849cd
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x480dae.151
cmp dword [esi + 0x68], 0
jne case.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x484958
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
lea esp, [esp]
cmp ebp, edx
jae 0x487b0d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x484a3b
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 0x484a6d
je case.0x480dae.151
cmp eax, 0xa0
ja 0x484a66
je case.0x480dae.151
cmp eax, 9
je case.0x480dae.151
cmp eax, 0x20
jmp 0x484a98
cmp eax, 0x1680
jmp 0x484a98
cmp eax, 0x205f
ja 0x484a93
je case.0x480dae.151
cmp eax, 0x2000
jb 0x484a9e
cmp eax, 0x200a
jbe case.0x480dae.151
cmp eax, 0x202f
jmp 0x484a98
cmp eax, 0x3000
je case.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x484a00
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x487b0d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x484afe
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 0x484b33
je 0x484b60
cmp eax, 0xa0
ja 0x484b29
je 0x484b60
cmp eax, 9
je 0x484b60
cmp eax, 0x20
jmp 0x484b5a
cmp eax, 0x1680
jmp 0x484b5a
cmp eax, 0x205f
ja 0x484b55
je 0x484b60
cmp eax, 0x2000
jb case.0x480dae.151
cmp eax, 0x200a
jbe 0x484b60
cmp eax, 0x202f
jmp 0x484b5a
cmp eax, 0x3000
jne case.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x484ac3
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x487b0d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x484bc4
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 0x484bdb
je case.0x480dae.151
cmp eax, 0xa
jb 0x484bed
cmp eax, 0xd
jmp 0x484be7
cmp eax, 0x2028
jb 0x484bed
cmp eax, 0x2029
jbe case.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x484b85
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
mov edi, edi
cmp ebp, edx
jae 0x487b0d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x484c4f
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 0x484c60
je 0x484c6e
add eax, 0xfffffff6
cmp eax, 3
jmp 0x484c68
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x484c10
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x487a9b
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x484ccf
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 0x484ce3
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
jne case.0x480dae.151
inc ecx
cmp ecx, ebx
jle 0x484c90
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x487b0d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x480dae.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
je case.0x480dae.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x484d04
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x487a9b
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x484d73
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
jne case.0x480dae.151
add ebp, 2
cmp ebp, edx
jae 0x484d97
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x484d97
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x484d50
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x487b0d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x480dae.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
je case.0x480dae.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x484db8
jmp 0x484220
mov ecx, 1
cmp ebx, ecx
jl 0x484219
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x487a9b
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x484e26
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
jne case.0x480dae.151
add ebp, 2
cmp ebp, edx
jae 0x484e4a
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x484e4a
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x484e03
jmp 0x484220
mov esi, dword [esp + 0x164]
mov ecx, 1
cmp ebx, ecx
jl 0x484220
mov edx, dword [esi + 0x7c]
jmp 0x484e70
cmp ebp, edx
jae 0x487b0d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x480dae.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
je case.0x480dae.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x484e70
jmp 0x484220
mov ecx, ebx
cmp ebx, edi
jge 0x4855bd
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
mov eax, 1
cmp ebp, edx
jae 0x484efb
mov si, word [ebp]
mov edi, 0xfc00
and si, di
mov edi, 0xd800
cmp si, di
jne 0x484ee0
mov eax, 2
cmp dword [esp + 0x2c], 0
jne 0x4855bd
inc ecx
lea ebp, [ebp + eax*2]
cmp ecx, dword [esp + 0x14]
jl 0x484eb8
jmp 0x4855bd
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x4855bd
mov ecx, eax
cmp ebp, dword [ecx + 0x88]
jbe 0x4855bd
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x4855b7
mov edx, ebx
cmp ebx, edi
jge 0x4855bd
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x484f57
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x485153
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x484f9a
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 + 0x4aa4e0]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
cmp eax, 9
je 0x484fd1
cmp eax, 5
je 0x484fd1
cmp eax, 8
je 0x484fd1
xor eax, eax
jmp 0x484fd6
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x4855bd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x484f50
jmp 0x4855bd
mov edx, ebx
cmp ebx, edi
jge 0x4855bd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x38]
mov eax, ecx
jmp 0x485017
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x485153
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48505a
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 + 0x4aa4e0]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
xor ebx, ebx
cmp dword [eax*4 + 0x4a8c58], edi
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x4855bd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x485010
jmp 0x4855bd
mov edx, ebx
cmp ebx, edi
jge 0x4855bd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x48514c
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x485103
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 + 0x4aa4e0]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x4855bd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4850c0
jmp 0x4855bd
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x4855bd
cmp ebp, dword [eax + 0x88]
jbe 0x4855bd
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x4855b7
mov edx, ebx
cmp ebx, edi
jge 0x4855bd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x48514c
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4851d1
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 + 0x4aa4e0]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9400]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x4855bd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x485192
jmp 0x4855bd
mov edx, ebx
cmp ebx, edi
jge 0x4855bd
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, 1
jmp 0x485238
mov eax, dword [esp + 0x164]
mov ecx, edi
cmp ebp, esi
jae 0x4852d1
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x485278
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 + 0x4aa4e0]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
mov eax, dword [eax*4 + 0x4a8c58]
cmp eax, edi
je 0x4852b0
cmp eax, 3
je 0x4852b0
xor eax, eax
jmp 0x4852b2
mov eax, edi
cmp eax, dword [esp + 0x2c]
je 0x4855bd
add edx, edi
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x485231
jmp 0x4855bd
cmp dword [eax + 0x8c], 0
je 0x4855bd
cmp ebp, dword [eax + 0x88]
jbe 0x4855bd
mov dword [eax + 0x64], edi
cmp dword [eax + 0x8c], edi
jmp 0x4855b7
mov edx, ebx
cmp ebx, edi
jge 0x4855bd
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov eax, ecx
jmp 0x485317
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x485153
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48535a
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 + 0x4aa4e0]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4ac6e0]
movzx edi, byte [edi*8 + 0x4a9401]
cmp dword [edi*4 + 0x4a8c58], 6
je 0x4853ae
cmp eax, 9
je 0x4853ae
cmp eax, 0xa
je 0x4853ae
cmp eax, 0xc
je 0x4853ae
cmp eax, 0xd
je 0x4853ae
xor eax, eax
jmp 0x4853b3
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x4855bd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x485310
jmp 0x4855bd
mov edx, ebx
cmp ebx, edi
jge 0x4855bd
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
jmp 0x4853f7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x485153
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x48543a
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 + 0x4aa4e0]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4ac6e0]
movzx edi, byte [edi*8 + 0x4a9401]
cmp dword [edi*4 + 0x4a8c58], 6
je 0x48549b
cmp eax, 9
je 0x48549b
cmp eax, 0xa
je 0x48549b
cmp eax, 0xb
je 0x48549b
cmp eax, 0xc
je 0x48549b
cmp eax, 0xd
je 0x48549b
xor eax, eax
jmp 0x4854a0
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x4855bd
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x4853f0
jmp 0x4855bd
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4855bd
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov eax, edx
jmp 0x4854e7
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x485595
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48552a
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 + 0x4aa4e0]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4ac6e0]
movzx ecx, byte [ecx*8 + 0x4a9401]
mov ecx, dword [ecx*4 + 0x4a8c58]
cmp ecx, 1
je 0x485572
cmp ecx, 3
je 0x485572
cmp eax, 0x5f
je 0x485572
xor eax, eax
jmp 0x485577
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x4855bd
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x14]
jl 0x4854e0
jmp 0x4855bd
cmp dword [eax + 0x8c], 0
je 0x4855bd
cmp ebp, dword [eax + 0x88]
jbe 0x4855bd
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x486e3f
cmp dword [esp + 0x20], 0
jne 0x480d81
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
lea ebx, [ebx]
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x480dae.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x485638
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x485610
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x4858ae
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4857c9
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
mov ebx, 2
jmp 0x4856a7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, edx
jae 0x4857a1
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4856e7
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 + 0x4aa4e0]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
cmp dword [eax*4 + 0x4a8c58], ebx
je 0x4857c9
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jae 0x485791
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x48575c
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 + 0x4aa4e0]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
cmp dword [eax*4 + 0x4a8c58], ebx
jne 0x485791
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x485724
inc esi
cmp esi, dword [esp + 0x14]
jl 0x4856a0
jmp 0x4857c9
cmp dword [eax + 0x8c], 0
je 0x4857c9
cmp ebp, dword [eax + 0x88]
jbe 0x4857c9
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x486e3f
cmp dword [esp + 0x20], 0
jne 0x480d81
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov edx, ebp
mov ecx, 2
sub ebp, ecx
cmp edx, dword [esp + 0x1c]
je case.0x480dae.151
lea esp, [esp]
mov ax, word [ebp]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x485848
sub ebp, ecx
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x485879
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 + 0x4aa4e0]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4ac6e0]
movzx edx, byte [eax*8 + 0x4a9401]
cmp dword [edx*4 + 0x4a8c58], ecx
jne 0x488a69
sub ebp, ecx
jmp 0x485830
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x48298b
jmp dword [eax*4 + 0x488d74]
cmp edi, 0x7fffffff
mov edi, ebx
jge 0x4859b6
cmp ebx, dword [esp + 0x14]
jge 0x485d43
lea esp, [esp]
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48598f
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x485922
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00489fb0
add esp, 8
test eax, eax
jne 0x485d43
mov ecx, dword [esp + 0x164]
jmp 0x48595a
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x48595a
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x48595a
cmp eax, 1
je 0x485d43
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x485d43
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x48597f
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48597f
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x4858e0
jmp 0x485d43
cmp dword [ecx + 0x8c], 0
je 0x485d43
mov edx, ecx
cmp ebp, dword [edx + 0x88]
jbe 0x485d43
mov ecx, 1
mov eax, edx
jmp 0x485d34
cmp ebx, dword [esp + 0x14]
jge 0x485d43
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48598f
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4859fe
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00489fb0
add esp, 8
test eax, eax
jne 0x485d43
mov ecx, dword [esp + 0x164]
jmp 0x485a36
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x485a36
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x485a36
cmp eax, 1
je 0x485d43
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x485d43
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x485a5f
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x485a5f
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x4859c0
jmp 0x485d43
cmp edi, 0x7fffffff
jge 0x485ad5
mov eax, ebx
cmp ebx, edi
jge 0x485d43
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x485ad8
add ebp, 2
cmp ebp, ecx
jae 0x485ab8
mov dx, word [ebp]
mov ebx, 0xfc00
and dx, bx
mov ebx, 0xdc00
cmp dx, bx
jne 0x485ab8
add ebp, 2
inc eax
cmp eax, edi
jl 0x485a88
jmp 0x485d43
mov ecx, dword [esi + 0x7c]
sub edi, ebx
sub ecx, ebp
mov eax, edi
sar ecx, 1
cmp eax, ecx
jbe 0x485b04
mov ebp, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je 0x485d43
cmp ebp, dword [esi + 0x88]
jbe 0x485d43
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x485d3d
lea ebp, [ebp + eax*2]
jmp 0x485d43
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x485d43
mov ebx, dword [esp + 0x164]
mov edx, dword [ebx + 0x7c]
mov ecx, 1
cmp ebp, edx
jae 0x485be7
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x485b66
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 0x485b8d
add ebp, 2
cmp ebp, edx
jae 0x485d43
cmp word [ebp], 0xa
jne 0x485bd7
add ebp, 2
jmp 0x485bd7
cmp eax, 0xa
je 0x485bd3
cmp dword [ebx + 0x68], 0
jne 0x485d43
cmp eax, 0xb
je 0x485bd3
cmp eax, 0xc
je 0x485bd3
cmp eax, 0x85
je 0x485bd3
cmp eax, 0x2028
je 0x485bd3
cmp eax, 0x2029
jne 0x485d43
lea ebp, [ebp + ecx*2]
inc esi
cmp esi, dword [esp + 0x14]
jl 0x485b23
jmp 0x485d43
cmp dword [ebx + 0x8c], 0
je 0x485d43
cmp ebp, dword [ebx + 0x88]
jbe 0x485d43
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x8c], ecx
jmp 0x485d3d
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x485d43
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x485d14
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x485c6b
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 0x485ca8
je 0x485ceb
cmp eax, 0xa0
ja 0x485c9e
je 0x485ceb
cmp eax, 9
je 0x485ceb
cmp eax, 0x20
jmp 0x485cde
cmp eax, 0x1680
jmp 0x485cde
cmp eax, 0x205f
ja 0x485cd9
je 0x485ceb
cmp eax, 0x2000
jb 0x485ce4
cmp eax, 0x200a
jbe 0x485ceb
cmp eax, 0x202f
jmp 0x485cde
cmp eax, 0x3000
je 0x485ceb
xor eax, eax
jmp 0x485cf0
mov eax, 1
xor ebx, ebx
cmp dword [esp + 0x18], 0x12
sete bl
cmp eax, ebx
je 0x485d43
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x485c28
jmp 0x485d43
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x485d43
cmp ebp, dword [eax + 0x88]
jbe 0x485d43
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x486e3f
cmp dword [esp + 0x20], 0
jne 0x480d81
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov eax, dword [esp + 0x1c]
mov ecx, ebp
sub ebp, 2
cmp ecx, eax
je case.0x480dae.151
mov dx, word [ebp]
mov ecx, 0xfc00
and dx, cx
mov ecx, 0xdc00
cmp dx, cx
jne 0x485dbe
sub ebp, 2
cmp dword [esp + 0x18], 0x11
jne 0x485dea
cmp ebp, eax
jbe 0x485dea
cmp word [ebp], 0xa
jne 0x485dea
cmp word [ebp - 2], 0xd
jne 0x485dea
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x485d90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x485d43
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x485d14
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x485e7f
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 0x485ec8
je 0x485ed2
cmp eax, 0xa
jb 0x485ea2
cmp eax, 0xd
jbe 0x485ed2
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x18], 0x14
sete bl
cmp eax, ebx
je 0x485d43
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x485e3c
jmp 0x485d43
add eax, 0xffffdfd8
cmp eax, 1
ja 0x485ea2
mov eax, 1
jmp 0x485ea4
mov edx, ebx
cmp ebx, edi
jge 0x485d43
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x485f07
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x485d1b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x485f4a
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 0x485f69
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
jne 0x485d43
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x485f00
jmp 0x485d43
mov edx, ebx
cmp ebx, edi
jge 0x485d43
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x485fa7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x485d1b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x485fea
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 0x485d43
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
je 0x485d43
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x485fa0
jmp 0x485d43
mov edx, ebx
cmp ebx, edi
jge 0x485d43
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x486047
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x485d1b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48608a
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 0x4860a9
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
jne 0x485d43
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x486040
jmp 0x485d43
mov edx, ebx
cmp ebx, edi
jge 0x485d43
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x4860e7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x485d1b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48612a
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 0x485d43
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
je 0x485d43
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4860e0
jmp 0x485d43
mov edx, ebx
cmp ebx, edi
jge 0x485d43
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x486187
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x485d1b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4861ca
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 0x4861e9
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
jne 0x485d43
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x486180
jmp 0x485d43
mov edx, ebx
cmp ebx, edi
jge 0x485d43
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x486218
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x485d1b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48625b
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 0x485d43
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
je 0x485d43
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x486211
jmp 0x485d43
mov eax, dword [ebx + 0x90]
cmp eax, dword [esp + 0x160]
jle 0x4862aa
mov dword [esp + 0x160], eax
movzx edx, word [esi + 6]
cmp word [esi + edx*2 + 4], 0x71
lea eax, [esi + edx*2 + 4]
jne 0x4862ce
mov edi, edi
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
je 0x4862c0
mov edx, dword [esp + 0x14]
add eax, 4
cmp edx, 0x86
je 0x486b70
mov dword [esp + 0x158], eax
jmp 0x486663
cmp word [esi], 0x74
jne 0x486330
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov edx, dword [esp + 0x18]
mov dword [esp + 0x158], edx
jmp 0x486663
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x486663
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 0x486480
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 0x4863f2
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 + 0x4a8bb8]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.00480cc0
add esp, 0x1c
cmp eax, 0xfffffc1c
je 0x486ae4
cmp eax, 0xfffffc20
jne 0x486ab0
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x488aa6
cmp word [edi], 0x71
je 0x486468
cmp word [ecx], 0x71
jne 0x488aa6
xor eax, eax
jmp 0x486ab8
mov ebx, dword [esp + 0x164]
jmp 0x486480
cmp edx, 0x82
jge 0x4864ce
cmp edx, 0x7b
je 0x4864ce
cmp dword [ebx + 0x6c], 0
jne 0x4864d8
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
je 0x4864d8
movzx ecx, word [eax]
movzx edx, byte [ecx + 0x4a8bb8]
lea eax, [eax + edx*2]
mov dword [esp + 0x158], eax
jmp 0x486663
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 + 0x4a8bb8]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.00480cc0
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x486555
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x488aa6
cmp word [edi], 0x71
je 0x48655d
cmp word [ecx], 0x71
jne 0x488aa6
jmp 0x48655d
test eax, eax
jne 0x486b15
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.0x480dae.151
mov edx, dword [esp + 0x14]
jmp 0x486480
movzx eax, word [ecx]
cmp eax, 0x75
je 0x486d24
cmp eax, 0x74
jne 0x4865f6
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
movzx eax, word [edi]
cmp eax, 0x7b
je 0x486d40
mov edx, 0x82
cmp ax, dx
jae 0x486d61
mov dword [esp + 0x158], edi
jmp 0x486663
mov eax, 0x82
cmp word [edi], ax
jb 0x48660e
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.00480cc0
add esp, 0x1c
cmp eax, 0xfffffc1c
jne 0x486649
cmp dword [ebx + 0xb8], edi
jmp 0x48664b
test eax, eax
jne 0x488aa6
cmp word [edi], 0x7b
je 0x486d9b
add dword [esp + 0x158], 4
mov ecx, dword [ebx]
cmp ecx, dword [ebx + 4]
jb 0x480d43
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 + 0x4a8bb8]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.00480cc0
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x486703
cmp edi, 0xfffffc19
jne 0x486723
cmp dword [esi + 0xb0], 0
jne 0x486723
mov dword [esi + 0xb0], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edi, 0xfffffc1f
jne 0x486c89
mov eax, dword [esi + 0x80]
mov ecx, ebx
call fcn.00489f00
test eax, eax
jne 0x486c89
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 + 0x4a8bb8]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00480cc0
add esp, 0x1c
test eax, eax
je 0x4867cc
cmp eax, 0xfffffc1d
je 0x4867cc
cmp eax, 0xfffffc1e
je 0x4867cc
cmp eax, 0xfffffc1f
je 0x4867cc
cmp eax, 0xfffffc20
jne 0x488aa6
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 + 0x4a8bb8]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00480cc0
add esp, 0x1c
test eax, eax
je 0x48682f
cmp eax, 0xfffffc20
jne 0x488aa6
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 + 0x4a8bb8]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.00480cc0
add esp, 0x1c
cmp eax, 1
je 0x4868af
cmp eax, 0xfffffc19
jne 0x48681c
cmp dword [ebx + 0xb0], 0
jne 0x48681c
mov dword [ebx + 0xb0], esi
jmp 0x48681c
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 + 0x4a8bb8]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00480cc0
add esp, 0x1c
test eax, eax
je 0x486925
cmp eax, 0xfffffc1d
je 0x486925
cmp eax, 0xfffffc20
jne 0x488aa6
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 + 0x4a8bb8]
push ecx
movzx ecx, word [esi + 2]
add eax, ecx
lea edx, [esi + eax*2]
push edx
push ebp
call fcn.00480cc0
add esp, 0x1c
test eax, eax
je 0x486998
cmp eax, 0xfffffc1d
je 0x486998
cmp eax, 0xfffffc20
jne 0x488aa6
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 + 0x4a8bb8]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
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 + 0x4a8bb8]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push ebp
call fcn.00480cc0
add esp, 0x1c
cmp eax, 1
je 0x486a7f
cmp eax, 0xfffffc19
jne 0x486a92
cmp dword [esi + 0xb0], 0
jne 0x486a92
mov dword [esi + 0xb0], ebx
test eax, eax
jne 0x488aa6
mov dword [esi + 0x80], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
test eax, eax
jne 0x488aa6
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 0x4863d3
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 0x488aa6
movzx edx, word [edi]
mov ecx, edi
cmp edx, 0x7b
je 0x486b57
cmp edx, 0x71
jne 0x486b4e
jmp 0x486b40
movzx edx, word [ecx + 2]
cmp word [ecx + edx*2], 0x71
lea ecx, [ecx + edx*2]
je 0x486b40
movzx edx, word [ecx + 2]
neg edx
lea ecx, [ecx + edx*2]
cmp dword [ebx + 0xb8], ecx
jne 0x488aa6
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.00480cc0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x15c]
cmp ebp, ecx
jne 0x486c15
cmp edx, 0x99
je 0x486c15
mov eax, dword [esp + 0x164]
cmp dword [eax + 0xa8], 0
jne 0x486c1c
cmp dword [eax + 0x5c], 0
jne 0x486c08
cmp dword [eax + 0x60], 0
je 0x486c1c
mov esi, dword [eax + 0x98]
mov edi, dword [eax + 0x78]
lea esi, [edi + esi*2]
cmp ecx, esi
jne 0x486c1c
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 0x486c89
push eax
call dword [0x4c036c]
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 0x486cbd
push eax
call dword [0x4c036c]
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 0x486dec
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.00480cc0
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 0x486dec
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
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.0x480dae.151
cmp ebp, dword [ebx + 0x88]
jbe case.0x480dae.151
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jle case.0x480dae.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [eax + 0x8c], ecx
je case.0x480dae.151
cmp ebp, dword [eax + 0x88]
jbe case.0x480dae.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x480dae.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x480dae.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jle case.0x480dae.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [edx + 0x88]
jbe case.0x480dae.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jle case.0x480dae.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.0x480dae.151
cmp ebp, dword [eax + 0x7c]
jb case.0x480dae.151
cmp ebp, dword [eax + 0x88]
jbe case.0x480dae.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x480dae.151
lea eax, [ecx - 0xd]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edi + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [edi + 0x7c]
jb case.0x480dae.151
cmp ebp, dword [edi + 0x88]
jbe case.0x480dae.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jle case.0x480dae.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 0x487034
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.00480b10
add esp, 8
test eax, eax
js 0x486ff4
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x486fc0
jmp 0x48702a
cmp dword [edi + 0x8c], 0
je 0x48702a
cmp ebp, dword [edi + 0x7c]
jb 0x48702a
cmp ebp, dword [edi + 0x88]
jbe 0x48702a
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jg 0x486e3f
cmp ebp, dword [esp + 0x1c]
jb 0x487084
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov edx, ebx
neg edx
lea ebp, [ebp + edx*2]
cmp ebp, dword [esp + 0x1c]
jae 0x487042
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [esi + 0x7c]
jb case.0x480dae.151
cmp ebp, dword [esi + 0x88]
jbe case.0x480dae.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jle case.0x480dae.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.0x480dae.151
cmp ebp, dword [eax + 0x88]
jbe case.0x480dae.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jle case.0x480dae.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.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x482f77
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [esp + 0x1c], ebp
mov edx, esi
cmp esi, edi
jge 0x487265
mov eax, dword [esp + 0x164]
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x18], ecx
jmp 0x4871b7
mov eax, dword [esp + 0x164]
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x48723d
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x4871fc
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 0x48720d
cmp dword [esp + 0x14], 0x6a
jmp 0x487225
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 0x487265
inc edx
lea ebp, [ebp + esi*2]
cmp edx, edi
jl 0x4871b0
jmp 0x487265
cmp dword [eax + 0x8c], 0
je 0x487265
cmp ebp, dword [eax + 0x88]
jbe 0x487265
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x486e3f
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x480dae.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x4872cf
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x4872a7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [eax + 0x88]
jbe case.0x480dae.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jmp 0x486e75
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], esi
cmp esi, edi
jge 0x4873f5
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x18], eax
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x4873c6
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x487399
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.0048a1b0
add esp, 8
test eax, eax
je 0x4873f5
mov eax, dword [esp + 0x28]
inc eax
lea ebp, [ebp + esi*2]
mov dword [esp + 0x28], eax
cmp eax, edi
jl 0x487354
jmp 0x4873f5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x4873f5
cmp ebp, dword [eax + 0x88]
jbe 0x4873f5
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x486e3f
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x1c]
je case.0x480dae.151
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x487458
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487430
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x480dae.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x480dae.151
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x8c], 1
jmp 0x486e75
cmp dword [edi + 0x8c], ecx
je case.0x480dae.151
cmp ebp, dword [edi + 0x88]
jbe case.0x480dae.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jmp 0x486e75
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [eax + 0x7c]
jb case.0x480dae.151
jmp 0x486e5b
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp edi, dword [esp + 0x14]
jge case.0x480dae.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 0x4875ed
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x4875a8
jmp 0x487590
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x4875ed
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x487590
test eax, eax
je 0x4875e0
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x4875ed
cmp eax, 1
jbe 0x4875e0
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x4875ed
cmp eax, 2
jbe 0x4875e0
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x4875ed
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x487672
cmp dword [esp + 0x18], 0
jle 0x4876c8
mov edx, dword [esp + 0x18]
add edx, edx
sub edi, edx
cmp ebp, edi
ja 0x4876c8
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x487638
lea ecx, [ecx]
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x4876c8
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x487620
test eax, eax
je 0x487670
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x4876c8
cmp eax, 1
jbe 0x487670
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x4876c8
cmp eax, 2
jbe 0x487670
mov cl, byte [ecx + 2]
cmp cl, byte [esi + 2]
jne 0x4876c8
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487550
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x480dae.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x480dae.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x486e75
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [eax + 0x88]
jbe case.0x480dae.151
mov ecx, dword [esp + 0x164]
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x486e75
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp ebx, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
cmp esi, eax
je 0x4877ae
cmp dword [esp + 0x28], eax
jne case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487782
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [edx + 0x88]
jbe case.0x480dae.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jmp 0x486e75
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp ebx, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx edx, word [ebp]
add ebp, 2
cmp esi, edx
jne case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487864
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp esi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x487965
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.0x480dae.151
cmp dword [esp + 0x28], eax
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487914
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
lea ecx, [ecx]
cmp esi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x487a51
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.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487a00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [esi + 0x88]
jbe case.0x480dae.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x486e75
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x480dae.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x486e75
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
jmp 0x486e55
cmp dword [esi + 0x8c], 0
je case.0x480dae.151
cmp ebp, dword [esi + 0x88]
jbe case.0x480dae.151
mov dword [esi + 0x64], 1
cmp dword [esi + 0x8c], 1
jmp 0x486e75
test eax, eax
js 0x488515
cmp eax, 8
ja case.default.0x48298b
jmp dword [eax*4 + 0x488db4]
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp esi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x487bc5
add ebp, 2
cmp dword [esp + 0x2c], 0
jne case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487b95
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp edi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x487ca1
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 + 0x4aa4e0]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4ac6e0]
movzx eax, byte [edx*8 + 0x4a9401]
cmp eax, 9
je 0x487cdc
cmp eax, 5
je 0x487cdc
cmp eax, 8
je 0x487cdc
xor eax, eax
jmp 0x487ce1
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487c50
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
nop
cmp esi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x487dc1
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 + 0x4aa4e0]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4ac6e0]
movzx eax, byte [edx*8 + 0x4a9401]
mov edx, dword [esp + 0x38]
xor ecx, ecx
cmp dword [eax*4 + 0x4a8c58], edx
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487d70
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp esi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x487ed4
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 + 0x4aa4e0]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4ac6e0]
movzx eax, byte [edx*8 + 0x4a9401]
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487e83
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
nop
cmp esi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x487fe1
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 + 0x4aa4e0]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4ac6e0]
movzx ecx, byte [eax*8 + 0x4a9400]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x487f90
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
lea esp, [esp]
cmp edi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4880f1
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 + 0x4aa4e0]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4ac6e0]
movzx eax, byte [edx*8 + 0x4a9401]
mov eax, dword [eax*4 + 0x4a8c58]
cmp eax, 1
je 0x48812a
cmp eax, 3
je 0x48812a
xor eax, eax
jmp 0x48812f
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x4880a0
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
lea ecx, [ecx]
cmp edi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x488211
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 + 0x4aa4e0]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4ac6e0]
movzx ecx, byte [edx*8 + 0x4a9401]
cmp dword [ecx*4 + 0x4a8c58], 6
je 0x488261
cmp eax, 9
je 0x488261
cmp eax, 0xa
je 0x488261
cmp eax, 0xc
je 0x488261
cmp eax, 0xd
je 0x488261
xor eax, eax
jmp 0x488266
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x4881c0
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp edi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x488345
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 + 0x4aa4e0]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4ac6e0]
movzx ecx, byte [edx*8 + 0x4a9401]
cmp dword [ecx*4 + 0x4a8c58], 6
je 0x48839e
cmp eax, 9
je 0x48839e
cmp eax, 0xa
je 0x48839e
cmp eax, 0xb
je 0x48839e
cmp eax, 0xc
je 0x48839e
cmp eax, 0xd
je 0x48839e
xor eax, eax
jmp 0x4883a3
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x4882f4
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp edi, dword [esp + 0x14]
jge case.0x480dae.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x487b01
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x488482
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 + 0x4aa4e0]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4ac6e0]
movzx ecx, byte [edx*8 + 0x4a9401]
mov ecx, dword [ecx*4 + 0x4a8c58]
cmp ecx, 1
je 0x4884c6
cmp ecx, 3
je 0x4884c6
cmp eax, 0x5f
je 0x4884c6
xor eax, eax
jmp 0x4884cb
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x488431
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 0x4886a9
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
mov eax, dword [esp + 0x164]
cmp edi, dword [esp + 0x14]
jge case.0x480dae.151
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x487b01
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x4885b7
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 + 0x4aa4e0]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4ac6e0]
movzx ecx, byte [eax*8 + 0x4a9401]
cmp dword [ecx*4 + 0x4a8c58], 2
je case.0x480dae.151
cmp ebp, edx
jae 0x488662
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x48862c
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 + 0x4aa4e0]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4ac6e0]
movzx eax, byte [eax*8 + 0x4a9401]
cmp dword [eax*4 + 0x4a8c58], 2
jne 0x488662
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x4885f1
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x488564
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.00480cc0
add esp, 0x1c
test eax, eax
jne 0x488aa6
cmp edi, dword [esp + 0x14]
jge case.0x480dae.151
cmp ebp, dword [esi + 0x7c]
jae 0x487a9b
cmp dword [esp + 0x18], 0xc
jne 0x488761
mov eax, dword [esi + 0x18]
test eax, eax
je 0x488731
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00489fb0
add esp, 8
test eax, eax
jne case.0x480dae.151
mov esi, dword [esp + 0x164]
jmp 0x488761
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x7c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x488761
mov cx, word [ebp]
cmp cx, word [esi + 0x2c]
jne 0x488761
cmp eax, 1
je case.0x480dae.151
mov dx, word [ebp + 2]
cmp dx, word [esi + 0x2e]
je case.0x480dae.151
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x488798
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.0x48298b
jmp dword [ecx*4 + 0x488dd8]
cmp eax, 0xd
ja 0x4887ed
je 0x4887d1
cmp eax, 0xa
je case.0x4887a8.12
jbe case.0x480dae.151
cmp eax, 0xc
jmp 0x488804
cmp ebp, dword [esi + 0x7c]
jae case.0x4887a8.12
cmp word [ebp], 0xa
jne case.0x4887a8.12
add ebp, 2
jmp case.0x4887a8.12
cmp eax, 0x85
je 0x48880a
cmp eax, 0x2027
jbe case.0x480dae.151
cmp eax, 0x2029
ja case.0x480dae.151
cmp dword [esi + 0x68], 0
jne case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x180e
ja 0x488852
je case.0x480dae.151
cmp eax, 0xa0
ja 0x488848
je case.0x480dae.151
cmp eax, 9
je case.0x480dae.151
cmp eax, 0x20
jmp 0x488a23
cmp eax, 0x1680
jmp 0x488a23
cmp eax, 0x205f
ja 0x48887f
je case.0x480dae.151
cmp eax, 0x2000
jb case.0x4887a8.12
cmp eax, 0x200a
jbe case.0x480dae.151
cmp eax, 0x202f
jmp 0x488a23
cmp eax, 0x3000
jmp 0x488a23
cmp eax, 0x180e
ja 0x4888ce
je case.0x4887a8.12
cmp eax, 0xa0
ja 0x4888be
je case.0x4887a8.12
cmp eax, 9
je case.0x4887a8.12
cmp eax, 0x20
jne case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x1680
jne case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x205f
ja 0x488901
je case.0x4887a8.12
cmp eax, 0x2000
jb case.0x480dae.151
cmp eax, 0x200a
jbe case.0x4887a8.12
cmp eax, 0x202f
jne case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x3000
jne case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x85
ja 0x488935
je case.0x480dae.151
cmp eax, 0xa
jb case.0x4887a8.12
cmp eax, 0xd
jbe case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x2028
jb case.0x4887a8.12
cmp eax, 0x2029
jbe case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x85
ja 0x488974
je case.0x4887a8.12
cmp eax, 0xa
jb case.0x480dae.151
cmp eax, 0xd
ja case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x2028
jb case.0x480dae.151
cmp eax, 0x2029
ja case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x100
jae case.0x4887a8.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 4
jne case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x100
jae case.0x480dae.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 4
jmp 0x488a23
cmp eax, 0x100
jae case.0x4887a8.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 1
jne case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x100
jae case.0x480dae.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 1
jmp 0x488a23
cmp eax, 0x100
jae case.0x4887a8.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x480dae.151
jmp case.0x4887a8.12
cmp eax, 0x100
jae case.0x480dae.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 0x10
je case.0x480dae.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.00480cc0
add esp, 0x1c
test eax, eax
je 0x4886da
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.00480cc0
add esp, 0x1c
test eax, eax
je 0x485816
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