Function at 0x47f240
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 0x47f2a0
cmp dword [esp + 0x16c], eax
jne 0x47f280
push 1
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0x184]
push eax
call fcn.0047f240
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 0x484bee
mov ebp, dword [esp + 0x154]
jmp 0x47f2c5
xor eax, eax
inc ecx
mov dword [ebx], ecx
mov ecx, dword [esp + 0x16c]
cmp ecx, dword [ebx + 8]
jae 0x484c00
cmp dword [ebx + 0x9c], 2
jne 0x47f301
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.0x47f32e.98
movzx edi, byte [edx + 0x48717c]
jmp dword [edi*4 + 0x487034]
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x70], ecx
je 0x484ebb
movzx edx, byte [edx + 0x4a6a58]
movzx eax, word [esi + 2]
add edx, eax
lea ecx, [esi + edx*2]
mov dword [esp + 0x158], ecx
jmp 0x47f301
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.0047f240
add esp, 0x1c
cmp eax, 1
je 0x47f475
cmp eax, 0xfffffc20
jne 0x47f3de
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x487026
cmp word [esi], 0x71
je 0x47f3e6
cmp word [ecx], 0x71
jmp 0x47f3e0
test eax, eax
jne 0x487026
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 0x47f380
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x7c
je 0x47f420
cmp eax, 0x71
jne case.0x47f32e.151
jmp 0x47f420
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 0x47f420
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 0x47f466
cmp ebp, dword [esp + 0x20]
jne 0x48486d
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x47f301
mov edi, dword [ebx + 0x80]
mov dword [esp + 0x15c], edi
jmp 0x47f40a
mov dword [esp + 0x24], ecx
jmp 0x47ff89
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
mov ebx, dword [esp + 0x164]
jne 0x47f584
mov ecx, dword [0x4c3f60]
test ecx, ecx
je 0x47f57a
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.0x47f32e.151
js 0x487026
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 0x47f78a
cmp ecx, 0x8a
je 0x47f78a
cmp ecx, 0x87
je 0x47f61b
cmp ecx, 0x88
je 0x47f61b
cmp ecx, 0x8b
jne 0x47f5c7
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x47f8c8
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.0047f240
add esp, 0x1c
cmp eax, 1
je 0x484810
test eax, eax
je 0x47f60f
cmp eax, 0xfffffc20
jne 0x487026
mov edx, dword [esp + 0x14]
lea eax, [esi + edi*2]
jmp 0x47f8c8
movzx eax, word [esi + 6]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x47f637
mov edi, dword [ebx + 0xc]
cmp dword [edi + eax*4], 0
jge 0x47f775
mov dword [esp + 0x20], 0
cmp ecx, 0x88
jne 0x47f73f
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 0x47f672
lea ecx, [ecx]
movzx edx, word [esi]
cmp edx, eax
je 0x47f672
mov edx, dword [ebx + 0x24]
inc edi
lea esi, [esi + edx*2]
cmp edi, ecx
jl 0x47f660
cmp edi, ecx
jge 0x47f73f
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x28]
mov ebx, esi
mov dword [esp + 0x30], eax
cmp esi, eax
jbe 0x47f6e3
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.00488240
test eax, eax
jne 0x47f6e3
movzx eax, word [ebx]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x47f6d5
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x47f764
mov dword [esp + 0x20], 0
cmp ebx, dword [esp + 0x30]
ja 0x47f6a0
inc edi
cmp edi, dword [esp + 0x18]
jge 0x47f73f
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.00488240
test eax, eax
jne 0x47f73f
movzx eax, word [esi]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x47f730
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x47f768
inc edi
mov dword [esp + 0x20], 0
cmp edi, dword [esp + 0x18]
jl 0x47f700
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 0x47f8bd
mov ebx, edx
jmp 0x47f76a
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 0x47f8bd
cmp dword [ebx + 0xa8], 0
jne 0x47f79f
movzx ecx, word [esi + 2]
lea eax, [esi + ecx*2]
jmp 0x47f8c8
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x47f8e1
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
cmp edx, eax
je 0x47f8e1
mov dword [esp + 0x20], 0
cmp ecx, 0x8a
jne 0x47f894
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 0x47f802
nop
movzx edi, word [esi]
cmp edi, edx
je 0x47f802
mov edi, dword [ecx + 0x24]
inc ebx
lea esi, [esi + edi*2]
cmp ebx, eax
jl 0x47f7f0
cmp ebx, eax
jge 0x47f894
mov eax, dword [ecx + 0x28]
mov edi, esi
mov dword [esp + 0x34], eax
cmp esi, eax
jbe 0x47f84f
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.00488240
test eax, eax
jne 0x47f84f
movzx ecx, word [edi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x47f8e9
cmp edi, dword [esp + 0x34]
ja 0x47f820
inc ebx
cmp ebx, dword [esp + 0x18]
jge 0x47f894
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.00488240
test eax, eax
jne 0x47f894
movzx ecx, word [esi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x47f8e9
inc ebx
cmp ebx, dword [esp + 0x18]
jl 0x47f869
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 0x484852
cmp word [eax], 0x71
je 0x484852
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x47f301
mov dword [esp + 0x20], 1
mov eax, 2
jmp 0x47f89f
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 0x47f924
add dword [esp + 0x158], 4
mov dword [ecx + 0x40], 1
jmp 0x47f301
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 0x47f953
add eax, 2
mov dword [esp + 0x160], eax
add dword [esp + 0x158], 4
jmp 0x47f301
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0xb0]
mov eax, 1
mov dword [esp + 0x24], edx
cmp dword [esi + 0x9c], eax
jne 0x47f98a
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x47f98e
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.0047f240
add esp, 0x1c
cmp eax, 1
je 0x47fa04
cmp eax, 0xfffffc19
je 0x47fa04
test eax, eax
je 0x47f9dd
cmp eax, 0xfffffc20
jne 0x487026
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 0x47f9a0
jmp 0x47fa11
mov edx, dword [esi + 0x80]
mov dword [esp + 0x15c], edx
mov eax, dword [esp + 0x158]
cmp word [eax], 0x72
je case.0x47f32e.151
cmp dword [esp + 0x20], 0
jne 0x485271
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 0x47fa30
mov edx, dword [esi + 0x90]
add dword [esp + 0x158], 4
mov dword [esp + 0x160], edx
jmp 0x47f301
mov esi, dword [esp + 0x164]
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x24], eax
mov eax, 1
cmp dword [esi + 0x9c], eax
jne 0x47fa90
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x47fa94
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.0047f240
mov ecx, dword [esp + 0x40]
add esp, 0x1c
mov dword [esi + 0xb0], ecx
cmp eax, 1
je case.0x47f32e.151
cmp eax, 0xfffffc19
je case.0x47f32e.151
cmp eax, 0xfffffc1e
je 0x47fb20
cmp eax, 0xfffffc1d
je 0x47fb20
cmp eax, 0xfffffc1a
je 0x47fb20
test eax, eax
je 0x47fb06
cmp eax, 0xfffffc20
jne 0x487026
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea eax, [edi + edx*2]
mov dword [esp + 0x158], eax
jne 0x47fb3c
jmp 0x47fa9b
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 0x47fb20
cmp dword [esp + 0x20], 0
jne 0x485271
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x47f301
movzx eax, word [esi + 2]
mov edx, dword [esp + 0x164]
cmp eax, ecx
jle 0x47fb91
mov ecx, dword [edx + 0x78]
sub ebp, 2
dec eax
cmp ebp, ecx
jb case.0x47f32e.151
mov di, word [ebp]
mov ebx, 0xfc00
and di, bx
mov ebx, 0xdc00
cmp di, bx
jne 0x47fb8d
sub ebp, 2
test eax, eax
jg 0x47fb68
cmp ebp, dword [edx + 0x88]
jae 0x47fb9f
mov dword [edx + 0x88], ebp
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x47f301
mov esi, dword [0x4c3f60]
mov edi, dword [esp + 0x158]
test esi, esi
je 0x47fc84
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.0x47f32e.151
js 0x487026
add edi, 0xc
mov dword [esp + 0x158], edi
jmp 0x47f301
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 0x47fcb3
xor ecx, ecx
jmp 0x47fcb7
movzx ecx, word [esi + 4]
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x47fcd5
cmp ecx, dword [eax + 4]
jne 0x47fccf
cmp ebp, dword [eax + 0x10]
je 0x4851cc
mov eax, dword [eax]
test eax, eax
jne 0x47fcc1
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 0x47fd12
lea eax, [esp + 0xd8]
mov dword [esp + 0x48], eax
jmp 0x47fd33
lea eax, [ecx*4]
push eax
call dword [0x4be368]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x4851dc
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebx + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00490c80
mov eax, 0x82
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
test eax, eax
je 0x47fd62
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 + 0x4a6a58]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.0047f240
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.00490c80
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov dword [ebx + 0xa8], eax
cmp edi, 1
je 0x47fe06
cmp edi, 0xfffffc19
je 0x47fe06
test edi, edi
je 0x47fde1
cmp edi, 0xfffffc20
jne 0x4851ec
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 0x485216
mov eax, dword [esp + 0x20]
jmp 0x47fd54
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x47fe1f
push eax
call dword [0x4be36c]
add esp, 4
mov edx, dword [ebx + 0x80]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x15c], edx
jmp 0x47f301
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.0x47f32e.113
jmp 0x47f301
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
jmp 0x47feb0
movzx ecx, word [esi + 2]
cmp word [esi + ecx*2], 0x71
lea esi, [esi + ecx*2]
je 0x47feb0
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x47f301
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 0x47fee0
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov dword [esp + 0x158], esi
jmp 0x47f301
lea eax, [esi + 2]
jmp 0x47ff40
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
je 0x47ff40
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x47f301
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 0x47ff89
cmp eax, 0x85
jne 0x48013b
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 0x480133
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 0x48000f
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 + 0x4a6a58]
push ecx
lea ecx, [edi + eax*2]
push ecx
push ebp
call fcn.0047f240
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x480086
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 0x47ffe0
cmp eax, 0xfffffc20
jne 0x4800ac
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x487026
cmp word [edi], 0x71
je 0x4800b4
cmp word [ecx], 0x71
jmp 0x4800ae
test eax, eax
jne 0x487026
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 0x47ffe0
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x48010a
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 0x480119
test edx, edx
je case.0x47f32e.151
add dword [esp + 0x158], 4
jmp 0x47f301
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x24], ecx
jmp 0x480142
xor ecx, ecx
mov dword [esp + 0x24], ecx
jmp 0x480142
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 0x48017a
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 + 0x4a6a58]
push edi
push ebx
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.0047f240
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x4801da
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 0x480166
cmp eax, 0xfffffc20
jne 0x480200
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [edi + 0x80], ecx
jae 0x487026
cmp word [esi], 0x71
je 0x480208
cmp word [ecx], 0x71
jmp 0x480202
test eax, eax
jne 0x487026
movzx edx, word [esi + 2]
cmp word [esi + edx*2], 0x71
lea esi, [esi + edx*2]
je 0x480166
cmp dword [esp + 0x18], 0
jne 0x48022c
cmp dword [esp + 0x24], 0
je case.0x47f32e.151
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x47f301
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 0x48026c
cmp eax, 0x7b
je 0x48026c
mov dword [esp + 0x20], 0
jmp 0x480283
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 0x480291
cmp eax, 0x7a
jbe 0x48524a
cmp eax, 0x7c
je 0x48524a
cmp eax, 0x7f
je 0x4802c1
mov edx, 0x84
cmp ax, dx
je 0x4802c1
mov edx, 0x80
cmp ax, dx
je 0x4802c1
mov edx, 0x85
cmp ax, dx
jne 0x48035f
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 0x4802eb
mov esi, dword [ebx + 0xa8]
cmp dword [esi + 4], eax
je 0x485281
mov esi, dword [esp + 0x160]
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x480309
mov dword [ebx + 0x40], 1
jmp 0x48036d
cmp edx, esi
jle 0x48032a
mov eax, dword [ebx + 0xc]
lea edi, [eax + esi*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x480326
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 0x48036d
lea esi, [edx + 2]
mov dword [esp + 0x160], esi
jmp 0x48036d
mov esi, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
cmp word [ecx], 0x72
je 0x48037d
cmp ebp, dword [esp + 0x20]
jne 0x484b04
cmp word [edi], 0x7b
je 0x485346
add ecx, 4
mov dword [esp + 0x158], ecx
jmp 0x47f301
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x4803b4
cmp ebp, dword [eax + 0x78]
je case.0x47f32e.151
jmp 0x4803b4
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x78]
jne case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x4803e1
cmp ebp, dword [eax + 0x78]
je case.0x47f32e.151
mov edx, dword [eax + 0x78]
cmp ebp, edx
je 0x480460
cmp ebp, dword [eax + 0x7c]
je case.0x47f32e.151
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x480429
cmp ebp, edx
jbe case.0x47f32e.151
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.004883b0
add esp, 8
test eax, eax
je case.0x47f32e.151
add dword [esp + 0x158], 2
jmp 0x47f301
mov esi, dword [eax + 0x1c]
mov ecx, dword [eax + 0x78]
lea edx, [esi + esi]
add ecx, edx
cmp ebp, ecx
jb case.0x47f32e.151
mov ecx, ebp
sub ecx, edx
mov dx, word [ecx]
cmp dx, word [eax + 0x2c]
jne case.0x47f32e.151
cmp esi, 1
je 0x480460
mov cx, word [ecx + 2]
cmp cx, word [eax + 0x2e]
jne case.0x47f32e.151
add dword [esp + 0x158], 2
jmp 0x47f301
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.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
add esi, 2
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x158], esi
jmp 0x47f301
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x480538
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x4804f5
mov edx, dword [eax + 0x7c]
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.004882f0
add esp, 8
test eax, eax
je case.0x47f32e.151
mov esi, dword [esp + 0x158]
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov ecx, dword [eax + 0x1c]
mov edi, dword [eax + 0x7c]
lea edx, [ecx + ecx]
sub edi, edx
cmp ebp, edi
ja case.0x47f32e.151
mov dx, word [ebp]
cmp dx, word [eax + 0x2c]
jne case.0x47f32e.151
cmp ecx, 1
je 0x480565
mov cx, word [ebp + 2]
cmp cx, word [eax + 0x2e]
jne case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
cmp dword [eax + 0x48], ecx
jne case.0x47f32e.151
cmp dword [eax + 0x8c], ecx
je 0x480565
cmp ebp, dword [eax + 0x88]
jbe 0x480565
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x4853bf
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x48], ecx
jne case.0x47f32e.151
cmp dword [ebx + 0x58], ecx
je 0x4805d5
jmp 0x480592
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jb case.0x47f32e.151
cmp dword [ebx + 0x8c], ecx
je 0x4805bf
cmp ebp, dword [ebx + 0x88]
jbe 0x4805bf
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x4853bf
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jae 0x480646
mov eax, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
cmp eax, ecx
je 0x480602
mov edx, dword [ebx + 0x7c]
push 1
push eax
mov ecx, ebp
call fcn.004882f0
add esp, 8
test eax, eax
je case.0x47f32e.151
jmp 0x480635
mov eax, dword [esi]
mov ecx, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub ecx, edx
cmp ebp, ecx
ja case.0x47f32e.151
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne case.0x47f32e.151
cmp eax, 1
je 0x480635
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
jne case.0x47f32e.151
mov ecx, dword [esi]
mov edx, dword [ebx + 0x7c]
add ecx, ecx
sub edx, ecx
cmp ebp, edx
jne case.0x47f32e.151
cmp dword [ebx + 0x8c], 0
je 0x48066b
cmp ebp, dword [ebx + 0x88]
jbe 0x48066b
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x4853bf
add dword [esp + 0x158], 2
jmp 0x47f301
mov edx, dword [esp + 0x164]
cmp ebp, dword [edx + 0x78]
je 0x480744
mov ax, word [ebp - 2]
lea ecx, [ebp - 2]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x4806a4
sub ecx, 2
cmp ecx, dword [edx + 0x88]
jae 0x4806b2
mov dword [edx + 0x88], ecx
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4806de
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 0x48072d
cmp eax, 0x5f
jne 0x4806f1
lea ecx, [eax - 0x5e]
jmp 0x480746
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4a8380]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4aa580]
movzx ecx, byte [eax*8 + 0x4a72a1]
mov eax, dword [ecx*4 + 0x4a6af8]
cmp eax, 1
je 0x480726
cmp eax, 3
jne 0x480744
mov ecx, 1
jmp 0x480746
cmp eax, 0x100
jae 0x480744
mov ecx, dword [edx + 0x3c]
test byte [eax + ecx], 0x10
je 0x480744
mov ecx, 1
jmp 0x480746
xor ecx, ecx
cmp ebp, dword [edx + 0x7c]
jb 0x480795
cmp dword [edx + 0x8c], 0
je 0x480770
cmp ebp, dword [edx + 0x88]
jbe 0x480770
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x4853bf
xor eax, eax
mov dx, word [esi]
add esi, 2
mov dword [esp + 0x158], esi
cmp dx, 5
jne 0x480839
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x480840
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4807c2
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 0x480817
cmp eax, 0x5f
jne 0x4807d4
mov eax, 1
jmp 0x480772
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a8380]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4aa580]
movzx edx, byte [eax*8 + 0x4a72a1]
mov eax, dword [edx*4 + 0x4a6af8]
cmp eax, 1
je 0x48080d
cmp eax, 3
jne 0x480770
mov eax, 1
jmp 0x480772
cmp eax, 0x100
jae 0x480770
mov edx, dword [edx + 0x3c]
test byte [eax + edx], 0x10
je 0x480770
mov eax, 1
jmp 0x480772
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x47f301
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 0x480894
cmp ebp, dword [ebx + 0x7c]
jae 0x4808cd
mov edx, dword [ebx + 0x7c]
push 1
lea esi, [ebx + 0x1c]
push eax
mov ecx, ebp
call fcn.004882f0
add esp, 8
test eax, eax
jne case.0x47f32e.151
mov esi, dword [esp + 0x158]
xor ecx, ecx
jmp 0x4808cd
mov eax, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x4808cd
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne 0x4808cd
cmp eax, 1
je case.0x47f32e.151
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
je case.0x47f32e.151
jmp 0x4808cd
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x7c]
cmp ebp, eax
jae 0x485393
add ebp, 2
cmp ebp, eax
jae 0x4808f8
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x4808f8
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4853cf
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48540b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48096c
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 0x480980
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
jne case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48540b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4809d2
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.0x47f32e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
je case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48540b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x480a3c
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 0x480a50
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
jne case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48540b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x480aa2
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.0x47f32e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
je case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48540b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x480b0c
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 0x480b20
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48540b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x480b72
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.0x47f32e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
je case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x485448
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x480bde
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 0x480c12
je 0x480bf5
cmp eax, 0xa
je 0x480c39
jbe case.0x47f32e.151
cmp eax, 0xc
jmp 0x480c29
cmp ebp, ecx
jae 0x480c39
cmp word [ebp], 0xa
jne 0x480c39
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
cmp eax, 0x85
je 0x480c2f
cmp eax, 0x2027
jbe case.0x47f32e.151
cmp eax, 0x2029
ja case.0x47f32e.151
cmp dword [edx + 0x68], 0
jne case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4853cf
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x480c8b
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 0x480cba
je case.0x47f32e.151
cmp eax, 0xa0
ja 0x480cb3
je case.0x47f32e.151
cmp eax, 9
je case.0x47f32e.151
cmp eax, 0x20
jmp 0x480ce5
cmp eax, 0x1680
jmp 0x480ce5
cmp eax, 0x205f
ja 0x480ce0
je case.0x47f32e.151
cmp eax, 0x2000
jb 0x480ceb
cmp eax, 0x200a
jbe case.0x47f32e.151
cmp eax, 0x202f
jmp 0x480ce5
cmp eax, 0x3000
je case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4853cf
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x480d3d
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 0x480d60
je 0x480d8d
cmp eax, 0xa0
ja 0x480d59
je 0x480d8d
cmp eax, 9
je 0x480d8d
cmp eax, 0x20
jmp 0x480d87
cmp eax, 0x1680
jmp 0x480d87
cmp eax, 0x205f
ja 0x480d82
je 0x480d8d
cmp eax, 0x2000
jb case.0x47f32e.151
cmp eax, 0x200a
jbe 0x480d8d
cmp eax, 0x202f
jmp 0x480d87
cmp eax, 0x3000
jne case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4853cf
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x480ddf
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 0x480df6
je case.0x47f32e.151
cmp eax, 0xa
jb 0x480e08
cmp eax, 0xd
jmp 0x480e02
cmp eax, 0x2028
jb 0x480e08
cmp eax, 0x2029
jbe case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4853cf
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x480e5a
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 0x480e71
je 0x480e87
cmp eax, 0xa
jb case.0x47f32e.151
cmp eax, 0xd
jmp 0x480e81
cmp eax, 0x2028
jb case.0x47f32e.151
cmp eax, 0x2029
ja case.0x47f32e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x47f301
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4853cf
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x480ed9
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 + 0x4a8380]
shl ecx, 7
mov edx, eax
and edx, 0x7f
add ecx, edx
movzx edx, word [esi + 2]
movzx ecx, word [ecx*2 + 0x4aa580]
lea ecx, [ecx*8 + 0x4a72a0]
cmp edx, 8
ja case.default.0x480f0b
jmp dword [edx*4 + 0x487218]
cmp dword [esp + 0x14], 0xf
jmp 0x48103b
mov cl, byte [ecx + 1]
cmp cl, 9
je 0x48102a
cmp cl, 5
je 0x48102a
cmp cl, 8
je 0x48102a
xor eax, eax
jmp 0x48102f
movzx edx, byte [ecx + 1]
movzx eax, word [esi + 4]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x4a6af8]
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x48103b
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 0x48103b
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 0x48103b
movzx eax, byte [ecx + 1]
mov eax, dword [eax*4 + 0x4a6af8]
cmp eax, 1
je 0x48102a
cmp eax, 3
je 0x48102a
xor eax, eax
jmp 0x48102f
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4a6af8], 6
je 0x48102a
cmp eax, 9
je 0x48102a
cmp eax, 0xa
je 0x48102a
cmp eax, 0xc
je 0x48102a
cmp eax, 0xd
je 0x48102a
xor eax, eax
jmp 0x48102f
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4a6af8], 6
je 0x48102a
cmp eax, 9
je 0x48102a
cmp eax, 0xa
je 0x48102a
cmp eax, 0xb
jmp 0x480fdf
movzx edx, byte [ecx + 1]
mov ecx, dword [edx*4 + 0x4a6af8]
cmp ecx, 1
je 0x48102a
cmp ecx, 3
je 0x48102a
cmp eax, 0x5f
je 0x48102a
xor eax, eax
jmp 0x48102f
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x14], 0xf
sete cl
cmp eax, ecx
je case.0x47f32e.151
add esi, 6
mov dword [esp + 0x158], esi
jmp 0x47f301
mov eax, dword [esp + 0x164]
mov edi, dword [eax + 0x7c]
cmp ebp, edi
jae 0x4853cf
movzx eax, word [ebp]
mov ecx, eax
mov edx, 2
and ecx, 0xfc00
add ebp, edx
cmp ecx, 0xd800
jne 0x481098
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 + 0x4a8380]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4aa580]
movzx ecx, byte [eax*8 + 0x4a72a1]
cmp dword [ecx*4 + 0x4a6af8], edx
je case.0x47f32e.151
cmp ebp, edi
jae 0x48113a
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x481105
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 + 0x4a8380]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
cmp dword [eax*4 + 0x4a6af8], edx
jne 0x48113a
lea ebp, [ebp + ecx*2]
cmp ebp, edi
jb 0x4810d1
add esi, edx
mov dword [esp + 0x158], esi
jmp 0x47f301
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 0x48118f
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 0x48118f
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x4811a0
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.0x4811bf
movzx edx, byte [edx + 0x487244]
jmp dword [edx*4 + 0x48723c]
movsx edi, byte [eax + 0x4b625e]
add ecx, 2
mov dword [esp + 0x158], ecx
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x4b6266]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x481228
mov dword [esp + 0x14], SysStringLen
jmp 0x481228
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 0x48121e
mov dword [esp + 0x14], SysStringLen
add ecx, 6
mov dword [esp + 0x158], ecx
test ebx, ebx
je 0x47f301
jns 0x48123a
test edi, edi
je 0x47f301
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x481282
jmp 0x481250
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x164]
push ecx
push esi
mov eax, ebx
mov ecx, ebp
call fcn.0047f090
add esp, 8
test eax, eax
js 0x485495
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x481250
mov eax, dword [esp + 0x14]
cmp edi, eax
je 0x47f301
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
je 0x485526
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x18]
push eax
push esi
mov edx, edi
mov eax, ebx
mov ecx, ebp
call fcn.0047f090
add esp, 8
test eax, eax
js 0x4854e0
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.0047f240
add esp, 0x1c
test eax, eax
je 0x4812e6
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.0047f090
add esp, 8
test eax, eax
js 0x485611
lea ebp, [ebp + eax*2]
jmp 0x47f301
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.0x4813b0
movzx edx, byte [edx + 0x487254]
jmp dword [edx*4 + 0x48724c]
movsx edi, byte [eax + 0x4b6266]
add dword [esp + 0x158], 2
movsx esi, byte [eax + 0x4b625e]
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x481419
mov edi, SysReAllocString
jmp 0x481419
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 0x481406
mov edi, SysReAllocString
add eax, 6
mov dword [esp + 0x158], eax
jmp 0x481419
mov edi, 1
mov esi, edi
mov edx, 1
cmp esi, edx
jl 0x4814a2
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x485657
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x481471
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 0x48147f
cmp dword [esp + 0x14], 0x6a
jmp 0x481497
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.0x47f32e.151
inc edx
cmp edx, esi
jle 0x481434
cmp esi, edi
je 0x47f301
cmp dword [esp + 0x1c], 0
je 0x485700
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp esi, edi
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x481542
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 0x48569b
cmp dword [esp + 0x14], 0x6a
jmp 0x4856b3
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.0x481584
movzx edx, byte [edx + 0x487264]
jmp dword [edx*4 + 0x48725c]
movsx edi, byte [eax + 0x4b6266]
movsx esi, byte [eax + 0x4b625e]
lea ecx, [eax - 0x62]
add ebx, 2
and ecx, 1
mov dword [esp + 0x158], ebx
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x4815e8
mov edi, SysReAllocString
jmp 0x4815e8
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 0x4815d5
mov edi, SysReAllocString
add ebx, 6
mov dword [esp + 0x158], ebx
jmp 0x4815e8
mov edi, 1
mov esi, edi
mov dword [esp + 0x28], 1
cmp esi, 1
jl 0x481668
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
mov dword [esp + 0x18], edx
cmp ebp, dword [esp + 0x18]
jae 0x485883
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x481644
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.004884f0
add esp, 8
test eax, eax
je case.0x47f32e.151
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, esi
jle 0x481607
cmp esi, edi
je 0x47f301
cmp dword [esp + 0x1c], 0
je 0x4858b6
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
jmp 0x4816c0
mov eax, dword [esp + 0x164]
cmp esi, edi
jge case.0x47f32e.151
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48170b
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.004884f0
add esp, 8
test eax, eax
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x4816c0
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 0x481793
mov eax, 2
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
sub edx, ebp
sar edx, 1
cmp eax, edx
jg 0x485a0c
test eax, eax
jle 0x47f301
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.0x47f32e.151
test eax, eax
jg 0x4817b1
jmp 0x47f301
mov edi, dword [esp + 0x164]
cmp ebp, dword [edi + 0x7c]
jae 0x485a41
movzx eax, word [esi + 2]
mov ecx, eax
and ecx, 0xfc00
mov edx, 1
cmp ecx, 0xd800
jne 0x48181f
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 0x48185c
mov edx, 0xff
cmp cx, dx
ja 0x48183b
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.0x47f32e.151
add esi, 4
mov dword [esp + 0x158], esi
add ebp, 2
jmp 0x47f301
mov edi, ecx
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48188d
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 0x47f301
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a8380]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4aa580]
mov edx, dword [edx*8 + 0x4a72a4]
add edx, eax
cmp ecx, edx
je 0x47f301
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 0x4819ba
mov dword [esp + 0x20], 1
movzx ebx, word [esi + 2]
xor edi, edi
mov dword [esp + 0x14], ebx
cmp eax, 0x28
je 0x481913
mov dword [esp + 0x1c], ecx
cmp eax, 0x35
jne 0x48191b
mov dword [esp + 0x1c], 1
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x4819ba
xor edi, edi
add esi, 2
mov dword [esp + 0x20], 1
mov dword [esp + 0x158], esi
jmp 0x4819b2
mov edi, 1
add esi, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x158], esi
jmp 0x4819b2
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 0x4819ba
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 + 0x4b62c0]
mov ecx, eax
movsx eax, byte [eax + 0x4b62c8]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4819ba
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 0x481a03
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 0x481d7c
cmp edx, 0x2e
jl 0x481a5c
mov edx, esi
shr edx, 7
movzx eax, byte [edx + 0x4a8380]
shl eax, 7
mov ecx, esi
and ecx, 0x7f
add eax, ecx
movzx edx, word [eax*2 + 0x4aa580]
mov eax, dword [edx*8 + 0x4a72a4]
add eax, esi
cmp eax, esi
je 0x481a5c
lea ecx, [esp + 0x5c]
call fcn.00488490
mov dword [esp + 0x18], eax
jmp 0x481a64
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x481b80
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x3c], eax
sub eax, ebx
mov dword [esp + 0x34], eax
jmp 0x481a94
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x481af5
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x481ac4
lea ecx, [ecx]
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x481af5
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x481ab0
test eax, eax
je 0x481ae8
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x481af5
cmp eax, 1
jbe 0x481ae8
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x481af5
cmp eax, 2
jbe 0x481ae8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x481af5
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x481b6f
cmp dword [esp + 0x18], 0
jle 0x485a6c
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
add edx, edx
sub ecx, edx
cmp ebp, ecx
ja 0x485a6c
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x481b3d
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x485a6c
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x481b25
test eax, eax
je 0x481b6d
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x485a6c
cmp eax, 1
jbe 0x481b6d
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x485a6c
cmp eax, 2
jbe 0x481b6d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x485a6c
add ebp, edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x481a90
cmp edi, dword [esp + 0x14]
je 0x47f301
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
jne 0x485a8e
mov dword [esp + 0x1c], ebp
cmp edi, dword [esp + 0x14]
jge 0x481cd5
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 0x481bc5
mov ecx, dword [esp + 0x34]
cmp ebp, ecx
ja 0x481c29
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x481bf8
mov edi, edi
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x481c29
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x481be0
test eax, eax
je 0x481c1c
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x481c29
cmp eax, 1
jbe 0x481c1c
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x481c29
cmp eax, 2
jbe 0x481c1c
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x481c29
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x481c8f
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x481ca4
lea edi, [eax + eax]
mov ecx, edx
sub ecx, edi
cmp ebp, ecx
ja 0x481ca4
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x481c69
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x481ca4
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x481c51
test eax, eax
je 0x481c8d
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x481ca4
cmp eax, 1
jbe 0x481c8d
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x481ca4
cmp eax, 2
jbe 0x481c8d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x481ca4
add ebp, edi
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x481bc1
jmp 0x481cd5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x481cd5
cmp ebp, dword [eax + 0x7c]
jb 0x481cd5
cmp ebp, dword [eax + 0x88]
jbe 0x481cd5
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x4853bf
cmp dword [esp + 0x20], 0
jne 0x47f301
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp ebp, dword [esp + 0x1c]
je case.0x47f32e.151
mov dx, word [ebp - 2]
sub ebp, 2
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x481d48
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.0047f240
add esp, 0x1c
test eax, eax
je 0x481d22
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edx, 0x2e
jl 0x481ef3
cmp esi, 0x7f
jbe 0x481db7
mov ecx, esi
shr ecx, 7
movzx edx, byte [ecx + 0x4a8380]
shl edx, 7
mov eax, esi
and eax, 0x7f
add edx, eax
movzx ecx, word [edx*2 + 0x4aa580]
mov edx, dword [ecx*8 + 0x4a72a4]
add edx, esi
mov dword [esp + 0x28], edx
jmp 0x481dd9
cmp esi, 0xff
ja 0x481dd3
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax + esi]
mov dword [esp + 0x28], edx
jmp 0x481dd9
mov edx, esi
mov dword [esp + 0x28], esi
mov ecx, 1
cmp edi, ecx
jl 0x481e0c
mov eax, dword [esp + 0x164]
mov ebx, dword [eax + 0x7c]
cmp ebp, ebx
jae 0x485c84
movzx eax, word [ebp]
cmp esi, eax
je 0x481e04
cmp edx, eax
jne case.0x47f32e.151
inc ecx
add ebp, 2
cmp ecx, edi
jle 0x481dec
mov ebx, dword [esp + 0x14]
cmp edi, ebx
je 0x47f301
cmp dword [esp + 0x1c], 0
jne 0x485cbe
mov dword [esp + 0x1c], ebp
mov eax, edi
cmp edi, ebx
jge 0x481e86
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
jmp 0x481e47
mov ecx, dword [esp + 0x164]
cmp ebp, edi
jae 0x481e61
movzx ecx, word [ebp]
cmp esi, ecx
je 0x481e57
cmp edx, ecx
jne 0x481e86
inc eax
add ebp, 2
cmp eax, ebx
jl 0x481e40
jmp 0x481e86
cmp dword [ecx + 0x8c], 0
je 0x481e86
cmp ebp, dword [ecx + 0x88]
jbe 0x481e86
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jg 0x4853bf
cmp dword [esp + 0x20], 0
jne 0x47f301
cmp ebp, dword [esp + 0x1c]
jb 0x481ee6
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.0047f240
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x487026
cmp ebp, dword [esp + 0x1c]
jae 0x481eb0
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 0x481f22
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x485d74
movzx ebx, word [ebp]
add ebp, 2
cmp esi, ebx
jne case.0x47f32e.151
inc eax
cmp eax, edi
jle 0x481f06
cmp edi, dword [esp + 0x14]
je 0x47f301
cmp dword [esp + 0x1c], 0
jne 0x485da0
mov ebx, ebp
mov dword [esp + 0x1c], ebx
mov eax, edi
cmp edi, dword [esp + 0x14]
jge 0x481f8d
mov ecx, dword [edx + 0x7c]
lea esp, [esp]
cmp ebp, ecx
jae 0x481f68
movzx edi, word [ebp]
cmp esi, edi
jne 0x481f8d
inc eax
add ebp, 2
cmp eax, dword [esp + 0x14]
jl 0x481f50
jmp 0x481f8d
cmp dword [edx + 0x8c], 0
je 0x481f8d
cmp ebp, dword [edx + 0x88]
jbe 0x481f8d
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x4853bf
cmp dword [esp + 0x20], 0
jne 0x47f301
cmp ebp, ebx
jb 0x481feb
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.0047f240
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x487026
cmp ebp, dword [esp + 0x1c]
jae 0x481fb5
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 0x485a41
movzx ecx, word [ebp]
mov eax, ecx
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x48203a
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 0x4820ae
cmp eax, 0x7f
jbe 0x48207f
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4a8380]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4aa580]
mov edx, dword [edx*8 + 0x4a72a4]
add edx, eax
jmp 0x482091
cmp eax, 0xff
ja 0x48208f
mov edx, dword [edi + 0x38]
movzx edx, byte [edx + eax]
jmp 0x482091
mov edx, eax
cmp eax, ecx
je case.0x47f32e.151
cmp edx, ecx
jne 0x47f301
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, ecx
jne 0x47f301
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 0x482189
movzx edi, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x14], edi
cmp eax, 0x42
je 0x4820eb
mov dword [esp + 0x1c], ecx
cmp eax, 0x4f
jne 0x4820f3
mov dword [esp + 0x1c], 1
add esi, 4
jmp 0x482189
xor ecx, ecx
mov dword [esp + 0x20], 1
add esi, 2
jmp 0x482181
mov ecx, 1
mov dword [esp + 0x20], ecx
add esi, 2
jmp 0x482181
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
add esi, 2
jmp 0x482189
movzx eax, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x14], eax
add esi, 4
jmp 0x482189
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 + 0x4b62c0]
movsx eax, byte [eax + 0x4b62c8]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x482189
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 0x4823c0
cmp edi, 0x7f
jbe 0x4821d5
mov edx, edi
shr edx, 7
movzx eax, byte [edx + 0x4a8380]
shl eax, 7
mov edx, edi
and edx, 0x7f
add eax, edx
movzx eax, word [eax*2 + 0x4aa580]
mov esi, dword [eax*8 + 0x4a72a4]
add esi, edi
mov dword [esp + 0x28], esi
jmp 0x4821f7
cmp edi, 0xff
ja 0x4821f1
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx esi, byte [eax + edi]
mov dword [esp + 0x28], esi
jmp 0x4821f7
mov esi, edi
mov dword [esp + 0x28], edi
mov edx, 1
cmp ecx, edx
jl 0x482264
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x485883
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x48224f
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.0x47f32e.151
cmp esi, eax
je case.0x47f32e.151
inc edx
cmp edx, ecx
jle 0x482212
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x47f301
cmp dword [esp + 0x1c], 0
jne 0x485e50
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x48230e
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, 1
cmp ebp, edi
jae 0x4822e7
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4822d0
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 0x48230e
cmp dword [esp + 0x28], eax
je 0x48230e
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x482291
jmp 0x48230e
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x48230e
cmp ebp, dword [eax + 0x88]
jbe 0x48230e
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x4853bf
cmp dword [esp + 0x20], 0
jne 0x47f301
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x47f32e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x482383
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.0047f240
add esp, 0x1c
test eax, eax
je 0x48235b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ecx, edx
jl 0x482426
mov esi, dword [eax + 0x7c]
cmp ebp, esi
jae 0x485883
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x482412
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.0x47f32e.151
inc edx
cmp edx, ecx
jle 0x4823d7
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x47f301
cmp dword [esp + 0x1c], 0
jne 0x485f39
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x4824c7
mov edi, dword [eax + 0x7c]
jmp 0x482457
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x4824a7
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x482496
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 0x4824c7
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x482450
jmp 0x4824c7
cmp dword [eax + 0x8c], 0
je 0x4824c7
cmp ebp, dword [eax + 0x88]
jbe 0x4824c7
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x4853bf
cmp dword [esp + 0x20], 0
jne 0x47f301
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x47f32e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48253c
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.0047f240
add esp, 0x1c
test eax, eax
je 0x482514
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 0x482642
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 0x482642
xor ebx, ebx
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x48263a
mov ebx, 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x48263a
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 0x482642
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 0x482642
lea eax, [edx - 0x55]
movsx ebx, byte [eax + 0x4b62c0]
mov edx, eax
movsx eax, byte [eax + 0x4b62c8]
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 0x482642
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 0x48266a
cmp eax, 0xf
je 0x48266a
mov edi, dword [esp + 0x2c]
or eax, 0xffffffff
mov dword [esp + 0x28], eax
jmp 0x482693
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 0x482799
cmp eax, ecx
jl 0x482c83
cmp eax, 8
ja case.default.0x480f0b
jmp dword [eax*4 + 0x48726c]
cmp edi, ecx
jne case.0x47f32e.151
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48601b
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x4826f0
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x4826d2
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x486047
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48274c
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 + 0x4a8380]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
cmp eax, 9
je 0x482783
cmp eax, 5
je 0x482783
cmp eax, 8
je 0x482783
xor eax, eax
jmp 0x482788
mov eax, 1
cmp eax, edi
je case.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x482711
mov esi, dword [esp + 0x164]
mov edi, dword [esp + 0x14]
cmp ebx, edi
je 0x47f301
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x28]
jne 0x4860b9
mov dword [esp + 0x1c], ebp
test eax, eax
js 0x483bec
cmp eax, 8
ja case.default.0x480f0b
jmp dword [eax*4 + 0x487290]
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48607a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x482825
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 + 0x4a8380]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp dword [eax*4 + 0x4a6af8], esi
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x4827ea
jmp 0x482799
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48607a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x4828cb
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 + 0x4a8380]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
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.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x482890
jmp 0x482799
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48607a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x482966
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 + 0x4a8380]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a0]
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.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x48292b
jmp 0x482799
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x486047
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x482a01
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 + 0x4a8380]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
mov eax, dword [eax*4 + 0x4a6af8]
cmp eax, 1
je 0x482a3a
cmp eax, 3
je 0x482a3a
xor eax, eax
jmp 0x482a3f
mov eax, 1
cmp eax, edi
je case.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x4829c6
jmp 0x482799
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x486047
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x482aaa
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 + 0x4a8380]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4aa580]
movzx esi, byte [esi*8 + 0x4a72a1]
cmp dword [esi*4 + 0x4a6af8], edi
je 0x482af1
cmp eax, 9
je 0x482af1
cmp eax, 0xa
je 0x482af1
cmp eax, 0xc
je 0x482af1
cmp eax, 0xd
je 0x482af1
xor eax, eax
jmp 0x482af6
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x47f32e.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x482a6f
jmp 0x482799
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x486047
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x482b67
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 + 0x4a8380]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4aa580]
movzx esi, byte [esi*8 + 0x4a72a1]
cmp dword [esi*4 + 0x4a6af8], edi
je 0x482bb3
cmp eax, 9
je 0x482bb3
cmp eax, 0xa
je 0x482bb3
cmp eax, 0xb
je 0x482bb3
cmp eax, 0xc
je 0x482bb3
cmp eax, 0xd
je 0x482bb3
xor eax, eax
jmp 0x482bb8
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x47f32e.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x482b2c
jmp 0x482799
mov edx, 1
cmp ebx, edx
jl 0x482799
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
cmp ebp, edi
jae 0x48607a
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x482c26
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 + 0x4a8380]
shl ecx, 7
mov esi, eax
and esi, 0x7f
add ecx, esi
movzx ecx, word [ecx*2 + 0x4aa580]
movzx ecx, byte [ecx*8 + 0x4a72a1]
mov ecx, dword [ecx*4 + 0x4a6af8]
cmp ecx, 1
je 0x482c66
cmp ecx, 3
je 0x482c66
cmp eax, 0x5f
je 0x482c66
xor eax, eax
jmp 0x482c6b
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x47f32e.151
inc edx
cmp edx, ebx
jle 0x482beb
jmp 0x482799
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x482d95
lea esi, [eax - 0x15]
cmp ebx, esi
jl 0x482799
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48607a
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x482ce0
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 + 0x4a8380]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4aa580]
movzx ecx, byte [eax*8 + 0x4a72a1]
cmp dword [ecx*4 + 0x4a6af8], 2
je case.0x47f32e.151
cmp ebp, edx
jae 0x482d87
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x482d51
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 + 0x4a8380]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
cmp dword [eax*4 + 0x4a6af8], 2
jne 0x482d87
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x482d1a
inc esi
cmp esi, ebx
jle 0x482ca5
jmp 0x482799
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x480f0b
jmp dword [eax*4 + 0x4872b4]
mov edi, 1
cmp ebx, edi
jl 0x482799
mov ecx, dword [esp + 0x164]
lea esp, [esp]
cmp ebp, dword [ecx + 0x7c]
jae 0x48604e
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x482dfb
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.004882f0
add esp, 8
test eax, eax
jne case.0x47f32e.151
mov ecx, dword [esp + 0x164]
jmp 0x482e2b
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x482e2b
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x482e2b
cmp eax, 1
je case.0x47f32e.151
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je case.0x47f32e.151
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x482e4c
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov eax, 0xdc00
cmp dx, ax
jne 0x482e4c
add ebp, 2
inc edi
cmp edi, ebx
jle 0x482dc0
jmp 0x482799
mov eax, 1
cmp ebx, eax
jl 0x482799
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x48601b
add ebp, 2
cmp ebp, ecx
jae 0x482e99
mov dx, word [ebp]
mov edi, 0xfc00
and dx, di
mov edi, 0xdc00
cmp dx, di
jne 0x482e99
add ebp, 2
inc eax
cmp eax, ebx
jle 0x482e71
jmp 0x4827a0
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
lea eax, [ebx + ebx]
sub ecx, eax
cmp ebp, ecx
ja case.0x47f32e.151
add ebp, eax
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48608d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x482f13
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 0x482f38
je 0x482f28
cmp eax, 0xa
je 0x482f57
add eax, 0xfffffff5
jmp 0x482f44
cmp ebp, edx
jae 0x482f57
cmp word [ebp], 0xa
jne 0x482f57
add ebp, 2
jmp 0x482f57
cmp eax, 0x85
je 0x482f4d
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x47f32e.151
cmp dword [esi + 0x68], 0
jne case.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x482ed8
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
lea esp, [esp]
cmp ebp, edx
jae 0x48608d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x482fbb
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 0x482fed
je case.0x47f32e.151
cmp eax, 0xa0
ja 0x482fe6
je case.0x47f32e.151
cmp eax, 9
je case.0x47f32e.151
cmp eax, 0x20
jmp 0x483018
cmp eax, 0x1680
jmp 0x483018
cmp eax, 0x205f
ja 0x483013
je case.0x47f32e.151
cmp eax, 0x2000
jb 0x48301e
cmp eax, 0x200a
jbe case.0x47f32e.151
cmp eax, 0x202f
jmp 0x483018
cmp eax, 0x3000
je case.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x482f80
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48608d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48307e
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 0x4830b3
je 0x4830e0
cmp eax, 0xa0
ja 0x4830a9
je 0x4830e0
cmp eax, 9
je 0x4830e0
cmp eax, 0x20
jmp 0x4830da
cmp eax, 0x1680
jmp 0x4830da
cmp eax, 0x205f
ja 0x4830d5
je 0x4830e0
cmp eax, 0x2000
jb case.0x47f32e.151
cmp eax, 0x200a
jbe 0x4830e0
cmp eax, 0x202f
jmp 0x4830da
cmp eax, 0x3000
jne case.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x483043
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48608d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x483144
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 0x48315b
je case.0x47f32e.151
cmp eax, 0xa
jb 0x48316d
cmp eax, 0xd
jmp 0x483167
cmp eax, 0x2028
jb 0x48316d
cmp eax, 0x2029
jbe case.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x483105
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
mov edi, edi
cmp ebp, edx
jae 0x48608d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x4831cf
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 0x4831e0
je 0x4831ee
add eax, 0xfffffff6
cmp eax, 3
jmp 0x4831e8
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x483190
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x48601b
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48324f
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 0x483263
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
jne case.0x47f32e.151
inc ecx
cmp ecx, ebx
jle 0x483210
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48608d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x47f32e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
je case.0x47f32e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x483284
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x48601b
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x4832f3
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
jne case.0x47f32e.151
add ebp, 2
cmp ebp, edx
jae 0x483317
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x483317
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x4832d0
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48608d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x47f32e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
je case.0x47f32e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x483338
jmp 0x4827a0
mov ecx, 1
cmp ebx, ecx
jl 0x482799
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48601b
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x4833a6
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
jne case.0x47f32e.151
add ebp, 2
cmp ebp, edx
jae 0x4833ca
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x4833ca
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x483383
jmp 0x4827a0
mov esi, dword [esp + 0x164]
mov ecx, 1
cmp ebx, ecx
jl 0x4827a0
mov edx, dword [esi + 0x7c]
jmp 0x4833f0
cmp ebp, edx
jae 0x48608d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x47f32e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
je case.0x47f32e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x4833f0
jmp 0x4827a0
mov ecx, ebx
cmp ebx, edi
jge 0x483b3d
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
mov eax, 1
cmp ebp, edx
jae 0x48347b
mov si, word [ebp]
mov edi, 0xfc00
and si, di
mov edi, 0xd800
cmp si, di
jne 0x483460
mov eax, 2
cmp dword [esp + 0x2c], 0
jne 0x483b3d
inc ecx
lea ebp, [ebp + eax*2]
cmp ecx, dword [esp + 0x14]
jl 0x483438
jmp 0x483b3d
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x483b3d
mov ecx, eax
cmp ebp, dword [ecx + 0x88]
jbe 0x483b3d
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x483b37
mov edx, ebx
cmp ebx, edi
jge 0x483b3d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x4834d7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4836d3
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48351a
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 + 0x4a8380]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
cmp eax, 9
je 0x483551
cmp eax, 5
je 0x483551
cmp eax, 8
je 0x483551
xor eax, eax
jmp 0x483556
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x483b3d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4834d0
jmp 0x483b3d
mov edx, ebx
cmp ebx, edi
jge 0x483b3d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x38]
mov eax, ecx
jmp 0x483597
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4836d3
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4835da
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 + 0x4a8380]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
xor ebx, ebx
cmp dword [eax*4 + 0x4a6af8], edi
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x483b3d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x483590
jmp 0x483b3d
mov edx, ebx
cmp ebx, edi
jge 0x483b3d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x4836cc
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x483683
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 + 0x4a8380]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x483b3d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x483640
jmp 0x483b3d
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x483b3d
cmp ebp, dword [eax + 0x88]
jbe 0x483b3d
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x483b37
mov edx, ebx
cmp ebx, edi
jge 0x483b3d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x4836cc
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x483751
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 + 0x4a8380]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a0]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x483b3d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x483712
jmp 0x483b3d
mov edx, ebx
cmp ebx, edi
jge 0x483b3d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, 1
jmp 0x4837b8
mov eax, dword [esp + 0x164]
mov ecx, edi
cmp ebp, esi
jae 0x483851
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4837f8
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 + 0x4a8380]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
mov eax, dword [eax*4 + 0x4a6af8]
cmp eax, edi
je 0x483830
cmp eax, 3
je 0x483830
xor eax, eax
jmp 0x483832
mov eax, edi
cmp eax, dword [esp + 0x2c]
je 0x483b3d
add edx, edi
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x4837b1
jmp 0x483b3d
cmp dword [eax + 0x8c], 0
je 0x483b3d
cmp ebp, dword [eax + 0x88]
jbe 0x483b3d
mov dword [eax + 0x64], edi
cmp dword [eax + 0x8c], edi
jmp 0x483b37
mov edx, ebx
cmp ebx, edi
jge 0x483b3d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov eax, ecx
jmp 0x483897
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4836d3
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4838da
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 + 0x4a8380]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4aa580]
movzx edi, byte [edi*8 + 0x4a72a1]
cmp dword [edi*4 + 0x4a6af8], 6
je 0x48392e
cmp eax, 9
je 0x48392e
cmp eax, 0xa
je 0x48392e
cmp eax, 0xc
je 0x48392e
cmp eax, 0xd
je 0x48392e
xor eax, eax
jmp 0x483933
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x483b3d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x483890
jmp 0x483b3d
mov edx, ebx
cmp ebx, edi
jge 0x483b3d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
jmp 0x483977
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4836d3
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4839ba
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 + 0x4a8380]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4aa580]
movzx edi, byte [edi*8 + 0x4a72a1]
cmp dword [edi*4 + 0x4a6af8], 6
je 0x483a1b
cmp eax, 9
je 0x483a1b
cmp eax, 0xa
je 0x483a1b
cmp eax, 0xb
je 0x483a1b
cmp eax, 0xc
je 0x483a1b
cmp eax, 0xd
je 0x483a1b
xor eax, eax
jmp 0x483a20
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x483b3d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x483970
jmp 0x483b3d
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x483b3d
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov eax, edx
jmp 0x483a67
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x483b15
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x483aaa
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 + 0x4a8380]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4aa580]
movzx ecx, byte [ecx*8 + 0x4a72a1]
mov ecx, dword [ecx*4 + 0x4a6af8]
cmp ecx, 1
je 0x483af2
cmp ecx, 3
je 0x483af2
cmp eax, 0x5f
je 0x483af2
xor eax, eax
jmp 0x483af7
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x483b3d
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x14]
jl 0x483a60
jmp 0x483b3d
cmp dword [eax + 0x8c], 0
je 0x483b3d
cmp ebp, dword [eax + 0x88]
jbe 0x483b3d
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x4853bf
cmp dword [esp + 0x20], 0
jne 0x47f301
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
lea ebx, [ebx]
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x47f32e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x483bb8
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.0047f240
add esp, 0x1c
test eax, eax
je 0x483b90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x483e2e
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x483d49
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
mov ebx, 2
jmp 0x483c27
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, edx
jae 0x483d21
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x483c67
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 + 0x4a8380]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
cmp dword [eax*4 + 0x4a6af8], ebx
je 0x483d49
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jae 0x483d11
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x483cdc
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 + 0x4a8380]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
cmp dword [eax*4 + 0x4a6af8], ebx
jne 0x483d11
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x483ca4
inc esi
cmp esi, dword [esp + 0x14]
jl 0x483c20
jmp 0x483d49
cmp dword [eax + 0x8c], 0
je 0x483d49
cmp ebp, dword [eax + 0x88]
jbe 0x483d49
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x4853bf
cmp dword [esp + 0x20], 0
jne 0x47f301
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov edx, ebp
mov ecx, 2
sub ebp, ecx
cmp edx, dword [esp + 0x1c]
je case.0x47f32e.151
lea esp, [esp]
mov ax, word [ebp]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x483dc8
sub ebp, ecx
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x483df9
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 + 0x4a8380]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4aa580]
movzx edx, byte [eax*8 + 0x4a72a1]
cmp dword [edx*4 + 0x4a6af8], ecx
jne 0x486fe9
sub ebp, ecx
jmp 0x483db0
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x480f0b
jmp dword [eax*4 + 0x4872f4]
cmp edi, 0x7fffffff
mov edi, ebx
jge 0x483f36
cmp ebx, dword [esp + 0x14]
jge 0x4842c3
lea esp, [esp]
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x483f0f
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x483ea2
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.004882f0
add esp, 8
test eax, eax
jne 0x4842c3
mov ecx, dword [esp + 0x164]
jmp 0x483eda
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x483eda
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x483eda
cmp eax, 1
je 0x4842c3
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x4842c3
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x483eff
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x483eff
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x483e60
jmp 0x4842c3
cmp dword [ecx + 0x8c], 0
je 0x4842c3
mov edx, ecx
cmp ebp, dword [edx + 0x88]
jbe 0x4842c3
mov ecx, 1
mov eax, edx
jmp 0x4842b4
cmp ebx, dword [esp + 0x14]
jge 0x4842c3
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x483f0f
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x483f7e
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.004882f0
add esp, 8
test eax, eax
jne 0x4842c3
mov ecx, dword [esp + 0x164]
jmp 0x483fb6
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x483fb6
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x483fb6
cmp eax, 1
je 0x4842c3
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x4842c3
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x483fdf
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x483fdf
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x483f40
jmp 0x4842c3
cmp edi, 0x7fffffff
jge 0x484055
mov eax, ebx
cmp ebx, edi
jge 0x4842c3
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x484058
add ebp, 2
cmp ebp, ecx
jae 0x484038
mov dx, word [ebp]
mov ebx, 0xfc00
and dx, bx
mov ebx, 0xdc00
cmp dx, bx
jne 0x484038
add ebp, 2
inc eax
cmp eax, edi
jl 0x484008
jmp 0x4842c3
mov ecx, dword [esi + 0x7c]
sub edi, ebx
sub ecx, ebp
mov eax, edi
sar ecx, 1
cmp eax, ecx
jbe 0x484084
mov ebp, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je 0x4842c3
cmp ebp, dword [esi + 0x88]
jbe 0x4842c3
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x4842bd
lea ebp, [ebp + eax*2]
jmp 0x4842c3
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4842c3
mov ebx, dword [esp + 0x164]
mov edx, dword [ebx + 0x7c]
mov ecx, 1
cmp ebp, edx
jae 0x484167
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4840e6
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 0x48410d
add ebp, 2
cmp ebp, edx
jae 0x4842c3
cmp word [ebp], 0xa
jne 0x484157
add ebp, 2
jmp 0x484157
cmp eax, 0xa
je 0x484153
cmp dword [ebx + 0x68], 0
jne 0x4842c3
cmp eax, 0xb
je 0x484153
cmp eax, 0xc
je 0x484153
cmp eax, 0x85
je 0x484153
cmp eax, 0x2028
je 0x484153
cmp eax, 0x2029
jne 0x4842c3
lea ebp, [ebp + ecx*2]
inc esi
cmp esi, dword [esp + 0x14]
jl 0x4840a3
jmp 0x4842c3
cmp dword [ebx + 0x8c], 0
je 0x4842c3
cmp ebp, dword [ebx + 0x88]
jbe 0x4842c3
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x8c], ecx
jmp 0x4842bd
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4842c3
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x484294
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4841eb
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 0x484228
je 0x48426b
cmp eax, 0xa0
ja 0x48421e
je 0x48426b
cmp eax, 9
je 0x48426b
cmp eax, 0x20
jmp 0x48425e
cmp eax, 0x1680
jmp 0x48425e
cmp eax, 0x205f
ja 0x484259
je 0x48426b
cmp eax, 0x2000
jb 0x484264
cmp eax, 0x200a
jbe 0x48426b
cmp eax, 0x202f
jmp 0x48425e
cmp eax, 0x3000
je 0x48426b
xor eax, eax
jmp 0x484270
mov eax, 1
xor ebx, ebx
cmp dword [esp + 0x18], 0x12
sete bl
cmp eax, ebx
je 0x4842c3
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x4841a8
jmp 0x4842c3
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x4842c3
cmp ebp, dword [eax + 0x88]
jbe 0x4842c3
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x4853bf
cmp dword [esp + 0x20], 0
jne 0x47f301
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov eax, dword [esp + 0x1c]
mov ecx, ebp
sub ebp, 2
cmp ecx, eax
je case.0x47f32e.151
mov dx, word [ebp]
mov ecx, 0xfc00
and dx, cx
mov ecx, 0xdc00
cmp dx, cx
jne 0x48433e
sub ebp, 2
cmp dword [esp + 0x18], 0x11
jne 0x48436a
cmp ebp, eax
jbe 0x48436a
cmp word [ebp], 0xa
jne 0x48436a
cmp word [ebp - 2], 0xd
jne 0x48436a
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.0047f240
add esp, 0x1c
test eax, eax
je 0x484310
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4842c3
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x484294
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4843ff
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 0x484448
je 0x484452
cmp eax, 0xa
jb 0x484422
cmp eax, 0xd
jbe 0x484452
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x18], 0x14
sete bl
cmp eax, ebx
je 0x4842c3
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x4843bc
jmp 0x4842c3
add eax, 0xffffdfd8
cmp eax, 1
ja 0x484422
mov eax, 1
jmp 0x484424
mov edx, ebx
cmp ebx, edi
jge 0x4842c3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x484487
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48429b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4844ca
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 0x4844e9
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
jne 0x4842c3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x484480
jmp 0x4842c3
mov edx, ebx
cmp ebx, edi
jge 0x4842c3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x484527
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48429b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48456a
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 0x4842c3
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
je 0x4842c3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x484520
jmp 0x4842c3
mov edx, ebx
cmp ebx, edi
jge 0x4842c3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x4845c7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48429b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48460a
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 0x484629
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
jne 0x4842c3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4845c0
jmp 0x4842c3
mov edx, ebx
cmp ebx, edi
jge 0x4842c3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x484667
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48429b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4846aa
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 0x4842c3
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
je 0x4842c3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x484660
jmp 0x4842c3
mov edx, ebx
cmp ebx, edi
jge 0x4842c3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x484707
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48429b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48474a
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 0x484769
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
jne 0x4842c3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x484700
jmp 0x4842c3
mov edx, ebx
cmp ebx, edi
jge 0x4842c3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x484798
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48429b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4847db
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 0x4842c3
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
je 0x4842c3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x484791
jmp 0x4842c3
mov eax, dword [ebx + 0x90]
cmp eax, dword [esp + 0x160]
jle 0x48482a
mov dword [esp + 0x160], eax
movzx edx, word [esi + 6]
cmp word [esi + edx*2 + 4], 0x71
lea eax, [esi + edx*2 + 4]
jne 0x48484e
mov edi, edi
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
je 0x484840
mov edx, dword [esp + 0x14]
add eax, 4
cmp edx, 0x86
je 0x4850f0
mov dword [esp + 0x158], eax
jmp 0x484be3
cmp word [esi], 0x74
jne 0x4848b0
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov edx, dword [esp + 0x18]
mov dword [esp + 0x158], edx
jmp 0x484be3
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x484be3
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 0x484a00
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 0x484972
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 + 0x4a6a58]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.0047f240
add esp, 0x1c
cmp eax, 0xfffffc1c
je 0x485064
cmp eax, 0xfffffc20
jne 0x485030
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x487026
cmp word [edi], 0x71
je 0x4849e8
cmp word [ecx], 0x71
jne 0x487026
xor eax, eax
jmp 0x485038
mov ebx, dword [esp + 0x164]
jmp 0x484a00
cmp edx, 0x82
jge 0x484a4e
cmp edx, 0x7b
je 0x484a4e
cmp dword [ebx + 0x6c], 0
jne 0x484a58
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
je 0x484a58
movzx ecx, word [eax]
movzx edx, byte [ecx + 0x4a6a58]
lea eax, [eax + edx*2]
mov dword [esp + 0x158], eax
jmp 0x484be3
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 + 0x4a6a58]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.0047f240
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x484ad5
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x487026
cmp word [edi], 0x71
je 0x484add
cmp word [ecx], 0x71
jne 0x487026
jmp 0x484add
test eax, eax
jne 0x485095
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.0x47f32e.151
mov edx, dword [esp + 0x14]
jmp 0x484a00
movzx eax, word [ecx]
cmp eax, 0x75
je 0x4852a4
cmp eax, 0x74
jne 0x484b76
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
movzx eax, word [edi]
cmp eax, 0x7b
je 0x4852c0
mov edx, 0x82
cmp ax, dx
jae 0x4852e1
mov dword [esp + 0x158], edi
jmp 0x484be3
mov eax, 0x82
cmp word [edi], ax
jb 0x484b8e
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.0047f240
add esp, 0x1c
cmp eax, 0xfffffc1c
jne 0x484bc9
cmp dword [ebx + 0xb8], edi
jmp 0x484bcb
test eax, eax
jne 0x487026
cmp word [edi], 0x7b
je 0x48531b
add dword [esp + 0x158], 4
mov ecx, dword [ebx]
cmp ecx, dword [ebx + 4]
jb 0x47f2c3
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 + 0x4a6a58]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.0047f240
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x484c83
cmp edi, 0xfffffc19
jne 0x484ca3
cmp dword [esi + 0xb0], 0
jne 0x484ca3
mov dword [esi + 0xb0], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edi, 0xfffffc1f
jne 0x485209
mov eax, dword [esi + 0x80]
mov ecx, ebx
call fcn.00488240
test eax, eax
jne 0x485209
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 + 0x4a6a58]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.0047f240
add esp, 0x1c
test eax, eax
je 0x484d4c
cmp eax, 0xfffffc1d
je 0x484d4c
cmp eax, 0xfffffc1e
je 0x484d4c
cmp eax, 0xfffffc1f
je 0x484d4c
cmp eax, 0xfffffc20
jne 0x487026
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 + 0x4a6a58]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.0047f240
add esp, 0x1c
test eax, eax
je 0x484daf
cmp eax, 0xfffffc20
jne 0x487026
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 + 0x4a6a58]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.0047f240
add esp, 0x1c
cmp eax, 1
je 0x484e2f
cmp eax, 0xfffffc19
jne 0x484d9c
cmp dword [ebx + 0xb0], 0
jne 0x484d9c
mov dword [ebx + 0xb0], esi
jmp 0x484d9c
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 + 0x4a6a58]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.0047f240
add esp, 0x1c
test eax, eax
je 0x484ea5
cmp eax, 0xfffffc1d
je 0x484ea5
cmp eax, 0xfffffc20
jne 0x487026
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 + 0x4a6a58]
push ecx
movzx ecx, word [esi + 2]
add eax, ecx
lea edx, [esi + eax*2]
push edx
push ebp
call fcn.0047f240
add esp, 0x1c
test eax, eax
je 0x484f18
cmp eax, 0xfffffc1d
je 0x484f18
cmp eax, 0xfffffc20
jne 0x487026
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 + 0x4a6a58]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
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 + 0x4a6a58]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push ebp
call fcn.0047f240
add esp, 0x1c
cmp eax, 1
je 0x484fff
cmp eax, 0xfffffc19
jne 0x485012
cmp dword [esi + 0xb0], 0
jne 0x485012
mov dword [esi + 0xb0], ebx
test eax, eax
jne 0x487026
mov dword [esi + 0x80], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
test eax, eax
jne 0x487026
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 0x484953
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 0x487026
movzx edx, word [edi]
mov ecx, edi
cmp edx, 0x7b
je 0x4850d7
cmp edx, 0x71
jne 0x4850ce
jmp 0x4850c0
movzx edx, word [ecx + 2]
cmp word [ecx + edx*2], 0x71
lea ecx, [ecx + edx*2]
je 0x4850c0
movzx edx, word [ecx + 2]
neg edx
lea ecx, [ecx + edx*2]
cmp dword [ebx + 0xb8], ecx
jne 0x487026
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.0047f240
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x15c]
cmp ebp, ecx
jne 0x485195
cmp edx, 0x99
je 0x485195
mov eax, dword [esp + 0x164]
cmp dword [eax + 0xa8], 0
jne 0x48519c
cmp dword [eax + 0x5c], 0
jne 0x485188
cmp dword [eax + 0x60], 0
je 0x48519c
mov esi, dword [eax + 0x98]
mov edi, dword [eax + 0x78]
lea esi, [edi + esi*2]
cmp ecx, esi
jne 0x48519c
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 0x485209
push eax
call dword [0x4be36c]
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 0x48523d
push eax
call dword [0x4be36c]
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 0x48536c
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.0047f240
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 0x48536c
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
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.0x47f32e.151
cmp ebp, dword [ebx + 0x88]
jbe case.0x47f32e.151
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jle case.0x47f32e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [eax + 0x8c], ecx
je case.0x47f32e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x47f32e.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x47f32e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x47f32e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jle case.0x47f32e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [edx + 0x88]
jbe case.0x47f32e.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jle case.0x47f32e.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.0x47f32e.151
cmp ebp, dword [eax + 0x7c]
jb case.0x47f32e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x47f32e.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x47f32e.151
lea eax, [ecx - 0xd]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edi + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [edi + 0x7c]
jb case.0x47f32e.151
cmp ebp, dword [edi + 0x88]
jbe case.0x47f32e.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jle case.0x47f32e.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 0x4855b4
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.0047f090
add esp, 8
test eax, eax
js 0x485574
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x485540
jmp 0x4855aa
cmp dword [edi + 0x8c], 0
je 0x4855aa
cmp ebp, dword [edi + 0x7c]
jb 0x4855aa
cmp ebp, dword [edi + 0x88]
jbe 0x4855aa
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jg 0x4853bf
cmp ebp, dword [esp + 0x1c]
jb 0x485604
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov edx, ebx
neg edx
lea ebp, [ebp + edx*2]
cmp ebp, dword [esp + 0x1c]
jae 0x4855c2
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [esi + 0x7c]
jb case.0x47f32e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x47f32e.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jle case.0x47f32e.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.0x47f32e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x47f32e.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jle case.0x47f32e.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.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x4814f7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [esp + 0x1c], ebp
mov edx, esi
cmp esi, edi
jge 0x4857e5
mov eax, dword [esp + 0x164]
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x18], ecx
jmp 0x485737
mov eax, dword [esp + 0x164]
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x4857bd
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48577c
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 0x48578d
cmp dword [esp + 0x14], 0x6a
jmp 0x4857a5
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 0x4857e5
inc edx
lea ebp, [ebp + esi*2]
cmp edx, edi
jl 0x485730
jmp 0x4857e5
cmp dword [eax + 0x8c], 0
je 0x4857e5
cmp ebp, dword [eax + 0x88]
jbe 0x4857e5
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x4853bf
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x47f32e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48584f
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.0047f240
add esp, 0x1c
test eax, eax
je 0x485827
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x47f32e.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jmp 0x4853f5
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], esi
cmp esi, edi
jge 0x485975
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x18], eax
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x485946
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x485919
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.004884f0
add esp, 8
test eax, eax
je 0x485975
mov eax, dword [esp + 0x28]
inc eax
lea ebp, [ebp + esi*2]
mov dword [esp + 0x28], eax
cmp eax, edi
jl 0x4858d4
jmp 0x485975
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x485975
cmp ebp, dword [eax + 0x88]
jbe 0x485975
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x4853bf
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x1c]
je case.0x47f32e.151
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x4859d8
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.0047f240
add esp, 0x1c
test eax, eax
je 0x4859b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x47f32e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x47f32e.151
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x8c], 1
jmp 0x4853f5
cmp dword [edi + 0x8c], ecx
je case.0x47f32e.151
cmp ebp, dword [edi + 0x88]
jbe case.0x47f32e.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jmp 0x4853f5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [eax + 0x7c]
jb case.0x47f32e.151
jmp 0x4853db
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp edi, dword [esp + 0x14]
jge case.0x47f32e.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 0x485b6d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x485b28
jmp 0x485b10
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x485b6d
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x485b10
test eax, eax
je 0x485b60
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x485b6d
cmp eax, 1
jbe 0x485b60
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x485b6d
cmp eax, 2
jbe 0x485b60
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x485b6d
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x485bf2
cmp dword [esp + 0x18], 0
jle 0x485c48
mov edx, dword [esp + 0x18]
add edx, edx
sub edi, edx
cmp ebp, edi
ja 0x485c48
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x485bb8
lea ecx, [ecx]
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x485c48
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x485ba0
test eax, eax
je 0x485bf0
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x485c48
cmp eax, 1
jbe 0x485bf0
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x485c48
cmp eax, 2
jbe 0x485bf0
mov cl, byte [ecx + 2]
cmp cl, byte [esi + 2]
jne 0x485c48
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.0047f240
add esp, 0x1c
test eax, eax
je 0x485ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x47f32e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x47f32e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x4853f5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x47f32e.151
mov ecx, dword [esp + 0x164]
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x4853f5
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp ebx, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
cmp esi, eax
je 0x485d2e
cmp dword [esp + 0x28], eax
jne case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x485d02
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [edx + 0x88]
jbe case.0x47f32e.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jmp 0x4853f5
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp ebx, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx edx, word [ebp]
add ebp, 2
cmp esi, edx
jne case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x485de4
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp esi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x485ee5
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.0x47f32e.151
cmp dword [esp + 0x28], eax
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x485e94
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
lea ecx, [ecx]
cmp esi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x485fd1
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.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x485f80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x47f32e.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x4853f5
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x47f32e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x4853f5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
jmp 0x4853d5
cmp dword [esi + 0x8c], 0
je case.0x47f32e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x47f32e.151
mov dword [esi + 0x64], 1
cmp dword [esi + 0x8c], 1
jmp 0x4853f5
test eax, eax
js 0x486a95
cmp eax, 8
ja case.default.0x480f0b
jmp dword [eax*4 + 0x487334]
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp esi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x486145
add ebp, 2
cmp dword [esp + 0x2c], 0
jne case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x486115
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp edi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x486221
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 + 0x4a8380]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4aa580]
movzx eax, byte [edx*8 + 0x4a72a1]
cmp eax, 9
je 0x48625c
cmp eax, 5
je 0x48625c
cmp eax, 8
je 0x48625c
xor eax, eax
jmp 0x486261
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x4861d0
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
nop
cmp esi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x486341
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 + 0x4a8380]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4aa580]
movzx eax, byte [edx*8 + 0x4a72a1]
mov edx, dword [esp + 0x38]
xor ecx, ecx
cmp dword [eax*4 + 0x4a6af8], edx
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x4862f0
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp esi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x486454
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 + 0x4a8380]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4aa580]
movzx eax, byte [edx*8 + 0x4a72a1]
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x486403
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
nop
cmp esi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x486561
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 + 0x4a8380]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4aa580]
movzx ecx, byte [eax*8 + 0x4a72a0]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x486510
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
lea esp, [esp]
cmp edi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x486671
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 + 0x4a8380]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4aa580]
movzx eax, byte [edx*8 + 0x4a72a1]
mov eax, dword [eax*4 + 0x4a6af8]
cmp eax, 1
je 0x4866aa
cmp eax, 3
je 0x4866aa
xor eax, eax
jmp 0x4866af
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x486620
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
lea ecx, [ecx]
cmp edi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x486791
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 + 0x4a8380]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4aa580]
movzx ecx, byte [edx*8 + 0x4a72a1]
cmp dword [ecx*4 + 0x4a6af8], 6
je 0x4867e1
cmp eax, 9
je 0x4867e1
cmp eax, 0xa
je 0x4867e1
cmp eax, 0xc
je 0x4867e1
cmp eax, 0xd
je 0x4867e1
xor eax, eax
jmp 0x4867e6
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x486740
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp edi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x4868c5
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 + 0x4a8380]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4aa580]
movzx ecx, byte [edx*8 + 0x4a72a1]
cmp dword [ecx*4 + 0x4a6af8], 6
je 0x48691e
cmp eax, 9
je 0x48691e
cmp eax, 0xa
je 0x48691e
cmp eax, 0xb
je 0x48691e
cmp eax, 0xc
je 0x48691e
cmp eax, 0xd
je 0x48691e
xor eax, eax
jmp 0x486923
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x486874
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp edi, dword [esp + 0x14]
jge case.0x47f32e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x486081
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x486a02
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 + 0x4a8380]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4aa580]
movzx ecx, byte [edx*8 + 0x4a72a1]
mov ecx, dword [ecx*4 + 0x4a6af8]
cmp ecx, 1
je 0x486a46
cmp ecx, 3
je 0x486a46
cmp eax, 0x5f
je 0x486a46
xor eax, eax
jmp 0x486a4b
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x4869b1
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 0x486c29
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
mov eax, dword [esp + 0x164]
cmp edi, dword [esp + 0x14]
jge case.0x47f32e.151
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x486081
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x486b37
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 + 0x4a8380]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4aa580]
movzx ecx, byte [eax*8 + 0x4a72a1]
cmp dword [ecx*4 + 0x4a6af8], 2
je case.0x47f32e.151
cmp ebp, edx
jae 0x486be2
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x486bac
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 + 0x4a8380]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4aa580]
movzx eax, byte [eax*8 + 0x4a72a1]
cmp dword [eax*4 + 0x4a6af8], 2
jne 0x486be2
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x486b71
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.0047f240
add esp, 0x1c
test eax, eax
je 0x486ae4
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.0047f240
add esp, 0x1c
test eax, eax
jne 0x487026
cmp edi, dword [esp + 0x14]
jge case.0x47f32e.151
cmp ebp, dword [esi + 0x7c]
jae 0x48601b
cmp dword [esp + 0x18], 0xc
jne 0x486ce1
mov eax, dword [esi + 0x18]
test eax, eax
je 0x486cb1
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.004882f0
add esp, 8
test eax, eax
jne case.0x47f32e.151
mov esi, dword [esp + 0x164]
jmp 0x486ce1
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x7c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x486ce1
mov cx, word [ebp]
cmp cx, word [esi + 0x2c]
jne 0x486ce1
cmp eax, 1
je case.0x47f32e.151
mov dx, word [ebp + 2]
cmp dx, word [esi + 0x2e]
je case.0x47f32e.151
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x486d18
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.0x480f0b
jmp dword [ecx*4 + 0x487358]
cmp eax, 0xd
ja 0x486d6d
je 0x486d51
cmp eax, 0xa
je case.0x486d28.12
jbe case.0x47f32e.151
cmp eax, 0xc
jmp 0x486d84
cmp ebp, dword [esi + 0x7c]
jae case.0x486d28.12
cmp word [ebp], 0xa
jne case.0x486d28.12
add ebp, 2
jmp case.0x486d28.12
cmp eax, 0x85
je 0x486d8a
cmp eax, 0x2027
jbe case.0x47f32e.151
cmp eax, 0x2029
ja case.0x47f32e.151
cmp dword [esi + 0x68], 0
jne case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x180e
ja 0x486dd2
je case.0x47f32e.151
cmp eax, 0xa0
ja 0x486dc8
je case.0x47f32e.151
cmp eax, 9
je case.0x47f32e.151
cmp eax, 0x20
jmp 0x486fa3
cmp eax, 0x1680
jmp 0x486fa3
cmp eax, 0x205f
ja 0x486dff
je case.0x47f32e.151
cmp eax, 0x2000
jb case.0x486d28.12
cmp eax, 0x200a
jbe case.0x47f32e.151
cmp eax, 0x202f
jmp 0x486fa3
cmp eax, 0x3000
jmp 0x486fa3
cmp eax, 0x180e
ja 0x486e4e
je case.0x486d28.12
cmp eax, 0xa0
ja 0x486e3e
je case.0x486d28.12
cmp eax, 9
je case.0x486d28.12
cmp eax, 0x20
jne case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x1680
jne case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x205f
ja 0x486e81
je case.0x486d28.12
cmp eax, 0x2000
jb case.0x47f32e.151
cmp eax, 0x200a
jbe case.0x486d28.12
cmp eax, 0x202f
jne case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x3000
jne case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x85
ja 0x486eb5
je case.0x47f32e.151
cmp eax, 0xa
jb case.0x486d28.12
cmp eax, 0xd
jbe case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x2028
jb case.0x486d28.12
cmp eax, 0x2029
jbe case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x85
ja 0x486ef4
je case.0x486d28.12
cmp eax, 0xa
jb case.0x47f32e.151
cmp eax, 0xd
ja case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x2028
jb case.0x47f32e.151
cmp eax, 0x2029
ja case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x100
jae case.0x486d28.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 4
jne case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x100
jae case.0x47f32e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 4
jmp 0x486fa3
cmp eax, 0x100
jae case.0x486d28.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 1
jne case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x100
jae case.0x47f32e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 1
jmp 0x486fa3
cmp eax, 0x100
jae case.0x486d28.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x47f32e.151
jmp case.0x486d28.12
cmp eax, 0x100
jae case.0x47f32e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 0x10
je case.0x47f32e.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.0047f240
add esp, 0x1c
test eax, eax
je 0x486c5a
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.0047f240
add esp, 0x1c
test eax, eax
je 0x483d96
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