Function at 0x484130
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 0x484190
cmp dword [esp + 0x16c], eax
jne 0x484170
push 1
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0x184]
push eax
call fcn.00484130
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 0x489ade
mov ebp, dword [esp + 0x154]
jmp 0x4841b5
xor eax, eax
inc ecx
mov dword [ebx], ecx
mov ecx, dword [esp + 0x16c]
cmp ecx, dword [ebx + 8]
jae 0x489af0
cmp dword [ebx + 0x9c], 2
jne 0x4841f1
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.0x48421e.98
movzx edi, byte [edx + 0x48c06c]
jmp dword [edi*4 + 0x48bf24]
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x70], ecx
je 0x489dab
movzx edx, byte [edx + 0x4ac400]
movzx eax, word [esi + 2]
add edx, eax
lea ecx, [esi + edx*2]
mov dword [esp + 0x158], ecx
jmp 0x4841f1
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.00484130
add esp, 0x1c
cmp eax, 1
je 0x484365
cmp eax, 0xfffffc20
jne 0x4842ce
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48bf16
cmp word [esi], 0x71
je 0x4842d6
cmp word [ecx], 0x71
jmp 0x4842d0
test eax, eax
jne 0x48bf16
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 0x484270
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x7c
je 0x484310
cmp eax, 0x71
jne case.0x48421e.151
jmp 0x484310
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 0x484310
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 0x484356
cmp ebp, dword [esp + 0x20]
jne 0x48975d
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov edi, dword [ebx + 0x80]
mov dword [esp + 0x15c], edi
jmp 0x4842fa
mov dword [esp + 0x24], ecx
jmp 0x484e79
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
mov ebx, dword [esp + 0x164]
jne 0x484474
mov ecx, dword [0x4c96bc]
test ecx, ecx
je 0x48446a
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.0x48421e.151
js 0x48bf16
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 0x48467a
cmp ecx, 0x8a
je 0x48467a
cmp ecx, 0x87
je 0x48450b
cmp ecx, 0x88
je 0x48450b
cmp ecx, 0x8b
jne 0x4844b7
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x4847b8
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.00484130
add esp, 0x1c
cmp eax, 1
je 0x489700
test eax, eax
je 0x4844ff
cmp eax, 0xfffffc20
jne 0x48bf16
mov edx, dword [esp + 0x14]
lea eax, [esi + edi*2]
jmp 0x4847b8
movzx eax, word [esi + 6]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x484527
mov edi, dword [ebx + 0xc]
cmp dword [edi + eax*4], 0
jge 0x484665
mov dword [esp + 0x20], 0
cmp ecx, 0x88
jne 0x48462f
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 0x484562
lea ecx, [ecx]
movzx edx, word [esi]
cmp edx, eax
je 0x484562
mov edx, dword [ebx + 0x24]
inc edi
lea esi, [esi + edx*2]
cmp edi, ecx
jl 0x484550
cmp edi, ecx
jge 0x48462f
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x28]
mov ebx, esi
mov dword [esp + 0x30], eax
cmp esi, eax
jbe 0x4845d3
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.0048d370
test eax, eax
jne 0x4845d3
movzx eax, word [ebx]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x4845c5
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x484654
mov dword [esp + 0x20], 0
cmp ebx, dword [esp + 0x30]
ja 0x484590
inc edi
cmp edi, dword [esp + 0x18]
jge 0x48462f
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.0048d370
test eax, eax
jne 0x48462f
movzx eax, word [esi]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x484620
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x484658
inc edi
mov dword [esp + 0x20], 0
cmp edi, dword [esp + 0x18]
jl 0x4845f0
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 0x4847ad
mov ebx, edx
jmp 0x48465a
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 0x4847ad
cmp dword [ebx + 0xa8], 0
jne 0x48468f
movzx ecx, word [esi + 2]
lea eax, [esi + ecx*2]
jmp 0x4847b8
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x4847d1
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
cmp edx, eax
je 0x4847d1
mov dword [esp + 0x20], 0
cmp ecx, 0x8a
jne 0x484784
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 0x4846f2
nop
movzx edi, word [esi]
cmp edi, edx
je 0x4846f2
mov edi, dword [ecx + 0x24]
inc ebx
lea esi, [esi + edi*2]
cmp ebx, eax
jl 0x4846e0
cmp ebx, eax
jge 0x484784
mov eax, dword [ecx + 0x28]
mov edi, esi
mov dword [esp + 0x34], eax
cmp esi, eax
jbe 0x48473f
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.0048d370
test eax, eax
jne 0x48473f
movzx ecx, word [edi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4847d9
cmp edi, dword [esp + 0x34]
ja 0x484710
inc ebx
cmp ebx, dword [esp + 0x18]
jge 0x484784
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.0048d370
test eax, eax
jne 0x484784
movzx ecx, word [esi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4847d9
inc ebx
cmp ebx, dword [esp + 0x18]
jl 0x484759
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 0x489742
cmp word [eax], 0x71
je 0x489742
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x4841f1
mov dword [esp + 0x20], 1
mov eax, 2
jmp 0x48478f
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 0x484814
add dword [esp + 0x158], 4
mov dword [ecx + 0x40], 1
jmp 0x4841f1
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 0x484843
add eax, 2
mov dword [esp + 0x160], eax
add dword [esp + 0x158], 4
jmp 0x4841f1
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0xb0]
mov eax, 1
mov dword [esp + 0x24], edx
cmp dword [esi + 0x9c], eax
jne 0x48487a
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x48487e
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.00484130
add esp, 0x1c
cmp eax, 1
je 0x4848f4
cmp eax, 0xfffffc19
je 0x4848f4
test eax, eax
je 0x4848cd
cmp eax, 0xfffffc20
jne 0x48bf16
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 0x484890
jmp 0x484901
mov edx, dword [esi + 0x80]
mov dword [esp + 0x15c], edx
mov eax, dword [esp + 0x158]
cmp word [eax], 0x72
je case.0x48421e.151
cmp dword [esp + 0x20], 0
jne 0x48a161
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 0x484920
mov edx, dword [esi + 0x90]
add dword [esp + 0x158], 4
mov dword [esp + 0x160], edx
jmp 0x4841f1
mov esi, dword [esp + 0x164]
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x24], eax
mov eax, 1
cmp dword [esi + 0x9c], eax
jne 0x484980
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x484984
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.00484130
mov ecx, dword [esp + 0x40]
add esp, 0x1c
mov dword [esi + 0xb0], ecx
cmp eax, 1
je case.0x48421e.151
cmp eax, 0xfffffc19
je case.0x48421e.151
cmp eax, 0xfffffc1e
je 0x484a10
cmp eax, 0xfffffc1d
je 0x484a10
cmp eax, 0xfffffc1a
je 0x484a10
test eax, eax
je 0x4849f6
cmp eax, 0xfffffc20
jne 0x48bf16
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea eax, [edi + edx*2]
mov dword [esp + 0x158], eax
jne 0x484a2c
jmp 0x48498b
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 0x484a10
cmp dword [esp + 0x20], 0
jne 0x48a161
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x4841f1
movzx eax, word [esi + 2]
mov edx, dword [esp + 0x164]
cmp eax, ecx
jle 0x484a81
mov ecx, dword [edx + 0x78]
sub ebp, 2
dec eax
cmp ebp, ecx
jb case.0x48421e.151
mov di, word [ebp]
mov ebx, 0xfc00
and di, bx
mov ebx, 0xdc00
cmp di, bx
jne 0x484a7d
sub ebp, 2
test eax, eax
jg 0x484a58
cmp ebp, dword [edx + 0x88]
jae 0x484a8f
mov dword [edx + 0x88], ebp
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov esi, dword [0x4c96bc]
mov edi, dword [esp + 0x158]
test esi, esi
je 0x484b74
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.0x48421e.151
js 0x48bf16
add edi, 0xc
mov dword [esp + 0x158], edi
jmp 0x4841f1
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 0x484ba3
xor ecx, ecx
jmp 0x484ba7
movzx ecx, word [esi + 4]
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x484bc5
cmp ecx, dword [eax + 4]
jne 0x484bbf
cmp ebp, dword [eax + 0x10]
je 0x48a0bc
mov eax, dword [eax]
test eax, eax
jne 0x484bb1
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 0x484c02
lea eax, [esp + 0xd8]
mov dword [esp + 0x48], eax
jmp 0x484c23
lea eax, [ecx*4]
push eax
call dword [0x4c4368]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x48a0cc
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebx + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.00495f80
mov eax, 0x82
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
test eax, eax
je 0x484c52
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 + 0x4ac400]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00484130
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.00495f80
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov dword [ebx + 0xa8], eax
cmp edi, 1
je 0x484cf6
cmp edi, 0xfffffc19
je 0x484cf6
test edi, edi
je 0x484cd1
cmp edi, 0xfffffc20
jne 0x48a0dc
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 0x48a106
mov eax, dword [esp + 0x20]
jmp 0x484c44
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x484d0f
push eax
call dword [0x4c436c]
add esp, 4
mov edx, dword [ebx + 0x80]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x15c], edx
jmp 0x4841f1
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.0x48421e.113
jmp 0x4841f1
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
jmp 0x484da0
movzx ecx, word [esi + 2]
cmp word [esi + ecx*2], 0x71
lea esi, [esi + ecx*2]
je 0x484da0
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x4841f1
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 0x484dd0
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov dword [esp + 0x158], esi
jmp 0x4841f1
lea eax, [esi + 2]
jmp 0x484e30
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
je 0x484e30
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x4841f1
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 0x484e79
cmp eax, 0x85
jne 0x48502b
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 0x485023
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 0x484eff
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 + 0x4ac400]
push ecx
lea ecx, [edi + eax*2]
push ecx
push ebp
call fcn.00484130
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x484f76
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 0x484ed0
cmp eax, 0xfffffc20
jne 0x484f9c
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48bf16
cmp word [edi], 0x71
je 0x484fa4
cmp word [ecx], 0x71
jmp 0x484f9e
test eax, eax
jne 0x48bf16
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 0x484ed0
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x484ffa
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 0x485009
test edx, edx
je case.0x48421e.151
add dword [esp + 0x158], 4
jmp 0x4841f1
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x24], ecx
jmp 0x485032
xor ecx, ecx
mov dword [esp + 0x24], ecx
jmp 0x485032
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 0x48506a
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 + 0x4ac400]
push edi
push ebx
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00484130
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x4850ca
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 0x485056
cmp eax, 0xfffffc20
jne 0x4850f0
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [edi + 0x80], ecx
jae 0x48bf16
cmp word [esi], 0x71
je 0x4850f8
cmp word [ecx], 0x71
jmp 0x4850f2
test eax, eax
jne 0x48bf16
movzx edx, word [esi + 2]
cmp word [esi + edx*2], 0x71
lea esi, [esi + edx*2]
je 0x485056
cmp dword [esp + 0x18], 0
jne 0x48511c
cmp dword [esp + 0x24], 0
je case.0x48421e.151
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x4841f1
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 0x48515c
cmp eax, 0x7b
je 0x48515c
mov dword [esp + 0x20], 0
jmp 0x485173
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 0x485181
cmp eax, 0x7a
jbe 0x48a13a
cmp eax, 0x7c
je 0x48a13a
cmp eax, 0x7f
je 0x4851b1
mov edx, 0x84
cmp ax, dx
je 0x4851b1
mov edx, 0x80
cmp ax, dx
je 0x4851b1
mov edx, 0x85
cmp ax, dx
jne 0x48524f
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 0x4851db
mov esi, dword [ebx + 0xa8]
cmp dword [esi + 4], eax
je 0x48a171
mov esi, dword [esp + 0x160]
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x4851f9
mov dword [ebx + 0x40], 1
jmp 0x48525d
cmp edx, esi
jle 0x48521a
mov eax, dword [ebx + 0xc]
lea edi, [eax + esi*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x485216
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 0x48525d
lea esi, [edx + 2]
mov dword [esp + 0x160], esi
jmp 0x48525d
mov esi, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
cmp word [ecx], 0x72
je 0x48526d
cmp ebp, dword [esp + 0x20]
jne 0x4899f4
cmp word [edi], 0x7b
je 0x48a236
add ecx, 4
mov dword [esp + 0x158], ecx
jmp 0x4841f1
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x4852a4
cmp ebp, dword [eax + 0x78]
je case.0x48421e.151
jmp 0x4852a4
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x78]
jne case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x4852d1
cmp ebp, dword [eax + 0x78]
je case.0x48421e.151
mov edx, dword [eax + 0x78]
cmp ebp, edx
je 0x485350
cmp ebp, dword [eax + 0x7c]
je case.0x48421e.151
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x485319
cmp ebp, edx
jbe case.0x48421e.151
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.0048d4e0
add esp, 8
test eax, eax
je case.0x48421e.151
add dword [esp + 0x158], 2
jmp 0x4841f1
mov esi, dword [eax + 0x1c]
mov ecx, dword [eax + 0x78]
lea edx, [esi + esi]
add ecx, edx
cmp ebp, ecx
jb case.0x48421e.151
mov ecx, ebp
sub ecx, edx
mov dx, word [ecx]
cmp dx, word [eax + 0x2c]
jne case.0x48421e.151
cmp esi, 1
je 0x485350
mov cx, word [ecx + 2]
cmp cx, word [eax + 0x2e]
jne case.0x48421e.151
add dword [esp + 0x158], 2
jmp 0x4841f1
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.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
add esi, 2
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x485428
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x4853e5
mov edx, dword [eax + 0x7c]
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.0048d420
add esp, 8
test eax, eax
je case.0x48421e.151
mov esi, dword [esp + 0x158]
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov ecx, dword [eax + 0x1c]
mov edi, dword [eax + 0x7c]
lea edx, [ecx + ecx]
sub edi, edx
cmp ebp, edi
ja case.0x48421e.151
mov dx, word [ebp]
cmp dx, word [eax + 0x2c]
jne case.0x48421e.151
cmp ecx, 1
je 0x485455
mov cx, word [ebp + 2]
cmp cx, word [eax + 0x2e]
jne case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
cmp dword [eax + 0x48], ecx
jne case.0x48421e.151
cmp dword [eax + 0x8c], ecx
je 0x485455
cmp ebp, dword [eax + 0x88]
jbe 0x485455
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48a2af
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x48], ecx
jne case.0x48421e.151
cmp dword [ebx + 0x58], ecx
je 0x4854c5
jmp 0x485482
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jb case.0x48421e.151
cmp dword [ebx + 0x8c], ecx
je 0x4854af
cmp ebp, dword [ebx + 0x88]
jbe 0x4854af
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x48a2af
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jae 0x485536
mov eax, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
cmp eax, ecx
je 0x4854f2
mov edx, dword [ebx + 0x7c]
push 1
push eax
mov ecx, ebp
call fcn.0048d420
add esp, 8
test eax, eax
je case.0x48421e.151
jmp 0x485525
mov eax, dword [esi]
mov ecx, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub ecx, edx
cmp ebp, ecx
ja case.0x48421e.151
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne case.0x48421e.151
cmp eax, 1
je 0x485525
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
jne case.0x48421e.151
mov ecx, dword [esi]
mov edx, dword [ebx + 0x7c]
add ecx, ecx
sub edx, ecx
cmp ebp, edx
jne case.0x48421e.151
cmp dword [ebx + 0x8c], 0
je 0x48555b
cmp ebp, dword [ebx + 0x88]
jbe 0x48555b
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x48a2af
add dword [esp + 0x158], 2
jmp 0x4841f1
mov edx, dword [esp + 0x164]
cmp ebp, dword [edx + 0x78]
je 0x485634
mov ax, word [ebp - 2]
lea ecx, [ebp - 2]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x485594
sub ecx, 2
cmp ecx, dword [edx + 0x88]
jae 0x4855a2
mov dword [edx + 0x88], ecx
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4855ce
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 0x48561d
cmp eax, 0x5f
jne 0x4855e1
lea ecx, [eax - 0x5e]
jmp 0x485636
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4add28]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4aff28]
movzx ecx, byte [eax*8 + 0x4acc49]
mov eax, dword [ecx*4 + 0x4ac4a0]
cmp eax, 1
je 0x485616
cmp eax, 3
jne 0x485634
mov ecx, 1
jmp 0x485636
cmp eax, 0x100
jae 0x485634
mov ecx, dword [edx + 0x3c]
test byte [eax + ecx], 0x10
je 0x485634
mov ecx, 1
jmp 0x485636
xor ecx, ecx
cmp ebp, dword [edx + 0x7c]
jb 0x485685
cmp dword [edx + 0x8c], 0
je 0x485660
cmp ebp, dword [edx + 0x88]
jbe 0x485660
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x48a2af
xor eax, eax
mov dx, word [esi]
add esi, 2
mov dword [esp + 0x158], esi
cmp dx, 5
jne 0x485729
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x485730
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4856b2
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 0x485707
cmp eax, 0x5f
jne 0x4856c4
mov eax, 1
jmp 0x485662
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4add28]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4aff28]
movzx edx, byte [eax*8 + 0x4acc49]
mov eax, dword [edx*4 + 0x4ac4a0]
cmp eax, 1
je 0x4856fd
cmp eax, 3
jne 0x485660
mov eax, 1
jmp 0x485662
cmp eax, 0x100
jae 0x485660
mov edx, dword [edx + 0x3c]
test byte [eax + edx], 0x10
je 0x485660
mov eax, 1
jmp 0x485662
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x4841f1
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 0x485784
cmp ebp, dword [ebx + 0x7c]
jae 0x4857bd
mov edx, dword [ebx + 0x7c]
push 1
lea esi, [ebx + 0x1c]
push eax
mov ecx, ebp
call fcn.0048d420
add esp, 8
test eax, eax
jne case.0x48421e.151
mov esi, dword [esp + 0x158]
xor ecx, ecx
jmp 0x4857bd
mov eax, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x4857bd
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne 0x4857bd
cmp eax, 1
je case.0x48421e.151
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
je case.0x48421e.151
jmp 0x4857bd
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x7c]
cmp ebp, eax
jae 0x48a283
add ebp, 2
cmp ebp, eax
jae 0x4857e8
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x4857e8
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48a2bf
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48a2fb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48585c
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 0x485870
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
jne case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48a2fb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4858c2
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.0x48421e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
je case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48a2fb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48592c
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 0x485940
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
jne case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48a2fb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x485992
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.0x48421e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
je case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48a2fb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4859fc
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 0x485a10
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x48a2fb
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x485a62
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.0x48421e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
je case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x48a338
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x485ace
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 0x485b02
je 0x485ae5
cmp eax, 0xa
je 0x485b29
jbe case.0x48421e.151
cmp eax, 0xc
jmp 0x485b19
cmp ebp, ecx
jae 0x485b29
cmp word [ebp], 0xa
jne 0x485b29
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
cmp eax, 0x85
je 0x485b1f
cmp eax, 0x2027
jbe case.0x48421e.151
cmp eax, 0x2029
ja case.0x48421e.151
cmp dword [edx + 0x68], 0
jne case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48a2bf
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x485b7b
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 0x485baa
je case.0x48421e.151
cmp eax, 0xa0
ja 0x485ba3
je case.0x48421e.151
cmp eax, 9
je case.0x48421e.151
cmp eax, 0x20
jmp 0x485bd5
cmp eax, 0x1680
jmp 0x485bd5
cmp eax, 0x205f
ja 0x485bd0
je case.0x48421e.151
cmp eax, 0x2000
jb 0x485bdb
cmp eax, 0x200a
jbe case.0x48421e.151
cmp eax, 0x202f
jmp 0x485bd5
cmp eax, 0x3000
je case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48a2bf
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x485c2d
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 0x485c50
je 0x485c7d
cmp eax, 0xa0
ja 0x485c49
je 0x485c7d
cmp eax, 9
je 0x485c7d
cmp eax, 0x20
jmp 0x485c77
cmp eax, 0x1680
jmp 0x485c77
cmp eax, 0x205f
ja 0x485c72
je 0x485c7d
cmp eax, 0x2000
jb case.0x48421e.151
cmp eax, 0x200a
jbe 0x485c7d
cmp eax, 0x202f
jmp 0x485c77
cmp eax, 0x3000
jne case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48a2bf
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x485ccf
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 0x485ce6
je case.0x48421e.151
cmp eax, 0xa
jb 0x485cf8
cmp eax, 0xd
jmp 0x485cf2
cmp eax, 0x2028
jb 0x485cf8
cmp eax, 0x2029
jbe case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48a2bf
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x485d4a
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 0x485d61
je 0x485d77
cmp eax, 0xa
jb case.0x48421e.151
cmp eax, 0xd
jmp 0x485d71
cmp eax, 0x2028
jb case.0x48421e.151
cmp eax, 0x2029
ja case.0x48421e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48a2bf
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x485dc9
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 + 0x4add28]
shl ecx, 7
mov edx, eax
and edx, 0x7f
add ecx, edx
movzx edx, word [esi + 2]
movzx ecx, word [ecx*2 + 0x4aff28]
lea ecx, [ecx*8 + 0x4acc48]
cmp edx, 8
ja case.default.0x485dfb
jmp dword [edx*4 + 0x48c108]
cmp dword [esp + 0x14], 0xf
jmp 0x485f2b
mov cl, byte [ecx + 1]
cmp cl, 9
je 0x485f1a
cmp cl, 5
je 0x485f1a
cmp cl, 8
je 0x485f1a
xor eax, eax
jmp 0x485f1f
movzx edx, byte [ecx + 1]
movzx eax, word [esi + 4]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x4ac4a0]
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x485f2b
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 0x485f2b
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 0x485f2b
movzx eax, byte [ecx + 1]
mov eax, dword [eax*4 + 0x4ac4a0]
cmp eax, 1
je 0x485f1a
cmp eax, 3
je 0x485f1a
xor eax, eax
jmp 0x485f1f
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4ac4a0], 6
je 0x485f1a
cmp eax, 9
je 0x485f1a
cmp eax, 0xa
je 0x485f1a
cmp eax, 0xc
je 0x485f1a
cmp eax, 0xd
je 0x485f1a
xor eax, eax
jmp 0x485f1f
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4ac4a0], 6
je 0x485f1a
cmp eax, 9
je 0x485f1a
cmp eax, 0xa
je 0x485f1a
cmp eax, 0xb
jmp 0x485ecf
movzx edx, byte [ecx + 1]
mov ecx, dword [edx*4 + 0x4ac4a0]
cmp ecx, 1
je 0x485f1a
cmp ecx, 3
je 0x485f1a
cmp eax, 0x5f
je 0x485f1a
xor eax, eax
jmp 0x485f1f
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x14], 0xf
sete cl
cmp eax, ecx
je case.0x48421e.151
add esi, 6
mov dword [esp + 0x158], esi
jmp 0x4841f1
mov eax, dword [esp + 0x164]
mov edi, dword [eax + 0x7c]
cmp ebp, edi
jae 0x48a2bf
movzx eax, word [ebp]
mov ecx, eax
mov edx, 2
and ecx, 0xfc00
add ebp, edx
cmp ecx, 0xd800
jne 0x485f88
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 + 0x4add28]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4aff28]
movzx ecx, byte [eax*8 + 0x4acc49]
cmp dword [ecx*4 + 0x4ac4a0], edx
je case.0x48421e.151
cmp ebp, edi
jae 0x48602a
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x485ff5
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 + 0x4add28]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
cmp dword [eax*4 + 0x4ac4a0], edx
jne 0x48602a
lea ebp, [ebp + ecx*2]
cmp ebp, edi
jb 0x485fc1
add esi, edx
mov dword [esp + 0x158], esi
jmp 0x4841f1
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 0x48607f
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 0x48607f
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x486090
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.0x4860af
movzx edx, byte [edx + 0x48c134]
jmp dword [edx*4 + 0x48c12c]
movsx edi, byte [eax + 0x4bbc06]
add ecx, 2
mov dword [esp + 0x158], ecx
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x4bbc0e]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x486118
mov dword [esp + 0x14], SysReAllocString
jmp 0x486118
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 0x48610e
mov dword [esp + 0x14], SysReAllocString
add ecx, 6
mov dword [esp + 0x158], ecx
test ebx, ebx
je 0x4841f1
jns 0x48612a
test edi, edi
je 0x4841f1
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x486172
jmp 0x486140
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x164]
push ecx
push esi
mov eax, ebx
mov ecx, ebp
call fcn.00483f80
add esp, 8
test eax, eax
js 0x48a385
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x486140
mov eax, dword [esp + 0x14]
cmp edi, eax
je 0x4841f1
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
je 0x48a416
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x18]
push eax
push esi
mov edx, edi
mov eax, ebx
mov ecx, ebp
call fcn.00483f80
add esp, 8
test eax, eax
js 0x48a3d0
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.00484130
add esp, 0x1c
test eax, eax
je 0x4861d6
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.00483f80
add esp, 8
test eax, eax
js 0x48a501
lea ebp, [ebp + eax*2]
jmp 0x4841f1
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.0x4862a0
movzx edx, byte [edx + 0x48c144]
jmp dword [edx*4 + 0x48c13c]
movsx edi, byte [eax + 0x4bbc0e]
add dword [esp + 0x158], 2
movsx esi, byte [eax + 0x4bbc06]
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x486309
mov edi, SysReAllocString
jmp 0x486309
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 0x4862f6
mov edi, SysReAllocString
add eax, 6
mov dword [esp + 0x158], eax
jmp 0x486309
mov edi, 1
mov esi, edi
mov edx, 1
cmp esi, edx
jl 0x486392
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x48a547
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x486361
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 0x48636f
cmp dword [esp + 0x14], 0x6a
jmp 0x486387
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.0x48421e.151
inc edx
cmp edx, esi
jle 0x486324
cmp esi, edi
je 0x4841f1
cmp dword [esp + 0x1c], 0
je 0x48a5f0
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp esi, edi
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x486432
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 0x48a58b
cmp dword [esp + 0x14], 0x6a
jmp 0x48a5a3
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.0x486474
movzx edx, byte [edx + 0x48c154]
jmp dword [edx*4 + 0x48c14c]
movsx edi, byte [eax + 0x4bbc0e]
movsx esi, byte [eax + 0x4bbc06]
lea ecx, [eax - 0x62]
add ebx, 2
and ecx, 1
mov dword [esp + 0x158], ebx
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x4864d8
mov edi, SysReAllocString
jmp 0x4864d8
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 0x4864c5
mov edi, SysReAllocString
add ebx, 6
mov dword [esp + 0x158], ebx
jmp 0x4864d8
mov edi, 1
mov esi, edi
mov dword [esp + 0x28], 1
cmp esi, 1
jl 0x486558
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
mov dword [esp + 0x18], edx
cmp ebp, dword [esp + 0x18]
jae 0x48a773
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x486534
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.0048d620
add esp, 8
test eax, eax
je case.0x48421e.151
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, esi
jle 0x4864f7
cmp esi, edi
je 0x4841f1
cmp dword [esp + 0x1c], 0
je 0x48a7a6
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
jmp 0x4865b0
mov eax, dword [esp + 0x164]
cmp esi, edi
jge case.0x48421e.151
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x4865fb
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.0048d620
add esp, 8
test eax, eax
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x4865b0
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 0x486683
mov eax, 2
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
sub edx, ebp
sar edx, 1
cmp eax, edx
jg 0x48a8fc
test eax, eax
jle 0x4841f1
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.0x48421e.151
test eax, eax
jg 0x4866a1
jmp 0x4841f1
mov edi, dword [esp + 0x164]
cmp ebp, dword [edi + 0x7c]
jae 0x48a931
movzx eax, word [esi + 2]
mov ecx, eax
and ecx, 0xfc00
mov edx, 1
cmp ecx, 0xd800
jne 0x48670f
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 0x48674c
mov edx, 0xff
cmp cx, dx
ja 0x48672b
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.0x48421e.151
add esi, 4
mov dword [esp + 0x158], esi
add ebp, 2
jmp 0x4841f1
mov edi, ecx
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48677d
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 0x4841f1
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4add28]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4aff28]
mov edx, dword [edx*8 + 0x4acc4c]
add edx, eax
cmp ecx, edx
je 0x4841f1
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 0x4868aa
mov dword [esp + 0x20], 1
movzx ebx, word [esi + 2]
xor edi, edi
mov dword [esp + 0x14], ebx
cmp eax, 0x28
je 0x486803
mov dword [esp + 0x1c], ecx
cmp eax, 0x35
jne 0x48680b
mov dword [esp + 0x1c], 1
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x4868aa
xor edi, edi
add esi, 2
mov dword [esp + 0x20], 1
mov dword [esp + 0x158], esi
jmp 0x4868a2
mov edi, 1
add esi, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x158], esi
jmp 0x4868a2
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 0x4868aa
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 + 0x4bbc68]
mov ecx, eax
movsx eax, byte [eax + 0x4bbc70]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4868aa
mov dword [esp + 0x14], SysReAllocString
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 0x4868f3
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 0x486c6c
cmp edx, 0x2e
jl 0x48694c
mov edx, esi
shr edx, 7
movzx eax, byte [edx + 0x4add28]
shl eax, 7
mov ecx, esi
and ecx, 0x7f
add eax, ecx
movzx edx, word [eax*2 + 0x4aff28]
mov eax, dword [edx*8 + 0x4acc4c]
add eax, esi
cmp eax, esi
je 0x48694c
lea ecx, [esp + 0x5c]
call fcn.0048d5c0
mov dword [esp + 0x18], eax
jmp 0x486954
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x486a70
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x3c], eax
sub eax, ebx
mov dword [esp + 0x34], eax
jmp 0x486984
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x4869e5
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x4869b4
lea ecx, [ecx]
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x4869e5
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x4869a0
test eax, eax
je 0x4869d8
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x4869e5
cmp eax, 1
jbe 0x4869d8
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x4869e5
cmp eax, 2
jbe 0x4869d8
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x4869e5
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x486a5f
cmp dword [esp + 0x18], 0
jle 0x48a95c
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
add edx, edx
sub ecx, edx
cmp ebp, ecx
ja 0x48a95c
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x486a2d
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x48a95c
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x486a15
test eax, eax
je 0x486a5d
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x48a95c
cmp eax, 1
jbe 0x486a5d
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x48a95c
cmp eax, 2
jbe 0x486a5d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x48a95c
add ebp, edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x486980
cmp edi, dword [esp + 0x14]
je 0x4841f1
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
jne 0x48a97e
mov dword [esp + 0x1c], ebp
cmp edi, dword [esp + 0x14]
jge 0x486bc5
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 0x486ab5
mov ecx, dword [esp + 0x34]
cmp ebp, ecx
ja 0x486b19
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x486ae8
mov edi, edi
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x486b19
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x486ad0
test eax, eax
je 0x486b0c
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x486b19
cmp eax, 1
jbe 0x486b0c
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x486b19
cmp eax, 2
jbe 0x486b0c
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x486b19
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x486b7f
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x486b94
lea edi, [eax + eax]
mov ecx, edx
sub ecx, edi
cmp ebp, ecx
ja 0x486b94
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x486b59
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x486b94
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x486b41
test eax, eax
je 0x486b7d
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x486b94
cmp eax, 1
jbe 0x486b7d
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x486b94
cmp eax, 2
jbe 0x486b7d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x486b94
add ebp, edi
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x486ab1
jmp 0x486bc5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x486bc5
cmp ebp, dword [eax + 0x7c]
jb 0x486bc5
cmp ebp, dword [eax + 0x88]
jbe 0x486bc5
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48a2af
cmp dword [esp + 0x20], 0
jne 0x4841f1
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp ebp, dword [esp + 0x1c]
je case.0x48421e.151
mov dx, word [ebp - 2]
sub ebp, 2
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x486c38
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.00484130
add esp, 0x1c
test eax, eax
je 0x486c12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edx, 0x2e
jl 0x486de3
cmp esi, 0x7f
jbe 0x486ca7
mov ecx, esi
shr ecx, 7
movzx edx, byte [ecx + 0x4add28]
shl edx, 7
mov eax, esi
and eax, 0x7f
add edx, eax
movzx ecx, word [edx*2 + 0x4aff28]
mov edx, dword [ecx*8 + 0x4acc4c]
add edx, esi
mov dword [esp + 0x28], edx
jmp 0x486cc9
cmp esi, 0xff
ja 0x486cc3
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax + esi]
mov dword [esp + 0x28], edx
jmp 0x486cc9
mov edx, esi
mov dword [esp + 0x28], esi
mov ecx, 1
cmp edi, ecx
jl 0x486cfc
mov eax, dword [esp + 0x164]
mov ebx, dword [eax + 0x7c]
cmp ebp, ebx
jae 0x48ab74
movzx eax, word [ebp]
cmp esi, eax
je 0x486cf4
cmp edx, eax
jne case.0x48421e.151
inc ecx
add ebp, 2
cmp ecx, edi
jle 0x486cdc
mov ebx, dword [esp + 0x14]
cmp edi, ebx
je 0x4841f1
cmp dword [esp + 0x1c], 0
jne 0x48abae
mov dword [esp + 0x1c], ebp
mov eax, edi
cmp edi, ebx
jge 0x486d76
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
jmp 0x486d37
mov ecx, dword [esp + 0x164]
cmp ebp, edi
jae 0x486d51
movzx ecx, word [ebp]
cmp esi, ecx
je 0x486d47
cmp edx, ecx
jne 0x486d76
inc eax
add ebp, 2
cmp eax, ebx
jl 0x486d30
jmp 0x486d76
cmp dword [ecx + 0x8c], 0
je 0x486d76
cmp ebp, dword [ecx + 0x88]
jbe 0x486d76
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jg 0x48a2af
cmp dword [esp + 0x20], 0
jne 0x4841f1
cmp ebp, dword [esp + 0x1c]
jb 0x486dd6
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.00484130
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x48bf16
cmp ebp, dword [esp + 0x1c]
jae 0x486da0
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 0x486e12
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x48ac64
movzx ebx, word [ebp]
add ebp, 2
cmp esi, ebx
jne case.0x48421e.151
inc eax
cmp eax, edi
jle 0x486df6
cmp edi, dword [esp + 0x14]
je 0x4841f1
cmp dword [esp + 0x1c], 0
jne 0x48ac90
mov ebx, ebp
mov dword [esp + 0x1c], ebx
mov eax, edi
cmp edi, dword [esp + 0x14]
jge 0x486e7d
mov ecx, dword [edx + 0x7c]
lea esp, [esp]
cmp ebp, ecx
jae 0x486e58
movzx edi, word [ebp]
cmp esi, edi
jne 0x486e7d
inc eax
add ebp, 2
cmp eax, dword [esp + 0x14]
jl 0x486e40
jmp 0x486e7d
cmp dword [edx + 0x8c], 0
je 0x486e7d
cmp ebp, dword [edx + 0x88]
jbe 0x486e7d
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x48a2af
cmp dword [esp + 0x20], 0
jne 0x4841f1
cmp ebp, ebx
jb 0x486edb
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.00484130
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x48bf16
cmp ebp, dword [esp + 0x1c]
jae 0x486ea5
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 0x48a931
movzx ecx, word [ebp]
mov eax, ecx
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x486f2a
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 0x486f9e
cmp eax, 0x7f
jbe 0x486f6f
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4add28]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4aff28]
mov edx, dword [edx*8 + 0x4acc4c]
add edx, eax
jmp 0x486f81
cmp eax, 0xff
ja 0x486f7f
mov edx, dword [edi + 0x38]
movzx edx, byte [edx + eax]
jmp 0x486f81
mov edx, eax
cmp eax, ecx
je case.0x48421e.151
cmp edx, ecx
jne 0x4841f1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, ecx
jne 0x4841f1
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 0x487079
movzx edi, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x14], edi
cmp eax, 0x42
je 0x486fdb
mov dword [esp + 0x1c], ecx
cmp eax, 0x4f
jne 0x486fe3
mov dword [esp + 0x1c], 1
add esi, 4
jmp 0x487079
xor ecx, ecx
mov dword [esp + 0x20], 1
add esi, 2
jmp 0x487071
mov ecx, 1
mov dword [esp + 0x20], ecx
add esi, 2
jmp 0x487071
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
add esi, 2
jmp 0x487079
movzx eax, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x14], eax
add esi, 4
jmp 0x487079
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 + 0x4bbc68]
movsx eax, byte [eax + 0x4bbc70]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x487079
mov dword [esp + 0x14], SysReAllocString
movzx edi, word [esi]
add esi, 2
mov dword [esp + 0x24], edi
mov dword [esp + 0x158], esi
cmp edx, 0x48
jl 0x4872b0
cmp edi, 0x7f
jbe 0x4870c5
mov edx, edi
shr edx, 7
movzx eax, byte [edx + 0x4add28]
shl eax, 7
mov edx, edi
and edx, 0x7f
add eax, edx
movzx eax, word [eax*2 + 0x4aff28]
mov esi, dword [eax*8 + 0x4acc4c]
add esi, edi
mov dword [esp + 0x28], esi
jmp 0x4870e7
cmp edi, 0xff
ja 0x4870e1
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx esi, byte [eax + edi]
mov dword [esp + 0x28], esi
jmp 0x4870e7
mov esi, edi
mov dword [esp + 0x28], edi
mov edx, 1
cmp ecx, edx
jl 0x487154
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x48a773
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x48713f
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.0x48421e.151
cmp esi, eax
je case.0x48421e.151
inc edx
cmp edx, ecx
jle 0x487102
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x4841f1
cmp dword [esp + 0x1c], 0
jne 0x48ad40
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x4871fe
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, 1
cmp ebp, edi
jae 0x4871d7
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4871c0
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 0x4871fe
cmp dword [esp + 0x28], eax
je 0x4871fe
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x487181
jmp 0x4871fe
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x4871fe
cmp ebp, dword [eax + 0x88]
jbe 0x4871fe
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x48a2af
cmp dword [esp + 0x20], 0
jne 0x4841f1
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48421e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x487273
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.00484130
add esp, 0x1c
test eax, eax
je 0x48724b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ecx, edx
jl 0x487316
mov esi, dword [eax + 0x7c]
cmp ebp, esi
jae 0x48a773
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x487302
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.0x48421e.151
inc edx
cmp edx, ecx
jle 0x4872c7
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x4841f1
cmp dword [esp + 0x1c], 0
jne 0x48ae29
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x4873b7
mov edi, dword [eax + 0x7c]
jmp 0x487347
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x487397
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x487386
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 0x4873b7
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x487340
jmp 0x4873b7
cmp dword [eax + 0x8c], 0
je 0x4873b7
cmp ebp, dword [eax + 0x88]
jbe 0x4873b7
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x48a2af
cmp dword [esp + 0x20], 0
jne 0x4841f1
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48421e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48742c
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.00484130
add esp, 0x1c
test eax, eax
je 0x487404
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 0x487532
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 0x487532
xor ebx, ebx
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x48752a
mov ebx, 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x48752a
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 0x487532
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 0x487532
lea eax, [edx - 0x55]
movsx ebx, byte [eax + 0x4bbc68]
mov edx, eax
movsx eax, byte [eax + 0x4bbc70]
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 0x487532
mov dword [esp + 0x14], SysReAllocString
movzx eax, word [esi]
add esi, 2
mov dword [esp + 0x18], eax
mov dword [esp + 0x158], esi
cmp eax, 0x10
je 0x48755a
cmp eax, 0xf
je 0x48755a
mov edi, dword [esp + 0x2c]
or eax, 0xffffffff
mov dword [esp + 0x28], eax
jmp 0x487583
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 0x487689
cmp eax, ecx
jl 0x487b73
cmp eax, 8
ja case.default.0x485dfb
jmp dword [eax*4 + 0x48c15c]
cmp edi, ecx
jne case.0x48421e.151
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48af0b
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x4875e0
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x4875c2
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x48af37
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48763c
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 + 0x4add28]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
cmp eax, 9
je 0x487673
cmp eax, 5
je 0x487673
cmp eax, 8
je 0x487673
xor eax, eax
jmp 0x487678
mov eax, 1
cmp eax, edi
je case.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x487601
mov esi, dword [esp + 0x164]
mov edi, dword [esp + 0x14]
cmp ebx, edi
je 0x4841f1
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x28]
jne 0x48afa9
mov dword [esp + 0x1c], ebp
test eax, eax
js 0x488adc
cmp eax, 8
ja case.default.0x485dfb
jmp dword [eax*4 + 0x48c180]
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48af6a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x487715
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 + 0x4add28]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp dword [eax*4 + 0x4ac4a0], esi
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x4876da
jmp 0x487689
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48af6a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x4877bb
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 + 0x4add28]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
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.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x487780
jmp 0x487689
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48af6a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x487856
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 + 0x4add28]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc48]
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.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x48781b
jmp 0x487689
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48af37
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x4878f1
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 + 0x4add28]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
mov eax, dword [eax*4 + 0x4ac4a0]
cmp eax, 1
je 0x48792a
cmp eax, 3
je 0x48792a
xor eax, eax
jmp 0x48792f
mov eax, 1
cmp eax, edi
je case.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x4878b6
jmp 0x487689
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x48af37
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x48799a
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 + 0x4add28]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4aff28]
movzx esi, byte [esi*8 + 0x4acc49]
cmp dword [esi*4 + 0x4ac4a0], edi
je 0x4879e1
cmp eax, 9
je 0x4879e1
cmp eax, 0xa
je 0x4879e1
cmp eax, 0xc
je 0x4879e1
cmp eax, 0xd
je 0x4879e1
xor eax, eax
jmp 0x4879e6
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48421e.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x48795f
jmp 0x487689
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x48af37
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x487a57
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 + 0x4add28]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4aff28]
movzx esi, byte [esi*8 + 0x4acc49]
cmp dword [esi*4 + 0x4ac4a0], edi
je 0x487aa3
cmp eax, 9
je 0x487aa3
cmp eax, 0xa
je 0x487aa3
cmp eax, 0xb
je 0x487aa3
cmp eax, 0xc
je 0x487aa3
cmp eax, 0xd
je 0x487aa3
xor eax, eax
jmp 0x487aa8
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48421e.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x487a1c
jmp 0x487689
mov edx, 1
cmp ebx, edx
jl 0x487689
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
cmp ebp, edi
jae 0x48af6a
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x487b16
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 + 0x4add28]
shl ecx, 7
mov esi, eax
and esi, 0x7f
add ecx, esi
movzx ecx, word [ecx*2 + 0x4aff28]
movzx ecx, byte [ecx*8 + 0x4acc49]
mov ecx, dword [ecx*4 + 0x4ac4a0]
cmp ecx, 1
je 0x487b56
cmp ecx, 3
je 0x487b56
cmp eax, 0x5f
je 0x487b56
xor eax, eax
jmp 0x487b5b
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48421e.151
inc edx
cmp edx, ebx
jle 0x487adb
jmp 0x487689
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x487c85
lea esi, [eax - 0x15]
cmp ebx, esi
jl 0x487689
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x48af6a
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x487bd0
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 + 0x4add28]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4aff28]
movzx ecx, byte [eax*8 + 0x4acc49]
cmp dword [ecx*4 + 0x4ac4a0], 2
je case.0x48421e.151
cmp ebp, edx
jae 0x487c77
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x487c41
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 + 0x4add28]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
cmp dword [eax*4 + 0x4ac4a0], 2
jne 0x487c77
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x487c0a
inc esi
cmp esi, ebx
jle 0x487b95
jmp 0x487689
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x485dfb
jmp dword [eax*4 + 0x48c1a4]
mov edi, 1
cmp ebx, edi
jl 0x487689
mov ecx, dword [esp + 0x164]
lea esp, [esp]
cmp ebp, dword [ecx + 0x7c]
jae 0x48af3e
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x487ceb
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.0048d420
add esp, 8
test eax, eax
jne case.0x48421e.151
mov ecx, dword [esp + 0x164]
jmp 0x487d1b
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x487d1b
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x487d1b
cmp eax, 1
je case.0x48421e.151
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je case.0x48421e.151
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x487d3c
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov eax, 0xdc00
cmp dx, ax
jne 0x487d3c
add ebp, 2
inc edi
cmp edi, ebx
jle 0x487cb0
jmp 0x487689
mov eax, 1
cmp ebx, eax
jl 0x487689
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x48af0b
add ebp, 2
cmp ebp, ecx
jae 0x487d89
mov dx, word [ebp]
mov edi, 0xfc00
and dx, di
mov edi, 0xdc00
cmp dx, di
jne 0x487d89
add ebp, 2
inc eax
cmp eax, ebx
jle 0x487d61
jmp 0x487690
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
lea eax, [ebx + ebx]
sub ecx, eax
cmp ebp, ecx
ja case.0x48421e.151
add ebp, eax
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48af7d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x487e03
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 0x487e28
je 0x487e18
cmp eax, 0xa
je 0x487e47
add eax, 0xfffffff5
jmp 0x487e34
cmp ebp, edx
jae 0x487e47
cmp word [ebp], 0xa
jne 0x487e47
add ebp, 2
jmp 0x487e47
cmp eax, 0x85
je 0x487e3d
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x48421e.151
cmp dword [esi + 0x68], 0
jne case.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x487dc8
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
lea esp, [esp]
cmp ebp, edx
jae 0x48af7d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x487eab
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 0x487edd
je case.0x48421e.151
cmp eax, 0xa0
ja 0x487ed6
je case.0x48421e.151
cmp eax, 9
je case.0x48421e.151
cmp eax, 0x20
jmp 0x487f08
cmp eax, 0x1680
jmp 0x487f08
cmp eax, 0x205f
ja 0x487f03
je case.0x48421e.151
cmp eax, 0x2000
jb 0x487f0e
cmp eax, 0x200a
jbe case.0x48421e.151
cmp eax, 0x202f
jmp 0x487f08
cmp eax, 0x3000
je case.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x487e70
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48af7d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x487f6e
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 0x487fa3
je 0x487fd0
cmp eax, 0xa0
ja 0x487f99
je 0x487fd0
cmp eax, 9
je 0x487fd0
cmp eax, 0x20
jmp 0x487fca
cmp eax, 0x1680
jmp 0x487fca
cmp eax, 0x205f
ja 0x487fc5
je 0x487fd0
cmp eax, 0x2000
jb case.0x48421e.151
cmp eax, 0x200a
jbe 0x487fd0
cmp eax, 0x202f
jmp 0x487fca
cmp eax, 0x3000
jne case.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x487f33
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48af7d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x488034
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 0x48804b
je case.0x48421e.151
cmp eax, 0xa
jb 0x48805d
cmp eax, 0xd
jmp 0x488057
cmp eax, 0x2028
jb 0x48805d
cmp eax, 0x2029
jbe case.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x487ff5
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
mov edi, edi
cmp ebp, edx
jae 0x48af7d
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x4880bf
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 0x4880d0
je 0x4880de
add eax, 0xfffffff6
cmp eax, 3
jmp 0x4880d8
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x488080
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x48af0b
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x48813f
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 0x488153
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
jne case.0x48421e.151
inc ecx
cmp ecx, ebx
jle 0x488100
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48af7d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x48421e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
je case.0x48421e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x488174
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x48af0b
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x4881e3
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
jne case.0x48421e.151
add ebp, 2
cmp ebp, edx
jae 0x488207
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x488207
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x4881c0
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48af7d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x48421e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
je case.0x48421e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x488228
jmp 0x487690
mov ecx, 1
cmp ebx, ecx
jl 0x487689
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x48af0b
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x488296
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
jne case.0x48421e.151
add ebp, 2
cmp ebp, edx
jae 0x4882ba
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x4882ba
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x488273
jmp 0x487690
mov esi, dword [esp + 0x164]
mov ecx, 1
cmp ebx, ecx
jl 0x487690
mov edx, dword [esi + 0x7c]
jmp 0x4882e0
cmp ebp, edx
jae 0x48af7d
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x48421e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
je case.0x48421e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x4882e0
jmp 0x487690
mov ecx, ebx
cmp ebx, edi
jge 0x488a2d
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
mov eax, 1
cmp ebp, edx
jae 0x48836b
mov si, word [ebp]
mov edi, 0xfc00
and si, di
mov edi, 0xd800
cmp si, di
jne 0x488350
mov eax, 2
cmp dword [esp + 0x2c], 0
jne 0x488a2d
inc ecx
lea ebp, [ebp + eax*2]
cmp ecx, dword [esp + 0x14]
jl 0x488328
jmp 0x488a2d
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x488a2d
mov ecx, eax
cmp ebp, dword [ecx + 0x88]
jbe 0x488a2d
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x488a27
mov edx, ebx
cmp ebx, edi
jge 0x488a2d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x4883c7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4885c3
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48840a
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 + 0x4add28]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
cmp eax, 9
je 0x488441
cmp eax, 5
je 0x488441
cmp eax, 8
je 0x488441
xor eax, eax
jmp 0x488446
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x488a2d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4883c0
jmp 0x488a2d
mov edx, ebx
cmp ebx, edi
jge 0x488a2d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x38]
mov eax, ecx
jmp 0x488487
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4885c3
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4884ca
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 + 0x4add28]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
xor ebx, ebx
cmp dword [eax*4 + 0x4ac4a0], edi
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x488a2d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x488480
jmp 0x488a2d
mov edx, ebx
cmp ebx, edi
jge 0x488a2d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x4885bc
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x488573
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 + 0x4add28]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x488a2d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x488530
jmp 0x488a2d
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x488a2d
cmp ebp, dword [eax + 0x88]
jbe 0x488a2d
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x488a27
mov edx, ebx
cmp ebx, edi
jge 0x488a2d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x4885bc
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x488641
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 + 0x4add28]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc48]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x488a2d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x488602
jmp 0x488a2d
mov edx, ebx
cmp ebx, edi
jge 0x488a2d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, 1
jmp 0x4886a8
mov eax, dword [esp + 0x164]
mov ecx, edi
cmp ebp, esi
jae 0x488741
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4886e8
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 + 0x4add28]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
mov eax, dword [eax*4 + 0x4ac4a0]
cmp eax, edi
je 0x488720
cmp eax, 3
je 0x488720
xor eax, eax
jmp 0x488722
mov eax, edi
cmp eax, dword [esp + 0x2c]
je 0x488a2d
add edx, edi
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x4886a1
jmp 0x488a2d
cmp dword [eax + 0x8c], 0
je 0x488a2d
cmp ebp, dword [eax + 0x88]
jbe 0x488a2d
mov dword [eax + 0x64], edi
cmp dword [eax + 0x8c], edi
jmp 0x488a27
mov edx, ebx
cmp ebx, edi
jge 0x488a2d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov eax, ecx
jmp 0x488787
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4885c3
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4887ca
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 + 0x4add28]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4aff28]
movzx edi, byte [edi*8 + 0x4acc49]
cmp dword [edi*4 + 0x4ac4a0], 6
je 0x48881e
cmp eax, 9
je 0x48881e
cmp eax, 0xa
je 0x48881e
cmp eax, 0xc
je 0x48881e
cmp eax, 0xd
je 0x48881e
xor eax, eax
jmp 0x488823
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x488a2d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x488780
jmp 0x488a2d
mov edx, ebx
cmp ebx, edi
jge 0x488a2d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
jmp 0x488867
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4885c3
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x4888aa
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 + 0x4add28]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4aff28]
movzx edi, byte [edi*8 + 0x4acc49]
cmp dword [edi*4 + 0x4ac4a0], 6
je 0x48890b
cmp eax, 9
je 0x48890b
cmp eax, 0xa
je 0x48890b
cmp eax, 0xb
je 0x48890b
cmp eax, 0xc
je 0x48890b
cmp eax, 0xd
je 0x48890b
xor eax, eax
jmp 0x488910
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x488a2d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x488860
jmp 0x488a2d
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x488a2d
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov eax, edx
jmp 0x488957
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x488a05
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48899a
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 + 0x4add28]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4aff28]
movzx ecx, byte [ecx*8 + 0x4acc49]
mov ecx, dword [ecx*4 + 0x4ac4a0]
cmp ecx, 1
je 0x4889e2
cmp ecx, 3
je 0x4889e2
cmp eax, 0x5f
je 0x4889e2
xor eax, eax
jmp 0x4889e7
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x488a2d
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x14]
jl 0x488950
jmp 0x488a2d
cmp dword [eax + 0x8c], 0
je 0x488a2d
cmp ebp, dword [eax + 0x88]
jbe 0x488a2d
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x48a2af
cmp dword [esp + 0x20], 0
jne 0x4841f1
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
lea ebx, [ebx]
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48421e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x488aa8
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.00484130
add esp, 0x1c
test eax, eax
je 0x488a80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x488d1e
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x488c39
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
mov ebx, 2
jmp 0x488b17
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, edx
jae 0x488c11
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x488b57
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 + 0x4add28]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
cmp dword [eax*4 + 0x4ac4a0], ebx
je 0x488c39
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jae 0x488c01
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x488bcc
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 + 0x4add28]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
cmp dword [eax*4 + 0x4ac4a0], ebx
jne 0x488c01
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x488b94
inc esi
cmp esi, dword [esp + 0x14]
jl 0x488b10
jmp 0x488c39
cmp dword [eax + 0x8c], 0
je 0x488c39
cmp ebp, dword [eax + 0x88]
jbe 0x488c39
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48a2af
cmp dword [esp + 0x20], 0
jne 0x4841f1
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov edx, ebp
mov ecx, 2
sub ebp, ecx
cmp edx, dword [esp + 0x1c]
je case.0x48421e.151
lea esp, [esp]
mov ax, word [ebp]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x488cb8
sub ebp, ecx
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x488ce9
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 + 0x4add28]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4aff28]
movzx edx, byte [eax*8 + 0x4acc49]
cmp dword [edx*4 + 0x4ac4a0], ecx
jne 0x48bed9
sub ebp, ecx
jmp 0x488ca0
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x485dfb
jmp dword [eax*4 + 0x48c1e4]
cmp edi, 0x7fffffff
mov edi, ebx
jge 0x488e26
cmp ebx, dword [esp + 0x14]
jge 0x4891b3
lea esp, [esp]
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x488dff
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x488d92
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.0048d420
add esp, 8
test eax, eax
jne 0x4891b3
mov ecx, dword [esp + 0x164]
jmp 0x488dca
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x488dca
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x488dca
cmp eax, 1
je 0x4891b3
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x4891b3
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x488def
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x488def
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x488d50
jmp 0x4891b3
cmp dword [ecx + 0x8c], 0
je 0x4891b3
mov edx, ecx
cmp ebp, dword [edx + 0x88]
jbe 0x4891b3
mov ecx, 1
mov eax, edx
jmp 0x4891a4
cmp ebx, dword [esp + 0x14]
jge 0x4891b3
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x488dff
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x488e6e
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.0048d420
add esp, 8
test eax, eax
jne 0x4891b3
mov ecx, dword [esp + 0x164]
jmp 0x488ea6
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x488ea6
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x488ea6
cmp eax, 1
je 0x4891b3
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x4891b3
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x488ecf
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x488ecf
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x488e30
jmp 0x4891b3
cmp edi, 0x7fffffff
jge 0x488f45
mov eax, ebx
cmp ebx, edi
jge 0x4891b3
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x488f48
add ebp, 2
cmp ebp, ecx
jae 0x488f28
mov dx, word [ebp]
mov ebx, 0xfc00
and dx, bx
mov ebx, 0xdc00
cmp dx, bx
jne 0x488f28
add ebp, 2
inc eax
cmp eax, edi
jl 0x488ef8
jmp 0x4891b3
mov ecx, dword [esi + 0x7c]
sub edi, ebx
sub ecx, ebp
mov eax, edi
sar ecx, 1
cmp eax, ecx
jbe 0x488f74
mov ebp, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je 0x4891b3
cmp ebp, dword [esi + 0x88]
jbe 0x4891b3
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x4891ad
lea ebp, [ebp + eax*2]
jmp 0x4891b3
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4891b3
mov ebx, dword [esp + 0x164]
mov edx, dword [ebx + 0x7c]
mov ecx, 1
cmp ebp, edx
jae 0x489057
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x488fd6
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 0x488ffd
add ebp, 2
cmp ebp, edx
jae 0x4891b3
cmp word [ebp], 0xa
jne 0x489047
add ebp, 2
jmp 0x489047
cmp eax, 0xa
je 0x489043
cmp dword [ebx + 0x68], 0
jne 0x4891b3
cmp eax, 0xb
je 0x489043
cmp eax, 0xc
je 0x489043
cmp eax, 0x85
je 0x489043
cmp eax, 0x2028
je 0x489043
cmp eax, 0x2029
jne 0x4891b3
lea ebp, [ebp + ecx*2]
inc esi
cmp esi, dword [esp + 0x14]
jl 0x488f93
jmp 0x4891b3
cmp dword [ebx + 0x8c], 0
je 0x4891b3
cmp ebp, dword [ebx + 0x88]
jbe 0x4891b3
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x8c], ecx
jmp 0x4891ad
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4891b3
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x489184
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4890db
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 0x489118
je 0x48915b
cmp eax, 0xa0
ja 0x48910e
je 0x48915b
cmp eax, 9
je 0x48915b
cmp eax, 0x20
jmp 0x48914e
cmp eax, 0x1680
jmp 0x48914e
cmp eax, 0x205f
ja 0x489149
je 0x48915b
cmp eax, 0x2000
jb 0x489154
cmp eax, 0x200a
jbe 0x48915b
cmp eax, 0x202f
jmp 0x48914e
cmp eax, 0x3000
je 0x48915b
xor eax, eax
jmp 0x489160
mov eax, 1
xor ebx, ebx
cmp dword [esp + 0x18], 0x12
sete bl
cmp eax, ebx
je 0x4891b3
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x489098
jmp 0x4891b3
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x4891b3
cmp ebp, dword [eax + 0x88]
jbe 0x4891b3
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x48a2af
cmp dword [esp + 0x20], 0
jne 0x4841f1
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov eax, dword [esp + 0x1c]
mov ecx, ebp
sub ebp, 2
cmp ecx, eax
je case.0x48421e.151
mov dx, word [ebp]
mov ecx, 0xfc00
and dx, cx
mov ecx, 0xdc00
cmp dx, cx
jne 0x48922e
sub ebp, 2
cmp dword [esp + 0x18], 0x11
jne 0x48925a
cmp ebp, eax
jbe 0x48925a
cmp word [ebp], 0xa
jne 0x48925a
cmp word [ebp - 2], 0xd
jne 0x48925a
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.00484130
add esp, 0x1c
test eax, eax
je 0x489200
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4891b3
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x489184
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4892ef
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 0x489338
je 0x489342
cmp eax, 0xa
jb 0x489312
cmp eax, 0xd
jbe 0x489342
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x18], 0x14
sete bl
cmp eax, ebx
je 0x4891b3
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x4892ac
jmp 0x4891b3
add eax, 0xffffdfd8
cmp eax, 1
ja 0x489312
mov eax, 1
jmp 0x489314
mov edx, ebx
cmp ebx, edi
jge 0x4891b3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x489377
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48918b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4893ba
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 0x4893d9
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
jne 0x4891b3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x489370
jmp 0x4891b3
mov edx, ebx
cmp ebx, edi
jge 0x4891b3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x489417
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48918b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48945a
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 0x4891b3
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
je 0x4891b3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x489410
jmp 0x4891b3
mov edx, ebx
cmp ebx, edi
jge 0x4891b3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x4894b7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48918b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4894fa
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 0x489519
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
jne 0x4891b3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4894b0
jmp 0x4891b3
mov edx, ebx
cmp ebx, edi
jge 0x4891b3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x489557
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48918b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48959a
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 0x4891b3
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
je 0x4891b3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x489550
jmp 0x4891b3
mov edx, ebx
cmp ebx, edi
jge 0x4891b3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x4895f7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48918b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x48963a
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 0x489659
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
jne 0x4891b3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4895f0
jmp 0x4891b3
mov edx, ebx
cmp ebx, edi
jge 0x4891b3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x489688
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x48918b
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4896cb
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 0x4891b3
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
je 0x4891b3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x489681
jmp 0x4891b3
mov eax, dword [ebx + 0x90]
cmp eax, dword [esp + 0x160]
jle 0x48971a
mov dword [esp + 0x160], eax
movzx edx, word [esi + 6]
cmp word [esi + edx*2 + 4], 0x71
lea eax, [esi + edx*2 + 4]
jne 0x48973e
mov edi, edi
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
je 0x489730
mov edx, dword [esp + 0x14]
add eax, 4
cmp edx, 0x86
je 0x489fe0
mov dword [esp + 0x158], eax
jmp 0x489ad3
cmp word [esi], 0x74
jne 0x4897a0
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov edx, dword [esp + 0x18]
mov dword [esp + 0x158], edx
jmp 0x489ad3
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x489ad3
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 0x4898f0
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 0x489862
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 + 0x4ac400]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.00484130
add esp, 0x1c
cmp eax, 0xfffffc1c
je 0x489f54
cmp eax, 0xfffffc20
jne 0x489f20
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48bf16
cmp word [edi], 0x71
je 0x4898d8
cmp word [ecx], 0x71
jne 0x48bf16
xor eax, eax
jmp 0x489f28
mov ebx, dword [esp + 0x164]
jmp 0x4898f0
cmp edx, 0x82
jge 0x48993e
cmp edx, 0x7b
je 0x48993e
cmp dword [ebx + 0x6c], 0
jne 0x489948
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
je 0x489948
movzx ecx, word [eax]
movzx edx, byte [ecx + 0x4ac400]
lea eax, [eax + edx*2]
mov dword [esp + 0x158], eax
jmp 0x489ad3
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 + 0x4ac400]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.00484130
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x4899c5
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x48bf16
cmp word [edi], 0x71
je 0x4899cd
cmp word [ecx], 0x71
jne 0x48bf16
jmp 0x4899cd
test eax, eax
jne 0x489f85
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.0x48421e.151
mov edx, dword [esp + 0x14]
jmp 0x4898f0
movzx eax, word [ecx]
cmp eax, 0x75
je 0x48a194
cmp eax, 0x74
jne 0x489a66
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
movzx eax, word [edi]
cmp eax, 0x7b
je 0x48a1b0
mov edx, 0x82
cmp ax, dx
jae 0x48a1d1
mov dword [esp + 0x158], edi
jmp 0x489ad3
mov eax, 0x82
cmp word [edi], ax
jb 0x489a7e
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.00484130
add esp, 0x1c
cmp eax, 0xfffffc1c
jne 0x489ab9
cmp dword [ebx + 0xb8], edi
jmp 0x489abb
test eax, eax
jne 0x48bf16
cmp word [edi], 0x7b
je 0x48a20b
add dword [esp + 0x158], 4
mov ecx, dword [ebx]
cmp ecx, dword [ebx + 4]
jb 0x4841b3
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 + 0x4ac400]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.00484130
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x489b73
cmp edi, 0xfffffc19
jne 0x489b93
cmp dword [esi + 0xb0], 0
jne 0x489b93
mov dword [esi + 0xb0], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edi, 0xfffffc1f
jne 0x48a0f9
mov eax, dword [esi + 0x80]
mov ecx, ebx
call fcn.0048d370
test eax, eax
jne 0x48a0f9
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 + 0x4ac400]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.00484130
add esp, 0x1c
test eax, eax
je 0x489c3c
cmp eax, 0xfffffc1d
je 0x489c3c
cmp eax, 0xfffffc1e
je 0x489c3c
cmp eax, 0xfffffc1f
je 0x489c3c
cmp eax, 0xfffffc20
jne 0x48bf16
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 + 0x4ac400]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00484130
add esp, 0x1c
test eax, eax
je 0x489c9f
cmp eax, 0xfffffc20
jne 0x48bf16
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 + 0x4ac400]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.00484130
add esp, 0x1c
cmp eax, 1
je 0x489d1f
cmp eax, 0xfffffc19
jne 0x489c8c
cmp dword [ebx + 0xb0], 0
jne 0x489c8c
mov dword [ebx + 0xb0], esi
jmp 0x489c8c
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 + 0x4ac400]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00484130
add esp, 0x1c
test eax, eax
je 0x489d95
cmp eax, 0xfffffc1d
je 0x489d95
cmp eax, 0xfffffc20
jne 0x48bf16
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 + 0x4ac400]
push ecx
movzx ecx, word [esi + 2]
add eax, ecx
lea edx, [esi + eax*2]
push edx
push ebp
call fcn.00484130
add esp, 0x1c
test eax, eax
je 0x489e08
cmp eax, 0xfffffc1d
je 0x489e08
cmp eax, 0xfffffc20
jne 0x48bf16
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 + 0x4ac400]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
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 + 0x4ac400]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push ebp
call fcn.00484130
add esp, 0x1c
cmp eax, 1
je 0x489eef
cmp eax, 0xfffffc19
jne 0x489f02
cmp dword [esi + 0xb0], 0
jne 0x489f02
mov dword [esi + 0xb0], ebx
test eax, eax
jne 0x48bf16
mov dword [esi + 0x80], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
test eax, eax
jne 0x48bf16
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 0x489843
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 0x48bf16
movzx edx, word [edi]
mov ecx, edi
cmp edx, 0x7b
je 0x489fc7
cmp edx, 0x71
jne 0x489fbe
jmp 0x489fb0
movzx edx, word [ecx + 2]
cmp word [ecx + edx*2], 0x71
lea ecx, [ecx + edx*2]
je 0x489fb0
movzx edx, word [ecx + 2]
neg edx
lea ecx, [ecx + edx*2]
cmp dword [ebx + 0xb8], ecx
jne 0x48bf16
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.00484130
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x15c]
cmp ebp, ecx
jne 0x48a085
cmp edx, 0x99
je 0x48a085
mov eax, dword [esp + 0x164]
cmp dword [eax + 0xa8], 0
jne 0x48a08c
cmp dword [eax + 0x5c], 0
jne 0x48a078
cmp dword [eax + 0x60], 0
je 0x48a08c
mov esi, dword [eax + 0x98]
mov edi, dword [eax + 0x78]
lea esi, [edi + esi*2]
cmp ecx, esi
jne 0x48a08c
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 0x48a0f9
push eax
call dword [0x4c436c]
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 0x48a12d
push eax
call dword [0x4c436c]
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 0x48a25c
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.00484130
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 0x48a25c
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
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.0x48421e.151
cmp ebp, dword [ebx + 0x88]
jbe case.0x48421e.151
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jle case.0x48421e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [eax + 0x8c], ecx
je case.0x48421e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48421e.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x48421e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48421e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jle case.0x48421e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [edx + 0x88]
jbe case.0x48421e.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jle case.0x48421e.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.0x48421e.151
cmp ebp, dword [eax + 0x7c]
jb case.0x48421e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48421e.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x48421e.151
lea eax, [ecx - 0xd]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edi + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [edi + 0x7c]
jb case.0x48421e.151
cmp ebp, dword [edi + 0x88]
jbe case.0x48421e.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jle case.0x48421e.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 0x48a4a4
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.00483f80
add esp, 8
test eax, eax
js 0x48a464
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x48a430
jmp 0x48a49a
cmp dword [edi + 0x8c], 0
je 0x48a49a
cmp ebp, dword [edi + 0x7c]
jb 0x48a49a
cmp ebp, dword [edi + 0x88]
jbe 0x48a49a
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jg 0x48a2af
cmp ebp, dword [esp + 0x1c]
jb 0x48a4f4
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov edx, ebx
neg edx
lea ebp, [ebp + edx*2]
cmp ebp, dword [esp + 0x1c]
jae 0x48a4b2
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [esi + 0x7c]
jb case.0x48421e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x48421e.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jle case.0x48421e.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.0x48421e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48421e.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jle case.0x48421e.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.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x4863e7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [esp + 0x1c], ebp
mov edx, esi
cmp esi, edi
jge 0x48a6d5
mov eax, dword [esp + 0x164]
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x18], ecx
jmp 0x48a627
mov eax, dword [esp + 0x164]
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x48a6ad
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48a66c
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 0x48a67d
cmp dword [esp + 0x14], 0x6a
jmp 0x48a695
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 0x48a6d5
inc edx
lea ebp, [ebp + esi*2]
cmp edx, edi
jl 0x48a620
jmp 0x48a6d5
cmp dword [eax + 0x8c], 0
je 0x48a6d5
cmp ebp, dword [eax + 0x88]
jbe 0x48a6d5
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x48a2af
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48421e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x48a73f
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.00484130
add esp, 0x1c
test eax, eax
je 0x48a717
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48421e.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jmp 0x48a2e5
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], esi
cmp esi, edi
jge 0x48a865
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x18], eax
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x48a836
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x48a809
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.0048d620
add esp, 8
test eax, eax
je 0x48a865
mov eax, dword [esp + 0x28]
inc eax
lea ebp, [ebp + esi*2]
mov dword [esp + 0x28], eax
cmp eax, edi
jl 0x48a7c4
jmp 0x48a865
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x48a865
cmp ebp, dword [eax + 0x88]
jbe 0x48a865
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x48a2af
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x1c]
je case.0x48421e.151
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x48a8c8
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.00484130
add esp, 0x1c
test eax, eax
je 0x48a8a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x48421e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48421e.151
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x8c], 1
jmp 0x48a2e5
cmp dword [edi + 0x8c], ecx
je case.0x48421e.151
cmp ebp, dword [edi + 0x88]
jbe case.0x48421e.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jmp 0x48a2e5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [eax + 0x7c]
jb case.0x48421e.151
jmp 0x48a2cb
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp edi, dword [esp + 0x14]
jge case.0x48421e.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 0x48aa5d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x48aa18
jmp 0x48aa00
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x48aa5d
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x48aa00
test eax, eax
je 0x48aa50
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x48aa5d
cmp eax, 1
jbe 0x48aa50
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x48aa5d
cmp eax, 2
jbe 0x48aa50
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x48aa5d
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x48aae2
cmp dword [esp + 0x18], 0
jle 0x48ab38
mov edx, dword [esp + 0x18]
add edx, edx
sub edi, edx
cmp ebp, edi
ja 0x48ab38
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x48aaa8
lea ecx, [ecx]
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x48ab38
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x48aa90
test eax, eax
je 0x48aae0
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x48ab38
cmp eax, 1
jbe 0x48aae0
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x48ab38
cmp eax, 2
jbe 0x48aae0
mov cl, byte [ecx + 2]
cmp cl, byte [esi + 2]
jne 0x48ab38
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.00484130
add esp, 0x1c
test eax, eax
je 0x48a9c0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x48421e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48421e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x48a2e5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48421e.151
mov ecx, dword [esp + 0x164]
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x48a2e5
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp ebx, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
cmp esi, eax
je 0x48ac1e
cmp dword [esp + 0x28], eax
jne case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48abf2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [edx + 0x88]
jbe case.0x48421e.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jmp 0x48a2e5
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp ebx, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx edx, word [ebp]
add ebp, 2
cmp esi, edx
jne case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48acd4
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp esi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48add5
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.0x48421e.151
cmp dword [esp + 0x28], eax
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48ad84
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
lea ecx, [ecx]
cmp esi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48aec1
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.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48ae70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x48421e.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x48a2e5
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48421e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x48a2e5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
jmp 0x48a2c5
cmp dword [esi + 0x8c], 0
je case.0x48421e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x48421e.151
mov dword [esi + 0x64], 1
cmp dword [esi + 0x8c], 1
jmp 0x48a2e5
test eax, eax
js 0x48b985
cmp eax, 8
ja case.default.0x485dfb
jmp dword [eax*4 + 0x48c224]
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp esi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x48b035
add ebp, 2
cmp dword [esp + 0x2c], 0
jne case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48b005
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp edi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48b111
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 + 0x4add28]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4aff28]
movzx eax, byte [edx*8 + 0x4acc49]
cmp eax, 9
je 0x48b14c
cmp eax, 5
je 0x48b14c
cmp eax, 8
je 0x48b14c
xor eax, eax
jmp 0x48b151
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48b0c0
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
nop
cmp esi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48b231
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 + 0x4add28]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4aff28]
movzx eax, byte [edx*8 + 0x4acc49]
mov edx, dword [esp + 0x38]
xor ecx, ecx
cmp dword [eax*4 + 0x4ac4a0], edx
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48b1e0
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp esi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48b344
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 + 0x4add28]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4aff28]
movzx eax, byte [edx*8 + 0x4acc49]
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48b2f3
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
nop
cmp esi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48b451
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 + 0x4add28]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4aff28]
movzx ecx, byte [eax*8 + 0x4acc48]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48b400
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
lea esp, [esp]
cmp edi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x48b561
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 + 0x4add28]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4aff28]
movzx eax, byte [edx*8 + 0x4acc49]
mov eax, dword [eax*4 + 0x4ac4a0]
cmp eax, 1
je 0x48b59a
cmp eax, 3
je 0x48b59a
xor eax, eax
jmp 0x48b59f
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48b510
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
lea ecx, [ecx]
cmp edi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48b681
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 + 0x4add28]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4aff28]
movzx ecx, byte [edx*8 + 0x4acc49]
cmp dword [ecx*4 + 0x4ac4a0], 6
je 0x48b6d1
cmp eax, 9
je 0x48b6d1
cmp eax, 0xa
je 0x48b6d1
cmp eax, 0xc
je 0x48b6d1
cmp eax, 0xd
je 0x48b6d1
xor eax, eax
jmp 0x48b6d6
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48b630
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp edi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48b7b5
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 + 0x4add28]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4aff28]
movzx ecx, byte [edx*8 + 0x4acc49]
cmp dword [ecx*4 + 0x4ac4a0], 6
je 0x48b80e
cmp eax, 9
je 0x48b80e
cmp eax, 0xa
je 0x48b80e
cmp eax, 0xb
je 0x48b80e
cmp eax, 0xc
je 0x48b80e
cmp eax, 0xd
je 0x48b80e
xor eax, eax
jmp 0x48b813
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48b764
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp edi, dword [esp + 0x14]
jge case.0x48421e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x48af71
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48b8f2
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 + 0x4add28]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4aff28]
movzx ecx, byte [edx*8 + 0x4acc49]
mov ecx, dword [ecx*4 + 0x4ac4a0]
cmp ecx, 1
je 0x48b936
cmp ecx, 3
je 0x48b936
cmp eax, 0x5f
je 0x48b936
xor eax, eax
jmp 0x48b93b
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48b8a1
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 0x48bb19
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
mov eax, dword [esp + 0x164]
cmp edi, dword [esp + 0x14]
jge case.0x48421e.151
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x48af71
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48ba27
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 + 0x4add28]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4aff28]
movzx ecx, byte [eax*8 + 0x4acc49]
cmp dword [ecx*4 + 0x4ac4a0], 2
je case.0x48421e.151
cmp ebp, edx
jae 0x48bad2
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x48ba9c
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 + 0x4add28]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4aff28]
movzx eax, byte [eax*8 + 0x4acc49]
cmp dword [eax*4 + 0x4ac4a0], 2
jne 0x48bad2
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x48ba61
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.00484130
add esp, 0x1c
test eax, eax
je 0x48b9d4
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.00484130
add esp, 0x1c
test eax, eax
jne 0x48bf16
cmp edi, dword [esp + 0x14]
jge case.0x48421e.151
cmp ebp, dword [esi + 0x7c]
jae 0x48af0b
cmp dword [esp + 0x18], 0xc
jne 0x48bbd1
mov eax, dword [esi + 0x18]
test eax, eax
je 0x48bba1
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.0048d420
add esp, 8
test eax, eax
jne case.0x48421e.151
mov esi, dword [esp + 0x164]
jmp 0x48bbd1
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x7c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x48bbd1
mov cx, word [ebp]
cmp cx, word [esi + 0x2c]
jne 0x48bbd1
cmp eax, 1
je case.0x48421e.151
mov dx, word [ebp + 2]
cmp dx, word [esi + 0x2e]
je case.0x48421e.151
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x48bc08
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.0x485dfb
jmp dword [ecx*4 + 0x48c248]
cmp eax, 0xd
ja 0x48bc5d
je 0x48bc41
cmp eax, 0xa
je case.0x48bc18.12
jbe case.0x48421e.151
cmp eax, 0xc
jmp 0x48bc74
cmp ebp, dword [esi + 0x7c]
jae case.0x48bc18.12
cmp word [ebp], 0xa
jne case.0x48bc18.12
add ebp, 2
jmp case.0x48bc18.12
cmp eax, 0x85
je 0x48bc7a
cmp eax, 0x2027
jbe case.0x48421e.151
cmp eax, 0x2029
ja case.0x48421e.151
cmp dword [esi + 0x68], 0
jne case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x180e
ja 0x48bcc2
je case.0x48421e.151
cmp eax, 0xa0
ja 0x48bcb8
je case.0x48421e.151
cmp eax, 9
je case.0x48421e.151
cmp eax, 0x20
jmp 0x48be93
cmp eax, 0x1680
jmp 0x48be93
cmp eax, 0x205f
ja 0x48bcef
je case.0x48421e.151
cmp eax, 0x2000
jb case.0x48bc18.12
cmp eax, 0x200a
jbe case.0x48421e.151
cmp eax, 0x202f
jmp 0x48be93
cmp eax, 0x3000
jmp 0x48be93
cmp eax, 0x180e
ja 0x48bd3e
je case.0x48bc18.12
cmp eax, 0xa0
ja 0x48bd2e
je case.0x48bc18.12
cmp eax, 9
je case.0x48bc18.12
cmp eax, 0x20
jne case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x1680
jne case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x205f
ja 0x48bd71
je case.0x48bc18.12
cmp eax, 0x2000
jb case.0x48421e.151
cmp eax, 0x200a
jbe case.0x48bc18.12
cmp eax, 0x202f
jne case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x3000
jne case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x85
ja 0x48bda5
je case.0x48421e.151
cmp eax, 0xa
jb case.0x48bc18.12
cmp eax, 0xd
jbe case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x2028
jb case.0x48bc18.12
cmp eax, 0x2029
jbe case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x85
ja 0x48bde4
je case.0x48bc18.12
cmp eax, 0xa
jb case.0x48421e.151
cmp eax, 0xd
ja case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x2028
jb case.0x48421e.151
cmp eax, 0x2029
ja case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x100
jae case.0x48bc18.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 4
jne case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x100
jae case.0x48421e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 4
jmp 0x48be93
cmp eax, 0x100
jae case.0x48bc18.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 1
jne case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x100
jae case.0x48421e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 1
jmp 0x48be93
cmp eax, 0x100
jae case.0x48bc18.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x48421e.151
jmp case.0x48bc18.12
cmp eax, 0x100
jae case.0x48421e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 0x10
je case.0x48421e.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.00484130
add esp, 0x1c
test eax, eax
je 0x48bb4a
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.00484130
add esp, 0x1c
test eax, eax
je 0x488c86
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