Function at 0x48f760
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 0x48f7c0
cmp dword [esp + 0x16c], eax
jne 0x48f7a0
push 1
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0x184]
push eax
call fcn.0048f760
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 0x49510e
mov ebp, dword [esp + 0x154]
jmp 0x48f7e5
xor eax, eax
inc ecx
mov dword [ebx], ecx
mov ecx, dword [esp + 0x16c]
cmp ecx, dword [ebx + 8]
jae 0x495120
cmp dword [ebx + 0x9c], 2
jne 0x48f821
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.0x48f84e.98
movzx edi, byte [edx + 0x49769c]
jmp dword [edi*4 + 0x497554]
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x70], ecx
je 0x4953db
movzx edx, byte [edx + 0x4bc900]
movzx eax, word [esi + 2]
add edx, eax
lea ecx, [esi + edx*2]
mov dword [esp + 0x158], ecx
jmp 0x48f821
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.0048f760
add esp, 0x1c
cmp eax, 1
je 0x48f995
cmp eax, 0xfffffc20
jne 0x48f8fe
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x497546
cmp word [esi], 0x71
je 0x48f906
cmp word [ecx], 0x71
jmp 0x48f900
test eax, eax
jne 0x497546
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 0x48f8a0
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x7c
je 0x48f940
cmp eax, 0x71
jne case.0x48f84e.151
jmp 0x48f940
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 0x48f940
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 0x48f986
cmp ebp, dword [esp + 0x20]
jne 0x494d8d
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48f821
mov edi, dword [ebx + 0x80]
mov dword [esp + 0x15c], edi
jmp 0x48f92a
mov dword [esp + 0x24], ecx
jmp 0x4904a9
cmp word [esi + 4], 0x70
movzx edi, word [esi + 2]
mov ebx, dword [esp + 0x164]
jne 0x48faa4
mov ecx, dword [0x4d9634]
test ecx, ecx
je 0x48fa9a
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.0x48f84e.151
js 0x497546
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 0x48fcaa
cmp ecx, 0x8a
je 0x48fcaa
cmp ecx, 0x87
je 0x48fb3b
cmp ecx, 0x88
je 0x48fb3b
cmp ecx, 0x8b
jne 0x48fae7
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x48fde8
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.0048f760
add esp, 0x1c
cmp eax, 1
je 0x494d30
test eax, eax
je 0x48fb2f
cmp eax, 0xfffffc20
jne 0x497546
mov edx, dword [esp + 0x14]
lea eax, [esi + edi*2]
jmp 0x48fde8
movzx eax, word [esi + 6]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x48fb57
mov edi, dword [ebx + 0xc]
cmp dword [edi + eax*4], 0
jge 0x48fc95
mov dword [esp + 0x20], 0
cmp ecx, 0x88
jne 0x48fc5f
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 0x48fb92
lea ecx, [ecx]
movzx edx, word [esi]
cmp edx, eax
je 0x48fb92
mov edx, dword [ebx + 0x24]
inc edi
lea esi, [esi + edx*2]
cmp edi, ecx
jl 0x48fb80
cmp edi, ecx
jge 0x48fc5f
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x28]
mov ebx, esi
mov dword [esp + 0x30], eax
cmp esi, eax
jbe 0x48fc03
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.004989a0
test eax, eax
jne 0x48fc03
movzx eax, word [ebx]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x48fbf5
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0xc]
cmp dword [ecx + eax*4], 0
jge 0x48fc84
mov dword [esp + 0x20], 0
cmp ebx, dword [esp + 0x30]
ja 0x48fbc0
inc edi
cmp edi, dword [esp + 0x18]
jge 0x48fc5f
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.004989a0
test eax, eax
jne 0x48fc5f
movzx eax, word [esi]
add eax, eax
cmp eax, dword [esp + 0x160]
jge 0x48fc50
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax*4], 0
jge 0x48fc88
inc edi
mov dword [esp + 0x20], 0
cmp edi, dword [esp + 0x18]
jl 0x48fc20
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 0x48fddd
mov ebx, edx
jmp 0x48fc8a
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 0x48fddd
cmp dword [ebx + 0xa8], 0
jne 0x48fcbf
movzx ecx, word [esi + 2]
lea eax, [esi + ecx*2]
jmp 0x48fde8
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x48fe01
mov eax, dword [ebx + 0xa8]
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
cmp edx, eax
je 0x48fe01
mov dword [esp + 0x20], 0
cmp ecx, 0x8a
jne 0x48fdb4
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 0x48fd22
nop
movzx edi, word [esi]
cmp edi, edx
je 0x48fd22
mov edi, dword [ecx + 0x24]
inc ebx
lea esi, [esi + edi*2]
cmp ebx, eax
jl 0x48fd10
cmp ebx, eax
jge 0x48fdb4
mov eax, dword [ecx + 0x28]
mov edi, esi
mov dword [esp + 0x34], eax
cmp esi, eax
jbe 0x48fd6f
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.004989a0
test eax, eax
jne 0x48fd6f
movzx ecx, word [edi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x48fe09
cmp edi, dword [esp + 0x34]
ja 0x48fd40
inc ebx
cmp ebx, dword [esp + 0x18]
jge 0x48fdb4
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.004989a0
test eax, eax
jne 0x48fdb4
movzx ecx, word [esi]
cmp ecx, dword [esp + 0x30]
sete al
mov dword [esp + 0x20], eax
test eax, eax
jne 0x48fe09
inc ebx
cmp ebx, dword [esp + 0x18]
jl 0x48fd89
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 0x494d72
cmp word [eax], 0x71
je 0x494d72
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x48f821
mov dword [esp + 0x20], 1
mov eax, 2
jmp 0x48fdbf
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 0x48fe44
add dword [esp + 0x158], 4
mov dword [ecx + 0x40], 1
jmp 0x48f821
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 0x48fe73
add eax, 2
mov dword [esp + 0x160], eax
add dword [esp + 0x158], 4
jmp 0x48f821
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0xb0]
mov eax, 1
mov dword [esp + 0x24], edx
cmp dword [esi + 0x9c], eax
jne 0x48feaa
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x48feae
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.0048f760
add esp, 0x1c
cmp eax, 1
je 0x48ff24
cmp eax, 0xfffffc19
je 0x48ff24
test eax, eax
je 0x48fefd
cmp eax, 0xfffffc20
jne 0x497546
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 0x48fec0
jmp 0x48ff31
mov edx, dword [esi + 0x80]
mov dword [esp + 0x15c], edx
mov eax, dword [esp + 0x158]
cmp word [eax], 0x72
je case.0x48f84e.151
cmp dword [esp + 0x20], 0
jne 0x495791
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 0x48ff50
mov edx, dword [esi + 0x90]
add dword [esp + 0x158], 4
mov dword [esp + 0x160], edx
jmp 0x48f821
mov esi, dword [esp + 0x164]
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x24], eax
mov eax, 1
cmp dword [esi + 0x9c], eax
jne 0x48ffb0
mov dword [esp + 0x20], eax
mov dword [esi + 0x9c], ecx
jmp 0x48ffb4
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.0048f760
mov ecx, dword [esp + 0x40]
add esp, 0x1c
mov dword [esi + 0xb0], ecx
cmp eax, 1
je case.0x48f84e.151
cmp eax, 0xfffffc19
je case.0x48f84e.151
cmp eax, 0xfffffc1e
je 0x490040
cmp eax, 0xfffffc1d
je 0x490040
cmp eax, 0xfffffc1a
je 0x490040
test eax, eax
je 0x490026
cmp eax, 0xfffffc20
jne 0x497546
movzx edx, word [edi + 2]
cmp word [edi + edx*2], 0x71
lea eax, [edi + edx*2]
mov dword [esp + 0x158], eax
jne 0x49005c
jmp 0x48ffbb
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 0x490040
cmp dword [esp + 0x20], 0
jne 0x495791
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x48f821
movzx eax, word [esi + 2]
mov edx, dword [esp + 0x164]
cmp eax, ecx
jle 0x4900b1
mov ecx, dword [edx + 0x78]
sub ebp, 2
dec eax
cmp ebp, ecx
jb case.0x48f84e.151
mov di, word [ebp]
mov ebx, 0xfc00
and di, bx
mov ebx, 0xdc00
cmp di, bx
jne 0x4900ad
sub ebp, 2
test eax, eax
jg 0x490088
cmp ebp, dword [edx + 0x88]
jae 0x4900bf
mov dword [edx + 0x88], ebp
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48f821
mov esi, dword [0x4d9634]
mov edi, dword [esp + 0x158]
test esi, esi
je 0x4901a4
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.0x48f84e.151
js 0x497546
add edi, 0xc
mov dword [esp + 0x158], edi
jmp 0x48f821
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 0x4901d3
xor ecx, ecx
jmp 0x4901d7
movzx ecx, word [esi + 4]
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x4901f5
cmp ecx, dword [eax + 4]
jne 0x4901ef
cmp ebp, dword [eax + 0x10]
je 0x4956ec
mov eax, dword [eax]
test eax, eax
jne 0x4901e1
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 0x490232
lea eax, [esp + 0xd8]
mov dword [esp + 0x48], eax
jmp 0x490253
lea eax, [ecx*4]
push eax
call dword [0x4d4458]
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
je 0x4956fc
mov ecx, dword [esp + 0x4c]
mov edx, dword [ebx + 0xc]
add ecx, ecx
add ecx, ecx
push ecx
push edx
push eax
call fcn.004a3680
mov eax, 0x82
add esp, 0xc
cmp word [esi], ax
sbb eax, eax
inc eax
mov dword [esp + 0x20], eax
test eax, eax
je 0x490282
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 + 0x4bc900]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.0048f760
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.004a3680
mov eax, dword [esp + 0x4c]
add esp, 0xc
mov dword [ebx + 0xa8], eax
cmp edi, 1
je 0x490326
cmp edi, 0xfffffc19
je 0x490326
test edi, edi
je 0x490301
cmp edi, 0xfffffc20
jne 0x49570c
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 0x495736
mov eax, dword [esp + 0x20]
jmp 0x490274
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x49033f
push eax
call dword [0x4d445c]
add esp, 4
mov edx, dword [ebx + 0x80]
mov ebp, dword [ebx + 0x84]
mov dword [esp + 0x15c], edx
jmp 0x48f821
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.0x48f84e.113
jmp 0x48f821
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
jmp 0x4903d0
movzx ecx, word [esi + 2]
cmp word [esi + ecx*2], 0x71
lea esi, [esi + ecx*2]
je 0x4903d0
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48f821
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 0x490400
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov dword [esp + 0x158], esi
jmp 0x48f821
lea eax, [esi + 2]
jmp 0x490460
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
lea eax, [eax + edx*2]
je 0x490460
add eax, 4
mov dword [esp + 0x158], eax
jmp 0x48f821
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 0x4904a9
cmp eax, 0x85
jne 0x49065b
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 0x490653
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 0x49052f
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 + 0x4bc900]
push ecx
lea ecx, [edi + eax*2]
push ecx
push ebp
call fcn.0048f760
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x4905a6
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 0x490500
cmp eax, 0xfffffc20
jne 0x4905cc
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x497546
cmp word [edi], 0x71
je 0x4905d4
cmp word [ecx], 0x71
jmp 0x4905ce
test eax, eax
jne 0x497546
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 0x490500
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x49062a
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 0x490639
test edx, edx
je case.0x48f84e.151
add dword [esp + 0x158], 4
jmp 0x48f821
mov ebx, dword [esp + 0x164]
mov dword [esp + 0x24], ecx
jmp 0x490662
xor ecx, ecx
mov dword [esp + 0x24], ecx
jmp 0x490662
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 0x49069a
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 + 0x4bc900]
push edi
push ebx
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.0048f760
add esp, 0x1c
cmp eax, 0xfffffc1b
jne 0x4906fa
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 0x490686
cmp eax, 0xfffffc20
jne 0x490720
movzx ecx, word [esi + 2]
lea ecx, [esi + ecx*2]
cmp dword [edi + 0x80], ecx
jae 0x497546
cmp word [esi], 0x71
je 0x490728
cmp word [ecx], 0x71
jmp 0x490722
test eax, eax
jne 0x497546
movzx edx, word [esi + 2]
cmp word [esi + edx*2], 0x71
lea esi, [esi + edx*2]
je 0x490686
cmp dword [esp + 0x18], 0
jne 0x49074c
cmp dword [esp + 0x24], 0
je case.0x48f84e.151
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x48f821
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 0x49078c
cmp eax, 0x7b
je 0x49078c
mov dword [esp + 0x20], 0
jmp 0x4907a3
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 0x4907b1
cmp eax, 0x7a
jbe 0x49576a
cmp eax, 0x7c
je 0x49576a
cmp eax, 0x7f
je 0x4907e1
mov edx, 0x84
cmp ax, dx
je 0x4907e1
mov edx, 0x80
cmp ax, dx
je 0x4907e1
mov edx, 0x85
cmp ax, dx
jne 0x49087f
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 0x49080b
mov esi, dword [ebx + 0xa8]
cmp dword [esi + 4], eax
je 0x4957a1
mov esi, dword [esp + 0x160]
mov dword [ebx + 0x94], eax
cmp edx, dword [ebx + 0x14]
jl 0x490829
mov dword [ebx + 0x40], 1
jmp 0x49088d
cmp edx, esi
jle 0x49084a
mov eax, dword [ebx + 0xc]
lea edi, [eax + esi*4]
lea ecx, [eax + edx*4]
cmp edi, ecx
jae 0x490846
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 0x49088d
lea esi, [edx + 2]
mov dword [esp + 0x160], esi
jmp 0x49088d
mov esi, dword [esp + 0x160]
mov ebx, dword [esp + 0x164]
cmp word [ecx], 0x72
je 0x49089d
cmp ebp, dword [esp + 0x20]
jne 0x495024
cmp word [edi], 0x7b
je 0x495866
add ecx, 4
mov dword [esp + 0x158], ecx
jmp 0x48f821
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x4908d4
cmp ebp, dword [eax + 0x78]
je case.0x48f84e.151
jmp 0x4908d4
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x78]
jne case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x44], ecx
je 0x490901
cmp ebp, dword [eax + 0x78]
je case.0x48f84e.151
mov edx, dword [eax + 0x78]
cmp ebp, edx
je 0x490980
cmp ebp, dword [eax + 0x7c]
je case.0x48f84e.151
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x490949
cmp ebp, edx
jbe case.0x48f84e.151
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.00498b10
add esp, 8
test eax, eax
je case.0x48f84e.151
add dword [esp + 0x158], 2
jmp 0x48f821
mov esi, dword [eax + 0x1c]
mov ecx, dword [eax + 0x78]
lea edx, [esi + esi]
add ecx, edx
cmp ebp, ecx
jb case.0x48f84e.151
mov ecx, ebp
sub ecx, edx
mov dx, word [ecx]
cmp dx, word [eax + 0x2c]
jne case.0x48f84e.151
cmp esi, 1
je 0x490980
mov cx, word [ecx + 2]
cmp cx, word [eax + 0x2e]
jne case.0x48f84e.151
add dword [esp + 0x158], 2
jmp 0x48f821
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.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
add esi, 2
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x158], esi
jmp 0x48f821
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x490a58
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x490a15
mov edx, dword [eax + 0x7c]
push 1
push ecx
lea esi, [eax + 0x1c]
mov ecx, ebp
call fcn.00498a50
add esp, 8
test eax, eax
je case.0x48f84e.151
mov esi, dword [esp + 0x158]
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov ecx, dword [eax + 0x1c]
mov edi, dword [eax + 0x7c]
lea edx, [ecx + ecx]
sub edi, edx
cmp ebp, edi
ja case.0x48f84e.151
mov dx, word [ebp]
cmp dx, word [eax + 0x2c]
jne case.0x48f84e.151
cmp ecx, 1
je 0x490a85
mov cx, word [ebp + 2]
cmp cx, word [eax + 0x2e]
jne case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
cmp dword [eax + 0x48], ecx
jne case.0x48f84e.151
cmp dword [eax + 0x8c], ecx
je 0x490a85
cmp ebp, dword [eax + 0x88]
jbe 0x490a85
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x4958df
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov ebx, dword [esp + 0x164]
cmp dword [ebx + 0x48], ecx
jne case.0x48f84e.151
cmp dword [ebx + 0x58], ecx
je 0x490af5
jmp 0x490ab2
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jb case.0x48f84e.151
cmp dword [ebx + 0x8c], ecx
je 0x490adf
cmp ebp, dword [ebx + 0x88]
jbe 0x490adf
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x4958df
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov ebx, dword [esp + 0x164]
cmp ebp, dword [ebx + 0x7c]
jae 0x490b66
mov eax, dword [ebx + 0x18]
lea esi, [ebx + 0x1c]
cmp eax, ecx
je 0x490b22
mov edx, dword [ebx + 0x7c]
push 1
push eax
mov ecx, ebp
call fcn.00498a50
add esp, 8
test eax, eax
je case.0x48f84e.151
jmp 0x490b55
mov eax, dword [esi]
mov ecx, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub ecx, edx
cmp ebp, ecx
ja case.0x48f84e.151
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne case.0x48f84e.151
cmp eax, 1
je 0x490b55
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
jne case.0x48f84e.151
mov ecx, dword [esi]
mov edx, dword [ebx + 0x7c]
add ecx, ecx
sub edx, ecx
cmp ebp, edx
jne case.0x48f84e.151
cmp dword [ebx + 0x8c], 0
je 0x490b8b
cmp ebp, dword [ebx + 0x88]
jbe 0x490b8b
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jg 0x4958df
add dword [esp + 0x158], 2
jmp 0x48f821
mov edx, dword [esp + 0x164]
cmp ebp, dword [edx + 0x78]
je 0x490c64
mov ax, word [ebp - 2]
lea ecx, [ebp - 2]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x490bc4
sub ecx, 2
cmp ecx, dword [edx + 0x88]
jae 0x490bd2
mov dword [edx + 0x88], ecx
movzx eax, word [ecx]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x490bfe
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 0x490c4d
cmp eax, 0x5f
jne 0x490c11
lea ecx, [eax - 0x5e]
jmp 0x490c66
mov ecx, eax
shr ecx, 7
movzx ecx, byte [ecx + 0x4be228]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0428]
movzx ecx, byte [eax*8 + 0x4bd149]
mov eax, dword [ecx*4 + 0x4bc9a0]
cmp eax, 1
je 0x490c46
cmp eax, 3
jne 0x490c64
mov ecx, 1
jmp 0x490c66
cmp eax, 0x100
jae 0x490c64
mov ecx, dword [edx + 0x3c]
test byte [eax + ecx], 0x10
je 0x490c64
mov ecx, 1
jmp 0x490c66
xor ecx, ecx
cmp ebp, dword [edx + 0x7c]
jb 0x490cb5
cmp dword [edx + 0x8c], 0
je 0x490c90
cmp ebp, dword [edx + 0x88]
jbe 0x490c90
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x4958df
xor eax, eax
mov dx, word [esi]
add esi, 2
mov dword [esp + 0x158], esi
cmp dx, 5
jne 0x490d59
xor edx, edx
cmp eax, ecx
sete dl
jmp 0x490d60
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x490ce2
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 0x490d37
cmp eax, 0x5f
jne 0x490cf4
mov eax, 1
jmp 0x490c92
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4be228]
and eax, 0x7f
shl edx, 7
add edx, eax
movzx eax, word [edx*2 + 0x4c0428]
movzx edx, byte [eax*8 + 0x4bd149]
mov eax, dword [edx*4 + 0x4bc9a0]
cmp eax, 1
je 0x490d2d
cmp eax, 3
jne 0x490c90
mov eax, 1
jmp 0x490c92
cmp eax, 0x100
jae 0x490c90
mov edx, dword [edx + 0x3c]
test byte [eax + edx], 0x10
je 0x490c90
mov eax, 1
jmp 0x490c92
xor edx, edx
cmp eax, ecx
setne dl
mov eax, edx
test eax, eax
je 0x48f821
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 0x490db4
cmp ebp, dword [ebx + 0x7c]
jae 0x490ded
mov edx, dword [ebx + 0x7c]
push 1
lea esi, [ebx + 0x1c]
push eax
mov ecx, ebp
call fcn.00498a50
add esp, 8
test eax, eax
jne case.0x48f84e.151
mov esi, dword [esp + 0x158]
xor ecx, ecx
jmp 0x490ded
mov eax, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x7c]
lea edx, [eax + eax]
sub edi, edx
cmp ebp, edi
ja 0x490ded
mov dx, word [ebp]
cmp dx, word [ebx + 0x2c]
jne 0x490ded
cmp eax, 1
je case.0x48f84e.151
mov ax, word [ebp + 2]
cmp ax, word [ebx + 0x2e]
je case.0x48f84e.151
jmp 0x490ded
mov ebx, dword [esp + 0x164]
mov eax, dword [ebx + 0x7c]
cmp ebp, eax
jae 0x4958b3
add ebp, 2
cmp ebp, eax
jae 0x490e18
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x490e18
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4958ef
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x49592b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490e8c
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 0x490ea0
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
jne case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x49592b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490ef2
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.0x48f84e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 4
je case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x49592b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490f5c
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 0x490f70
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
jne case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x49592b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x490fc2
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.0x48f84e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 1
je case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x49592b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x49102c
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 0x491040
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x49592b
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x491092
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.0x48f84e.151
mov ecx, dword [ecx + 0x3c]
test byte [eax + ecx], 0x10
je case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov edx, dword [esp + 0x164]
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x495968
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x4910fe
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 0x491132
je 0x491115
cmp eax, 0xa
je 0x491159
jbe case.0x48f84e.151
cmp eax, 0xc
jmp 0x491149
cmp ebp, ecx
jae 0x491159
cmp word [ebp], 0xa
jne 0x491159
add ebp, 2
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
cmp eax, 0x85
je 0x49114f
cmp eax, 0x2027
jbe case.0x48f84e.151
cmp eax, 0x2029
ja case.0x48f84e.151
cmp dword [edx + 0x68], 0
jne case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4958ef
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4911ab
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 0x4911da
je case.0x48f84e.151
cmp eax, 0xa0
ja 0x4911d3
je case.0x48f84e.151
cmp eax, 9
je case.0x48f84e.151
cmp eax, 0x20
jmp 0x491205
cmp eax, 0x1680
jmp 0x491205
cmp eax, 0x205f
ja 0x491200
je case.0x48f84e.151
cmp eax, 0x2000
jb 0x49120b
cmp eax, 0x200a
jbe case.0x48f84e.151
cmp eax, 0x202f
jmp 0x491205
cmp eax, 0x3000
je case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4958ef
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x49125d
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 0x491280
je 0x4912ad
cmp eax, 0xa0
ja 0x491279
je 0x4912ad
cmp eax, 9
je 0x4912ad
cmp eax, 0x20
jmp 0x4912a7
cmp eax, 0x1680
jmp 0x4912a7
cmp eax, 0x205f
ja 0x4912a2
je 0x4912ad
cmp eax, 0x2000
jb case.0x48f84e.151
cmp eax, 0x200a
jbe 0x4912ad
cmp eax, 0x202f
jmp 0x4912a7
cmp eax, 0x3000
jne case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4958ef
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4912ff
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 0x491316
je case.0x48f84e.151
cmp eax, 0xa
jb 0x491328
cmp eax, 0xd
jmp 0x491322
cmp eax, 0x2028
jb 0x491328
cmp eax, 0x2029
jbe case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4958ef
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x49137a
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 0x491391
je 0x4913a7
cmp eax, 0xa
jb case.0x48f84e.151
cmp eax, 0xd
jmp 0x4913a1
cmp eax, 0x2028
jb case.0x48f84e.151
cmp eax, 0x2029
ja case.0x48f84e.151
add esi, 2
mov dword [esp + 0x158], esi
jmp 0x48f821
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4958ef
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x4913f9
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 + 0x4be228]
shl ecx, 7
mov edx, eax
and edx, 0x7f
add ecx, edx
movzx edx, word [esi + 2]
movzx ecx, word [ecx*2 + 0x4c0428]
lea ecx, [ecx*8 + 0x4bd148]
cmp edx, 8
ja case.default.0x49142b
jmp dword [edx*4 + 0x497738]
cmp dword [esp + 0x14], 0xf
jmp 0x49155b
mov cl, byte [ecx + 1]
cmp cl, 9
je 0x49154a
cmp cl, 5
je 0x49154a
cmp cl, 8
je 0x49154a
xor eax, eax
jmp 0x49154f
movzx edx, byte [ecx + 1]
movzx eax, word [esi + 4]
xor ecx, ecx
cmp eax, dword [edx*4 + 0x4bc9a0]
setne cl
xor edx, edx
cmp dword [esp + 0x14], 0x10
sete dl
cmp ecx, edx
jmp 0x49155b
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 0x49155b
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 0x49155b
movzx eax, byte [ecx + 1]
mov eax, dword [eax*4 + 0x4bc9a0]
cmp eax, 1
je 0x49154a
cmp eax, 3
je 0x49154a
xor eax, eax
jmp 0x49154f
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4bc9a0], 6
je 0x49154a
cmp eax, 9
je 0x49154a
cmp eax, 0xa
je 0x49154a
cmp eax, 0xc
je 0x49154a
cmp eax, 0xd
je 0x49154a
xor eax, eax
jmp 0x49154f
movzx edx, byte [ecx + 1]
cmp dword [edx*4 + 0x4bc9a0], 6
je 0x49154a
cmp eax, 9
je 0x49154a
cmp eax, 0xa
je 0x49154a
cmp eax, 0xb
jmp 0x4914ff
movzx edx, byte [ecx + 1]
mov ecx, dword [edx*4 + 0x4bc9a0]
cmp ecx, 1
je 0x49154a
cmp ecx, 3
je 0x49154a
cmp eax, 0x5f
je 0x49154a
xor eax, eax
jmp 0x49154f
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x14], 0xf
sete cl
cmp eax, ecx
je case.0x48f84e.151
add esi, 6
mov dword [esp + 0x158], esi
jmp 0x48f821
mov eax, dword [esp + 0x164]
mov edi, dword [eax + 0x7c]
cmp ebp, edi
jae 0x4958ef
movzx eax, word [ebp]
mov ecx, eax
mov edx, 2
and ecx, 0xfc00
add ebp, edx
cmp ecx, 0xd800
jne 0x4915b8
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 + 0x4be228]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0428]
movzx ecx, byte [eax*8 + 0x4bd149]
cmp dword [ecx*4 + 0x4bc9a0], edx
je case.0x48f84e.151
cmp ebp, edi
jae 0x49165a
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x491625
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 + 0x4be228]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
cmp dword [eax*4 + 0x4bc9a0], edx
jne 0x49165a
lea ebp, [ebp + ecx*2]
cmp ebp, edi
jb 0x4915f1
add esi, edx
mov dword [esp + 0x158], esi
jmp 0x48f821
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 0x4916af
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 0x4916af
mov ebx, dword [eax + 4]
sub ebx, ecx
jmp 0x4916c0
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.0x4916df
movzx edx, byte [edx + 0x497764]
jmp dword [edx*4 + 0x49775c]
movsx edi, byte [eax + 0x4cc106]
add ecx, 2
mov dword [esp + 0x158], ecx
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x4cc10e]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x491748
mov dword [esp + 0x14], closesocket
jmp 0x491748
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 0x49173e
mov dword [esp + 0x14], closesocket
add ecx, 6
mov dword [esp + 0x158], ecx
test ebx, ebx
je 0x48f821
jns 0x49175a
test edi, edi
je 0x48f821
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x4917a2
jmp 0x491770
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x164]
push ecx
push esi
mov eax, ebx
mov ecx, ebp
call fcn.0048f5b0
add esp, 8
test eax, eax
js 0x4959b5
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x491770
mov eax, dword [esp + 0x14]
cmp edi, eax
je 0x48f821
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
je 0x495a46
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov edi, dword [esp + 0x164]
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x18]
push eax
push esi
mov edx, edi
mov eax, ebx
mov ecx, ebp
call fcn.0048f5b0
add esp, 8
test eax, eax
js 0x495a00
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.0048f760
add esp, 0x1c
test eax, eax
je 0x491806
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.0048f5b0
add esp, 8
test eax, eax
js 0x495b31
lea ebp, [ebp + eax*2]
jmp 0x48f821
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.0x4918d0
movzx edx, byte [edx + 0x497774]
jmp dword [edx*4 + 0x49776c]
movsx edi, byte [eax + 0x4cc10e]
add dword [esp + 0x158], 2
movsx esi, byte [eax + 0x4cc106]
lea ecx, [eax - 0x62]
and ecx, 1
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x491939
mov edi, closesocket
jmp 0x491939
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 0x491926
mov edi, closesocket
add eax, 6
mov dword [esp + 0x158], eax
jmp 0x491939
mov edi, 1
mov esi, edi
mov edx, 1
cmp esi, edx
jl 0x4919c2
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x495b77
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x491991
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 0x49199f
cmp dword [esp + 0x14], 0x6a
jmp 0x4919b7
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.0x48f84e.151
inc edx
cmp edx, esi
jle 0x491954
cmp esi, edi
je 0x48f821
cmp dword [esp + 0x1c], 0
je 0x495c20
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp esi, edi
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x491a62
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 0x495bbb
cmp dword [esp + 0x14], 0x6a
jmp 0x495bd3
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.0x491aa4
movzx edx, byte [edx + 0x497784]
jmp dword [edx*4 + 0x49777c]
movsx edi, byte [eax + 0x4cc10e]
movsx esi, byte [eax + 0x4cc106]
lea ecx, [eax - 0x62]
add ebx, 2
and ecx, 1
mov dword [esp + 0x158], ebx
mov dword [esp + 0x1c], ecx
test edi, edi
jne 0x491b08
mov edi, closesocket
jmp 0x491b08
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 0x491af5
mov edi, closesocket
add ebx, 6
mov dword [esp + 0x158], ebx
jmp 0x491b08
mov edi, 1
mov esi, edi
mov dword [esp + 0x28], 1
cmp esi, 1
jl 0x491b88
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
mov dword [esp + 0x18], edx
cmp ebp, dword [esp + 0x18]
jae 0x495da3
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x491b64
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.00498c50
add esp, 8
test eax, eax
je case.0x48f84e.151
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, esi
jle 0x491b27
cmp esi, edi
je 0x48f821
cmp dword [esp + 0x1c], 0
je 0x495dd6
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
jmp 0x491be0
mov eax, dword [esp + 0x164]
cmp esi, edi
jge case.0x48f84e.151
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x491c2b
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.00498c50
add esp, 8
test eax, eax
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x491be0
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 0x491cb3
mov eax, 2
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
sub edx, ebp
sar edx, 1
cmp eax, edx
jg 0x495f2c
test eax, eax
jle 0x48f821
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.0x48f84e.151
test eax, eax
jg 0x491cd1
jmp 0x48f821
mov edi, dword [esp + 0x164]
cmp ebp, dword [edi + 0x7c]
jae 0x495f61
movzx eax, word [esi + 2]
mov ecx, eax
and ecx, 0xfc00
mov edx, 1
cmp ecx, 0xd800
jne 0x491d3f
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 0x491d7c
mov edx, 0xff
cmp cx, dx
ja 0x491d5b
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.0x48f84e.151
add esi, 4
mov dword [esp + 0x158], esi
add ebp, 2
jmp 0x48f821
mov edi, ecx
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x491dad
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 0x48f821
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4be228]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4c0428]
mov edx, dword [edx*8 + 0x4bd14c]
add edx, eax
cmp ecx, edx
je 0x48f821
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 0x491eda
mov dword [esp + 0x20], 1
movzx ebx, word [esi + 2]
xor edi, edi
mov dword [esp + 0x14], ebx
cmp eax, 0x28
je 0x491e33
mov dword [esp + 0x1c], ecx
cmp eax, 0x35
jne 0x491e3b
mov dword [esp + 0x1c], 1
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x491eda
xor edi, edi
add esi, 2
mov dword [esp + 0x20], 1
mov dword [esp + 0x158], esi
jmp 0x491ed2
mov edi, 1
add esi, 2
mov dword [esp + 0x20], edi
mov dword [esp + 0x158], esi
jmp 0x491ed2
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 0x491eda
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 + 0x4cc168]
mov ecx, eax
movsx eax, byte [eax + 0x4cc170]
and ecx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test eax, eax
jne 0x491eda
mov dword [esp + 0x14], closesocket
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 0x491f23
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 0x49229c
cmp edx, 0x2e
jl 0x491f7c
mov edx, esi
shr edx, 7
movzx eax, byte [edx + 0x4be228]
shl eax, 7
mov ecx, esi
and ecx, 0x7f
add eax, ecx
movzx edx, word [eax*2 + 0x4c0428]
mov eax, dword [edx*8 + 0x4bd14c]
add eax, esi
cmp eax, esi
je 0x491f7c
lea ecx, [esp + 0x5c]
call fcn.00498bf0
mov dword [esp + 0x18], eax
jmp 0x491f84
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 1
cmp edi, 1
jl 0x4920a0
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x3c], eax
sub eax, ebx
mov dword [esp + 0x34], eax
jmp 0x491fb4
mov eax, dword [esp + 0x34]
cmp ebp, eax
ja 0x492015
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x491fe4
lea ecx, [ecx]
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x492015
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x491fd0
test eax, eax
je 0x492008
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x492015
cmp eax, 1
jbe 0x492008
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x492015
cmp eax, 2
jbe 0x492008
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x492015
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x49208f
cmp dword [esp + 0x18], 0
jle 0x495f8c
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
add edx, edx
sub ecx, edx
cmp ebp, ecx
ja 0x495f8c
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x49205d
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x495f8c
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x492045
test eax, eax
je 0x49208d
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x495f8c
cmp eax, 1
jbe 0x49208d
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x495f8c
cmp eax, 2
jbe 0x49208d
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x495f8c
add ebp, edx
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x491fb0
cmp edi, dword [esp + 0x14]
je 0x48f821
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x28], edi
jne 0x495fae
mov dword [esp + 0x1c], ebp
cmp edi, dword [esp + 0x14]
jge 0x4921f5
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 0x4920e5
mov ecx, dword [esp + 0x34]
cmp ebp, ecx
ja 0x492149
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x492118
mov edi, edi
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x492149
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x492100
test eax, eax
je 0x49213c
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x492149
cmp eax, 1
jbe 0x49213c
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x492149
cmp eax, 2
jbe 0x49213c
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x492149
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x4921af
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x4921c4
lea edi, [eax + eax]
mov ecx, edx
sub ecx, edi
cmp ebp, ecx
ja 0x4921c4
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x492189
mov ebx, dword [esi]
cmp ebx, dword [ecx]
jne 0x4921c4
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x492171
test eax, eax
je 0x4921ad
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x4921c4
cmp eax, 1
jbe 0x4921ad
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x4921c4
cmp eax, 2
jbe 0x4921ad
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x4921c4
add ebp, edi
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x4920e1
jmp 0x4921f5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x4921f5
cmp ebp, dword [eax + 0x7c]
jb 0x4921f5
cmp ebp, dword [eax + 0x88]
jbe 0x4921f5
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x4958df
cmp dword [esp + 0x20], 0
jne 0x48f821
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp ebp, dword [esp + 0x1c]
je case.0x48f84e.151
mov dx, word [ebp - 2]
sub ebp, 2
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x492268
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.0048f760
add esp, 0x1c
test eax, eax
je 0x492242
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edx, 0x2e
jl 0x492413
cmp esi, 0x7f
jbe 0x4922d7
mov ecx, esi
shr ecx, 7
movzx edx, byte [ecx + 0x4be228]
shl edx, 7
mov eax, esi
and eax, 0x7f
add edx, eax
movzx ecx, word [edx*2 + 0x4c0428]
mov edx, dword [ecx*8 + 0x4bd14c]
add edx, esi
mov dword [esp + 0x28], edx
jmp 0x4922f9
cmp esi, 0xff
ja 0x4922f3
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx edx, byte [eax + esi]
mov dword [esp + 0x28], edx
jmp 0x4922f9
mov edx, esi
mov dword [esp + 0x28], esi
mov ecx, 1
cmp edi, ecx
jl 0x49232c
mov eax, dword [esp + 0x164]
mov ebx, dword [eax + 0x7c]
cmp ebp, ebx
jae 0x4961a4
movzx eax, word [ebp]
cmp esi, eax
je 0x492324
cmp edx, eax
jne case.0x48f84e.151
inc ecx
add ebp, 2
cmp ecx, edi
jle 0x49230c
mov ebx, dword [esp + 0x14]
cmp edi, ebx
je 0x48f821
cmp dword [esp + 0x1c], 0
jne 0x4961de
mov dword [esp + 0x1c], ebp
mov eax, edi
cmp edi, ebx
jge 0x4923a6
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
jmp 0x492367
mov ecx, dword [esp + 0x164]
cmp ebp, edi
jae 0x492381
movzx ecx, word [ebp]
cmp esi, ecx
je 0x492377
cmp edx, ecx
jne 0x4923a6
inc eax
add ebp, 2
cmp eax, ebx
jl 0x492360
jmp 0x4923a6
cmp dword [ecx + 0x8c], 0
je 0x4923a6
cmp ebp, dword [ecx + 0x88]
jbe 0x4923a6
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jg 0x4958df
cmp dword [esp + 0x20], 0
jne 0x48f821
cmp ebp, dword [esp + 0x1c]
jb 0x492406
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.0048f760
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x497546
cmp ebp, dword [esp + 0x1c]
jae 0x4923d0
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 0x492442
mov ecx, dword [edx + 0x7c]
cmp ebp, ecx
jae 0x496294
movzx ebx, word [ebp]
add ebp, 2
cmp esi, ebx
jne case.0x48f84e.151
inc eax
cmp eax, edi
jle 0x492426
cmp edi, dword [esp + 0x14]
je 0x48f821
cmp dword [esp + 0x1c], 0
jne 0x4962c0
mov ebx, ebp
mov dword [esp + 0x1c], ebx
mov eax, edi
cmp edi, dword [esp + 0x14]
jge 0x4924ad
mov ecx, dword [edx + 0x7c]
lea esp, [esp]
cmp ebp, ecx
jae 0x492488
movzx edi, word [ebp]
cmp esi, edi
jne 0x4924ad
inc eax
add ebp, 2
cmp eax, dword [esp + 0x14]
jl 0x492470
jmp 0x4924ad
cmp dword [edx + 0x8c], 0
je 0x4924ad
cmp ebp, dword [edx + 0x88]
jbe 0x4924ad
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jg 0x4958df
cmp dword [esp + 0x20], 0
jne 0x48f821
cmp ebp, ebx
jb 0x49250b
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.0048f760
add esp, 0x1c
sub ebp, 2
test eax, eax
jne 0x497546
cmp ebp, dword [esp + 0x1c]
jae 0x4924d5
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 0x495f61
movzx ecx, word [ebp]
mov eax, ecx
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x49255a
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 0x4925ce
cmp eax, 0x7f
jbe 0x49259f
mov edx, eax
shr edx, 7
movzx edx, byte [edx + 0x4be228]
shl edx, 7
mov esi, eax
and esi, 0x7f
add edx, esi
movzx edx, word [edx*2 + 0x4c0428]
mov edx, dword [edx*8 + 0x4bd14c]
add edx, eax
jmp 0x4925b1
cmp eax, 0xff
ja 0x4925af
mov edx, dword [edi + 0x38]
movzx edx, byte [edx + eax]
jmp 0x4925b1
mov edx, eax
cmp eax, ecx
je case.0x48f84e.151
cmp edx, ecx
jne 0x48f821
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp eax, ecx
jne 0x48f821
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 0x4926a9
movzx edi, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x14], edi
cmp eax, 0x42
je 0x49260b
mov dword [esp + 0x1c], ecx
cmp eax, 0x4f
jne 0x492613
mov dword [esp + 0x1c], 1
add esi, 4
jmp 0x4926a9
xor ecx, ecx
mov dword [esp + 0x20], 1
add esi, 2
jmp 0x4926a1
mov ecx, 1
mov dword [esp + 0x20], ecx
add esi, 2
jmp 0x4926a1
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], eax
add esi, 2
jmp 0x4926a9
movzx eax, word [esi + 2]
xor ecx, ecx
mov dword [esp + 0x20], 1
mov dword [esp + 0x14], eax
add esi, 4
jmp 0x4926a9
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 + 0x4cc168]
movsx eax, byte [eax + 0x4cc170]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4926a9
mov dword [esp + 0x14], closesocket
movzx edi, word [esi]
add esi, 2
mov dword [esp + 0x24], edi
mov dword [esp + 0x158], esi
cmp edx, 0x48
jl 0x4928e0
cmp edi, 0x7f
jbe 0x4926f5
mov edx, edi
shr edx, 7
movzx eax, byte [edx + 0x4be228]
shl eax, 7
mov edx, edi
and edx, 0x7f
add eax, edx
movzx eax, word [eax*2 + 0x4c0428]
mov esi, dword [eax*8 + 0x4bd14c]
add esi, edi
mov dword [esp + 0x28], esi
jmp 0x492717
cmp edi, 0xff
ja 0x492711
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x38]
movzx esi, byte [eax + edi]
mov dword [esp + 0x28], esi
jmp 0x492717
mov esi, edi
mov dword [esp + 0x28], edi
mov edx, 1
cmp ecx, edx
jl 0x492784
mov eax, dword [esp + 0x164]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x18], eax
cmp ebp, dword [esp + 0x18]
jae 0x495da3
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x49276f
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.0x48f84e.151
cmp esi, eax
je case.0x48f84e.151
inc edx
cmp edx, ecx
jle 0x492732
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x48f821
cmp dword [esp + 0x1c], 0
jne 0x496370
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x49282e
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, 1
cmp ebp, edi
jae 0x492807
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4927f0
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 0x49282e
cmp dword [esp + 0x28], eax
je 0x49282e
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x4927b1
jmp 0x49282e
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x49282e
cmp ebp, dword [eax + 0x88]
jbe 0x49282e
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x4958df
cmp dword [esp + 0x20], 0
jne 0x48f821
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48f84e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x4928a3
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.0048f760
add esp, 0x1c
test eax, eax
je 0x49287b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ecx, edx
jl 0x492946
mov esi, dword [eax + 0x7c]
cmp ebp, esi
jae 0x495da3
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
add ebp, 2
cmp ebx, 0xd800
jne 0x492932
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.0x48f84e.151
inc edx
cmp edx, ecx
jle 0x4928f7
mov eax, dword [esp + 0x164]
mov esi, dword [esp + 0x14]
cmp ecx, esi
je 0x48f821
cmp dword [esp + 0x1c], 0
jne 0x496459
mov dword [esp + 0x1c], ebp
cmp ecx, esi
jge 0x4929e7
mov edi, dword [eax + 0x7c]
jmp 0x492977
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x4929c7
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4929b6
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 0x4929e7
inc ecx
lea ebp, [ebp + edx*2]
cmp ecx, esi
jl 0x492970
jmp 0x4929e7
cmp dword [eax + 0x8c], 0
je 0x4929e7
cmp ebp, dword [eax + 0x88]
jbe 0x4929e7
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x4958df
cmp dword [esp + 0x20], 0
jne 0x48f821
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48f84e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x492a5c
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.0048f760
add esp, 0x1c
test eax, eax
je 0x492a34
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 0x492b62
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 0x492b62
xor ebx, ebx
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x492b5a
mov ebx, 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
add esi, 2
jmp 0x492b5a
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 0x492b62
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 0x492b62
lea eax, [edx - 0x55]
movsx ebx, byte [eax + 0x4cc168]
mov edx, eax
movsx eax, byte [eax + 0x4cc170]
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 0x492b62
mov dword [esp + 0x14], closesocket
movzx eax, word [esi]
add esi, 2
mov dword [esp + 0x18], eax
mov dword [esp + 0x158], esi
cmp eax, 0x10
je 0x492b8a
cmp eax, 0xf
je 0x492b8a
mov edi, dword [esp + 0x2c]
or eax, 0xffffffff
mov dword [esp + 0x28], eax
jmp 0x492bb3
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 0x492cb9
cmp eax, ecx
jl 0x4931a3
cmp eax, 8
ja case.default.0x49142b
jmp dword [eax*4 + 0x49778c]
cmp edi, ecx
jne case.0x48f84e.151
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x49653b
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x492c10
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x492bf2
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x496567
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492c6c
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 + 0x4be228]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
cmp eax, 9
je 0x492ca3
cmp eax, 5
je 0x492ca3
cmp eax, 8
je 0x492ca3
xor eax, eax
jmp 0x492ca8
mov eax, 1
cmp eax, edi
je case.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x492c31
mov esi, dword [esp + 0x164]
mov edi, dword [esp + 0x14]
cmp ebx, edi
je 0x48f821
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x28]
jne 0x4965d9
mov dword [esp + 0x1c], ebp
test eax, eax
js 0x49410c
cmp eax, 8
ja case.default.0x49142b
jmp dword [eax*4 + 0x4977b0]
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x49659a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492d45
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 + 0x4be228]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
cmp dword [eax*4 + 0x4bc9a0], esi
sete cl
cmp ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
je case.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x492d0a
jmp 0x492cb9
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x49659a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492deb
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 + 0x4be228]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
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.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x492db0
jmp 0x492cb9
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x49659a
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492e86
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 + 0x4be228]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd148]
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.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x492e4b
jmp 0x492cb9
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x496567
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492f21
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 + 0x4be228]
and eax, 0x7f
shl esi, 7
add esi, eax
movzx eax, word [esi*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
mov eax, dword [eax*4 + 0x4bc9a0]
cmp eax, 1
je 0x492f5a
cmp eax, 3
je 0x492f5a
xor eax, eax
jmp 0x492f5f
mov eax, 1
cmp eax, edi
je case.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x492ee6
jmp 0x492cb9
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x496567
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x492fca
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 + 0x4be228]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4c0428]
movzx esi, byte [esi*8 + 0x4bd149]
cmp dword [esi*4 + 0x4bc9a0], edi
je 0x493011
cmp eax, 9
je 0x493011
cmp eax, 0xa
je 0x493011
cmp eax, 0xc
je 0x493011
cmp eax, 0xd
je 0x493011
xor eax, eax
jmp 0x493016
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f84e.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x492f8f
jmp 0x492cb9
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
lea edi, [ecx + 5]
cmp ebp, edx
jae 0x496567
movzx eax, word [ebp]
mov esi, eax
and esi, 0xfc00
add ebp, 2
cmp esi, 0xd800
jne 0x493087
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 + 0x4be228]
shl esi, 7
mov ebx, eax
and ebx, 0x7f
add esi, ebx
movzx esi, word [esi*2 + 0x4c0428]
movzx esi, byte [esi*8 + 0x4bd149]
cmp dword [esi*4 + 0x4bc9a0], edi
je 0x4930d3
cmp eax, 9
je 0x4930d3
cmp eax, 0xa
je 0x4930d3
cmp eax, 0xb
je 0x4930d3
cmp eax, 0xc
je 0x4930d3
cmp eax, 0xd
je 0x4930d3
xor eax, eax
jmp 0x4930d8
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f84e.151
mov ebx, dword [esp + 0x24]
inc ecx
cmp ecx, ebx
jle 0x49304c
jmp 0x492cb9
mov edx, 1
cmp ebx, edx
jl 0x492cb9
mov ecx, dword [esp + 0x164]
mov edi, dword [ecx + 0x7c]
cmp ebp, edi
jae 0x49659a
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x493146
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 + 0x4be228]
shl ecx, 7
mov esi, eax
and esi, 0x7f
add ecx, esi
movzx ecx, word [ecx*2 + 0x4c0428]
movzx ecx, byte [ecx*8 + 0x4bd149]
mov ecx, dword [ecx*4 + 0x4bc9a0]
cmp ecx, 1
je 0x493186
cmp ecx, 3
je 0x493186
cmp eax, 0x5f
je 0x493186
xor eax, eax
jmp 0x49318b
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f84e.151
inc edx
cmp edx, ebx
jle 0x49310b
jmp 0x492cb9
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x4932b5
lea esi, [eax - 0x15]
cmp ebx, esi
jl 0x492cb9
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
cmp ebp, edx
jae 0x49659a
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x493200
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 + 0x4be228]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0428]
movzx ecx, byte [eax*8 + 0x4bd149]
cmp dword [ecx*4 + 0x4bc9a0], 2
je case.0x48f84e.151
cmp ebp, edx
jae 0x4932a7
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x493271
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 + 0x4be228]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
cmp dword [eax*4 + 0x4bc9a0], 2
jne 0x4932a7
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x49323a
inc esi
cmp esi, ebx
jle 0x4931c5
jmp 0x492cb9
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x49142b
jmp dword [eax*4 + 0x4977d4]
mov edi, 1
cmp ebx, edi
jl 0x492cb9
mov ecx, dword [esp + 0x164]
lea esp, [esp]
cmp ebp, dword [ecx + 0x7c]
jae 0x49656e
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x49331b
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00498a50
add esp, 8
test eax, eax
jne case.0x48f84e.151
mov ecx, dword [esp + 0x164]
jmp 0x49334b
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x49334b
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x49334b
cmp eax, 1
je case.0x48f84e.151
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je case.0x48f84e.151
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x49336c
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov eax, 0xdc00
cmp dx, ax
jne 0x49336c
add ebp, 2
inc edi
cmp edi, ebx
jle 0x4932e0
jmp 0x492cb9
mov eax, 1
cmp ebx, eax
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x49653b
add ebp, 2
cmp ebp, ecx
jae 0x4933b9
mov dx, word [ebp]
mov edi, 0xfc00
and dx, di
mov edi, 0xdc00
cmp dx, di
jne 0x4933b9
add ebp, 2
inc eax
cmp eax, ebx
jle 0x493391
jmp 0x492cc0
mov esi, dword [esp + 0x164]
mov ecx, dword [esi + 0x7c]
lea eax, [ebx + ebx]
sub ecx, eax
cmp ebp, ecx
ja case.0x48f84e.151
add ebp, eax
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x4965ad
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x493433
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 0x493458
je 0x493448
cmp eax, 0xa
je 0x493477
add eax, 0xfffffff5
jmp 0x493464
cmp ebp, edx
jae 0x493477
cmp word [ebp], 0xa
jne 0x493477
add ebp, 2
jmp 0x493477
cmp eax, 0x85
je 0x49346d
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x48f84e.151
cmp dword [esi + 0x68], 0
jne case.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x4933f8
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
lea esp, [esp]
cmp ebp, edx
jae 0x4965ad
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x4934db
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 0x49350d
je case.0x48f84e.151
cmp eax, 0xa0
ja 0x493506
je case.0x48f84e.151
cmp eax, 9
je case.0x48f84e.151
cmp eax, 0x20
jmp 0x493538
cmp eax, 0x1680
jmp 0x493538
cmp eax, 0x205f
ja 0x493533
je case.0x48f84e.151
cmp eax, 0x2000
jb 0x49353e
cmp eax, 0x200a
jbe case.0x48f84e.151
cmp eax, 0x202f
jmp 0x493538
cmp eax, 0x3000
je case.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x4934a0
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x4965ad
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x49359e
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 0x4935d3
je 0x493600
cmp eax, 0xa0
ja 0x4935c9
je 0x493600
cmp eax, 9
je 0x493600
cmp eax, 0x20
jmp 0x4935fa
cmp eax, 0x1680
jmp 0x4935fa
cmp eax, 0x205f
ja 0x4935f5
je 0x493600
cmp eax, 0x2000
jb case.0x48f84e.151
cmp eax, 0x200a
jbe 0x493600
cmp eax, 0x202f
jmp 0x4935fa
cmp eax, 0x3000
jne case.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x493563
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x4965ad
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x493664
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 0x49367b
je case.0x48f84e.151
cmp eax, 0xa
jb 0x49368d
cmp eax, 0xd
jmp 0x493687
cmp eax, 0x2028
jb 0x49368d
cmp eax, 0x2029
jbe case.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x493625
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
mov edi, edi
cmp ebp, edx
jae 0x4965ad
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x4936ef
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 0x493700
je 0x49370e
add eax, 0xfffffff6
cmp eax, 3
jmp 0x493708
add eax, 0xffffdfd8
cmp eax, 1
ja case.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x4936b0
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x49653b
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
add ebp, 2
cmp edi, 0xd800
jne 0x49376f
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 0x493783
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
jne case.0x48f84e.151
inc ecx
cmp ecx, ebx
jle 0x493730
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x4965ad
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x48f84e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 4
je case.0x48f84e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x4937a4
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
nop
cmp ebp, edx
jae 0x49653b
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x493813
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
jne case.0x48f84e.151
add ebp, 2
cmp ebp, edx
jae 0x493837
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x493837
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x4937f0
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x4965ad
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x48f84e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 1
je case.0x48f84e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x493858
jmp 0x492cc0
mov ecx, 1
cmp ebx, ecx
jl 0x492cb9
mov esi, dword [esp + 0x164]
mov edx, dword [esi + 0x7c]
cmp ebp, edx
jae 0x49653b
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae 0x4938c6
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
jne case.0x48f84e.151
add ebp, 2
cmp ebp, edx
jae 0x4938ea
mov ax, word [ebp]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x4938ea
add ebp, 2
inc ecx
cmp ecx, ebx
jle 0x4938a3
jmp 0x492cc0
mov esi, dword [esp + 0x164]
mov ecx, 1
cmp ebx, ecx
jl 0x492cc0
mov edx, dword [esi + 0x7c]
jmp 0x493910
cmp ebp, edx
jae 0x4965ad
movzx eax, word [ebp]
mov edi, 0x80
cmp ax, di
jae case.0x48f84e.151
mov edi, dword [esi + 0x3c]
test byte [eax + edi], 0x10
je case.0x48f84e.151
inc ecx
add ebp, 2
cmp ecx, ebx
jle 0x493910
jmp 0x492cc0
mov ecx, ebx
cmp ebx, edi
jge 0x49405d
mov edx, dword [esp + 0x164]
mov edx, dword [edx + 0x7c]
mov eax, 1
cmp ebp, edx
jae 0x49399b
mov si, word [ebp]
mov edi, 0xfc00
and si, di
mov edi, 0xd800
cmp si, di
jne 0x493980
mov eax, 2
cmp dword [esp + 0x2c], 0
jne 0x49405d
inc ecx
lea ebp, [ebp + eax*2]
cmp ecx, dword [esp + 0x14]
jl 0x493958
jmp 0x49405d
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x49405d
mov ecx, eax
cmp ebp, dword [ecx + 0x88]
jbe 0x49405d
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x494057
mov edx, ebx
cmp ebx, edi
jge 0x49405d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x4939f7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x493bf3
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x493a3a
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 + 0x4be228]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
cmp eax, 9
je 0x493a71
cmp eax, 5
je 0x493a71
cmp eax, 8
je 0x493a71
xor eax, eax
jmp 0x493a76
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x49405d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4939f0
jmp 0x49405d
mov edx, ebx
cmp ebx, edi
jge 0x49405d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x38]
mov eax, ecx
jmp 0x493ab7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x493bf3
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x493afa
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 + 0x4be228]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
xor ebx, ebx
cmp dword [eax*4 + 0x4bc9a0], edi
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x49405d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x493ab0
jmp 0x49405d
mov edx, ebx
cmp ebx, edi
jge 0x49405d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x493bec
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x493ba3
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 + 0x4be228]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x49405d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x493b60
jmp 0x49405d
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x49405d
cmp ebp, dword [eax + 0x88]
jbe 0x49405d
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jmp 0x494057
mov edx, ebx
cmp ebx, edi
jge 0x49405d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x14]
mov ecx, 1
cmp ebp, esi
jae 0x493bec
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x493c71
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 + 0x4be228]
shl ebx, 7
and eax, 0x7f
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd148]
xor ebx, ebx
cmp eax, dword [esp + 0x38]
sete bl
cmp ebx, dword [esp + 0x2c]
je 0x49405d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x493c32
jmp 0x49405d
mov edx, ebx
cmp ebx, edi
jge 0x49405d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, 1
jmp 0x493cd8
mov eax, dword [esp + 0x164]
mov ecx, edi
cmp ebp, esi
jae 0x493d71
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x493d18
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 + 0x4be228]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
mov eax, dword [eax*4 + 0x4bc9a0]
cmp eax, edi
je 0x493d50
cmp eax, 3
je 0x493d50
xor eax, eax
jmp 0x493d52
mov eax, edi
cmp eax, dword [esp + 0x2c]
je 0x49405d
add edx, edi
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x493cd1
jmp 0x49405d
cmp dword [eax + 0x8c], 0
je 0x49405d
cmp ebp, dword [eax + 0x88]
jbe 0x49405d
mov dword [eax + 0x64], edi
cmp dword [eax + 0x8c], edi
jmp 0x494057
mov edx, ebx
cmp ebx, edi
jge 0x49405d
mov ecx, dword [esp + 0x164]
mov esi, dword [ecx + 0x7c]
mov eax, ecx
jmp 0x493db7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x493bf3
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x493dfa
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 + 0x4be228]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4c0428]
movzx edi, byte [edi*8 + 0x4bd149]
cmp dword [edi*4 + 0x4bc9a0], 6
je 0x493e4e
cmp eax, 9
je 0x493e4e
cmp eax, 0xa
je 0x493e4e
cmp eax, 0xc
je 0x493e4e
cmp eax, 0xd
je 0x493e4e
xor eax, eax
jmp 0x493e53
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x49405d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x493db0
jmp 0x49405d
mov edx, ebx
cmp ebx, edi
jge 0x49405d
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
jmp 0x493e97
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x493bf3
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x493eda
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 + 0x4be228]
shl edi, 7
mov ebx, eax
and ebx, 0x7f
add edi, ebx
movzx edi, word [edi*2 + 0x4c0428]
movzx edi, byte [edi*8 + 0x4bd149]
cmp dword [edi*4 + 0x4bc9a0], 6
je 0x493f3b
cmp eax, 9
je 0x493f3b
cmp eax, 0xa
je 0x493f3b
cmp eax, 0xb
je 0x493f3b
cmp eax, 0xc
je 0x493f3b
cmp eax, 0xd
je 0x493f3b
xor eax, eax
jmp 0x493f40
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x49405d
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, dword [esp + 0x14]
jl 0x493e90
jmp 0x49405d
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x49405d
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov eax, edx
jmp 0x493f87
mov eax, dword [esp + 0x164]
mov edx, 1
cmp ebp, edi
jae 0x494035
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x493fca
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 + 0x4be228]
shl ecx, 7
mov ebx, eax
and ebx, 0x7f
add ecx, ebx
movzx ecx, word [ecx*2 + 0x4c0428]
movzx ecx, byte [ecx*8 + 0x4bd149]
mov ecx, dword [ecx*4 + 0x4bc9a0]
cmp ecx, 1
je 0x494012
cmp ecx, 3
je 0x494012
cmp eax, 0x5f
je 0x494012
xor eax, eax
jmp 0x494017
mov eax, 1
cmp eax, dword [esp + 0x2c]
je 0x49405d
inc esi
lea ebp, [ebp + edx*2]
cmp esi, dword [esp + 0x14]
jl 0x493f80
jmp 0x49405d
cmp dword [eax + 0x8c], 0
je 0x49405d
cmp ebp, dword [eax + 0x88]
jbe 0x49405d
mov dword [eax + 0x64], edx
cmp dword [eax + 0x8c], edx
jg 0x4958df
cmp dword [esp + 0x20], 0
jne 0x48f821
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
lea ebx, [ebx]
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48f84e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x4940d8
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.0048f760
add esp, 0x1c
test eax, eax
je 0x4940b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x49434e
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x494269
mov eax, dword [esp + 0x164]
mov edx, dword [eax + 0x7c]
mov ebx, 2
jmp 0x494147
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, edx
jae 0x494241
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x494187
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 + 0x4be228]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
cmp dword [eax*4 + 0x4bc9a0], ebx
je 0x494269
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jae 0x494231
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
mov ecx, 1
cmp edi, 0xd800
jne 0x4941fc
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 + 0x4be228]
and eax, 0x7f
shl edi, 7
add edi, eax
movzx eax, word [edi*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
cmp dword [eax*4 + 0x4bc9a0], ebx
jne 0x494231
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x4941c4
inc esi
cmp esi, dword [esp + 0x14]
jl 0x494140
jmp 0x494269
cmp dword [eax + 0x8c], 0
je 0x494269
cmp ebp, dword [eax + 0x88]
jbe 0x494269
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x4958df
cmp dword [esp + 0x20], 0
jne 0x48f821
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov edx, ebp
mov ecx, 2
sub ebp, ecx
cmp edx, dword [esp + 0x1c]
je case.0x48f84e.151
lea esp, [esp]
mov ax, word [ebp]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4942e8
sub ebp, ecx
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
cmp edx, 0xd800
jne 0x494319
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 + 0x4be228]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4c0428]
movzx edx, byte [eax*8 + 0x4bd149]
cmp dword [edx*4 + 0x4bc9a0], ecx
jne 0x497509
sub ebp, ecx
jmp 0x4942d0
add eax, 0xfffffffa
cmp eax, 0xf
ja case.default.0x49142b
jmp dword [eax*4 + 0x497814]
cmp edi, 0x7fffffff
mov edi, ebx
jge 0x494456
cmp ebx, dword [esp + 0x14]
jge 0x4947e3
lea esp, [esp]
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x49442f
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x4943c2
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00498a50
add esp, 8
test eax, eax
jne 0x4947e3
mov ecx, dword [esp + 0x164]
jmp 0x4943fa
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x4943fa
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x4943fa
cmp eax, 1
je 0x4947e3
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x4947e3
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x49441f
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x49441f
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x494380
jmp 0x4947e3
cmp dword [ecx + 0x8c], 0
je 0x4947e3
mov edx, ecx
cmp ebp, dword [edx + 0x88]
jbe 0x4947e3
mov ecx, 1
mov eax, edx
jmp 0x4947d4
cmp ebx, dword [esp + 0x14]
jge 0x4947e3
mov ecx, dword [esp + 0x164]
cmp ebp, dword [ecx + 0x7c]
jae 0x49442f
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x49449e
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00498a50
add esp, 8
test eax, eax
jne 0x4947e3
mov ecx, dword [esp + 0x164]
jmp 0x4944d6
mov eax, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x7c]
lea edx, [eax + eax]
sub esi, edx
cmp ebp, esi
ja 0x4944d6
mov dx, word [ebp]
cmp dx, word [ecx + 0x2c]
jne 0x4944d6
cmp eax, 1
je 0x4947e3
mov ax, word [ebp + 2]
cmp ax, word [ecx + 0x2e]
je 0x4947e3
add ebp, 2
cmp ebp, dword [ecx + 0x7c]
jae 0x4944ff
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x4944ff
add ebp, 2
inc edi
cmp edi, dword [esp + 0x14]
jl 0x494460
jmp 0x4947e3
cmp edi, 0x7fffffff
jge 0x494575
mov eax, ebx
cmp ebx, edi
jge 0x4947e3
mov ecx, dword [esi + 0x7c]
cmp ebp, ecx
jae 0x494578
add ebp, 2
cmp ebp, ecx
jae 0x494558
mov dx, word [ebp]
mov ebx, 0xfc00
and dx, bx
mov ebx, 0xdc00
cmp dx, bx
jne 0x494558
add ebp, 2
inc eax
cmp eax, edi
jl 0x494528
jmp 0x4947e3
mov ecx, dword [esi + 0x7c]
sub edi, ebx
sub ecx, ebp
mov eax, edi
sar ecx, 1
cmp eax, ecx
jbe 0x4945a4
mov ebp, dword [esi + 0x7c]
cmp dword [esi + 0x8c], 0
je 0x4947e3
cmp ebp, dword [esi + 0x88]
jbe 0x4947e3
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x4947dd
lea ebp, [ebp + eax*2]
jmp 0x4947e3
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4947e3
mov ebx, dword [esp + 0x164]
mov edx, dword [ebx + 0x7c]
mov ecx, 1
cmp ebp, edx
jae 0x494687
movzx eax, word [ebp]
mov edi, eax
and edi, 0xfc00
cmp edi, 0xd800
jne 0x494606
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 0x49462d
add ebp, 2
cmp ebp, edx
jae 0x4947e3
cmp word [ebp], 0xa
jne 0x494677
add ebp, 2
jmp 0x494677
cmp eax, 0xa
je 0x494673
cmp dword [ebx + 0x68], 0
jne 0x4947e3
cmp eax, 0xb
je 0x494673
cmp eax, 0xc
je 0x494673
cmp eax, 0x85
je 0x494673
cmp eax, 0x2028
je 0x494673
cmp eax, 0x2029
jne 0x4947e3
lea ebp, [ebp + ecx*2]
inc esi
cmp esi, dword [esp + 0x14]
jl 0x4945c3
jmp 0x4947e3
cmp dword [ebx + 0x8c], 0
je 0x4947e3
cmp ebp, dword [ebx + 0x88]
jbe 0x4947e3
mov dword [ebx + 0x64], ecx
cmp dword [ebx + 0x8c], ecx
jmp 0x4947dd
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4947e3
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x4947b4
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x49470b
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 0x494748
je 0x49478b
cmp eax, 0xa0
ja 0x49473e
je 0x49478b
cmp eax, 9
je 0x49478b
cmp eax, 0x20
jmp 0x49477e
cmp eax, 0x1680
jmp 0x49477e
cmp eax, 0x205f
ja 0x494779
je 0x49478b
cmp eax, 0x2000
jb 0x494784
cmp eax, 0x200a
jbe 0x49478b
cmp eax, 0x202f
jmp 0x49477e
cmp eax, 0x3000
je 0x49478b
xor eax, eax
jmp 0x494790
mov eax, 1
xor ebx, ebx
cmp dword [esp + 0x18], 0x12
sete bl
cmp eax, ebx
je 0x4947e3
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x4946c8
jmp 0x4947e3
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x4947e3
cmp ebp, dword [eax + 0x88]
jbe 0x4947e3
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jg 0x4958df
cmp dword [esp + 0x20], 0
jne 0x48f821
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov eax, dword [esp + 0x1c]
mov ecx, ebp
sub ebp, 2
cmp ecx, eax
je case.0x48f84e.151
mov dx, word [ebp]
mov ecx, 0xfc00
and dx, cx
mov ecx, 0xdc00
cmp dx, cx
jne 0x49485e
sub ebp, 2
cmp dword [esp + 0x18], 0x11
jne 0x49488a
cmp ebp, eax
jbe 0x49488a
cmp word [ebp], 0xa
jne 0x49488a
cmp word [ebp - 2], 0xd
jne 0x49488a
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.0048f760
add esp, 0x1c
test eax, eax
je 0x494830
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov esi, ebx
cmp ebx, dword [esp + 0x14]
jge 0x4947e3
mov edx, dword [esp + 0x164]
mov edi, dword [edx + 0x7c]
mov edx, dword [esp + 0x14]
mov ecx, 1
cmp ebp, edi
jae 0x4947b4
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x49491f
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 0x494968
je 0x494972
cmp eax, 0xa
jb 0x494942
cmp eax, 0xd
jbe 0x494972
xor eax, eax
xor ebx, ebx
cmp dword [esp + 0x18], 0x14
sete bl
cmp eax, ebx
je 0x4947e3
inc esi
lea ebp, [ebp + ecx*2]
cmp esi, edx
jl 0x4948dc
jmp 0x4947e3
add eax, 0xffffdfd8
cmp eax, 1
ja 0x494942
mov eax, 1
jmp 0x494944
mov edx, ebx
cmp ebx, edi
jge 0x4947e3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x4949a7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4947bb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x4949ea
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 0x494a09
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
jne 0x4947e3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x4949a0
jmp 0x4947e3
mov edx, ebx
cmp ebx, edi
jge 0x4947e3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x494a47
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4947bb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x494a8a
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 0x4947e3
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 4
je 0x4947e3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x494a40
jmp 0x4947e3
mov edx, ebx
cmp ebx, edi
jge 0x4947e3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x494ae7
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4947bb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x494b2a
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 0x494b49
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
jne 0x4947e3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x494ae0
jmp 0x4947e3
mov edx, ebx
cmp ebx, edi
jge 0x4947e3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x494b87
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4947bb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x494bca
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 0x4947e3
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 1
je 0x4947e3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x494b80
jmp 0x4947e3
mov edx, ebx
cmp ebx, edi
jge 0x4947e3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x494c27
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4947bb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x494c6a
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 0x494c89
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
jne 0x4947e3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x494c20
jmp 0x4947e3
mov edx, ebx
cmp ebx, edi
jge 0x4947e3
mov eax, dword [esp + 0x164]
mov esi, dword [eax + 0x7c]
mov edi, dword [esp + 0x14]
jmp 0x494cb8
mov eax, dword [esp + 0x164]
mov ecx, 1
cmp ebp, esi
jae 0x4947bb
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
cmp ebx, 0xd800
jne 0x494cfb
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 0x4947e3
mov ebx, dword [esp + 0x164]
mov ebx, dword [ebx + 0x3c]
test byte [eax + ebx], 0x10
je 0x4947e3
inc edx
lea ebp, [ebp + ecx*2]
cmp edx, edi
jl 0x494cb1
jmp 0x4947e3
mov eax, dword [ebx + 0x90]
cmp eax, dword [esp + 0x160]
jle 0x494d4a
mov dword [esp + 0x160], eax
movzx edx, word [esi + 6]
cmp word [esi + edx*2 + 4], 0x71
lea eax, [esi + edx*2 + 4]
jne 0x494d6e
mov edi, edi
movzx ecx, word [eax + 2]
cmp word [eax + ecx*2], 0x71
lea eax, [eax + ecx*2]
je 0x494d60
mov edx, dword [esp + 0x14]
add eax, 4
cmp edx, 0x86
je 0x495610
mov dword [esp + 0x158], eax
jmp 0x495103
cmp word [esi], 0x74
jne 0x494dd0
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov edx, dword [esp + 0x18]
mov dword [esp + 0x158], edx
jmp 0x495103
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
add esi, 4
mov dword [esp + 0x158], esi
jmp 0x495103
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 0x494f20
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 0x494e92
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 + 0x4bc900]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.0048f760
add esp, 0x1c
cmp eax, 0xfffffc1c
je 0x495584
cmp eax, 0xfffffc20
jne 0x495550
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x497546
cmp word [edi], 0x71
je 0x494f08
cmp word [ecx], 0x71
jne 0x497546
xor eax, eax
jmp 0x495558
mov ebx, dword [esp + 0x164]
jmp 0x494f20
cmp edx, 0x82
jge 0x494f6e
cmp edx, 0x7b
je 0x494f6e
cmp dword [ebx + 0x6c], 0
jne 0x494f78
mov eax, dword [esp + 0x158]
movzx edx, word [eax + 2]
cmp word [eax + edx*2], 0x71
je 0x494f78
movzx ecx, word [eax]
movzx edx, byte [ecx + 0x4bc900]
lea eax, [eax + edx*2]
mov dword [esp + 0x158], eax
jmp 0x495103
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 + 0x4bc900]
push eax
lea eax, [edi + edx*2]
push eax
push ebp
call fcn.0048f760
add esp, 0x1c
cmp eax, 0xfffffc20
jne 0x494ff5
movzx ecx, word [edi + 2]
lea ecx, [edi + ecx*2]
cmp dword [ebx + 0x80], ecx
jae 0x497546
cmp word [edi], 0x71
je 0x494ffd
cmp word [ecx], 0x71
jne 0x497546
jmp 0x494ffd
test eax, eax
jne 0x4955b5
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.0x48f84e.151
mov edx, dword [esp + 0x14]
jmp 0x494f20
movzx eax, word [ecx]
cmp eax, 0x75
je 0x4957c4
cmp eax, 0x74
jne 0x495096
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
movzx eax, word [edi]
cmp eax, 0x7b
je 0x4957e0
mov edx, 0x82
cmp ax, dx
jae 0x495801
mov dword [esp + 0x158], edi
jmp 0x495103
mov eax, 0x82
cmp word [edi], ax
jb 0x4950ae
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.0048f760
add esp, 0x1c
cmp eax, 0xfffffc1c
jne 0x4950e9
cmp dword [ebx + 0xb8], edi
jmp 0x4950eb
test eax, eax
jne 0x497546
cmp word [edi], 0x7b
je 0x49583b
add dword [esp + 0x158], 4
mov ecx, dword [ebx]
cmp ecx, dword [ebx + 4]
jb 0x48f7e3
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 + 0x4bc900]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.0048f760
mov edi, eax
add esp, 0x1c
cmp edi, 1
je 0x4951a3
cmp edi, 0xfffffc19
jne 0x4951c3
cmp dword [esi + 0xb0], 0
jne 0x4951c3
mov dword [esi + 0xb0], ebx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp edi, 0xfffffc1f
jne 0x495729
mov eax, dword [esi + 0x80]
mov ecx, ebx
call fcn.004989a0
test eax, eax
jne 0x495729
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 + 0x4bc900]
push ecx
lea ecx, [esi + eax*2]
push ecx
push ebp
call fcn.0048f760
add esp, 0x1c
test eax, eax
je 0x49526c
cmp eax, 0xfffffc1d
je 0x49526c
cmp eax, 0xfffffc1e
je 0x49526c
cmp eax, 0xfffffc1f
je 0x49526c
cmp eax, 0xfffffc20
jne 0x497546
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 + 0x4bc900]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.0048f760
add esp, 0x1c
test eax, eax
je 0x4952cf
cmp eax, 0xfffffc20
jne 0x497546
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 + 0x4bc900]
movzx ecx, word [eax + 2]
add edx, ecx
lea edx, [eax + edx*2]
push edx
push ebp
call fcn.0048f760
add esp, 0x1c
cmp eax, 1
je 0x49534f
cmp eax, 0xfffffc19
jne 0x4952bc
cmp dword [ebx + 0xb0], 0
jne 0x4952bc
mov dword [ebx + 0xb0], esi
jmp 0x4952bc
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 + 0x4bc900]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.0048f760
add esp, 0x1c
test eax, eax
je 0x4953c5
cmp eax, 0xfffffc1d
je 0x4953c5
cmp eax, 0xfffffc20
jne 0x497546
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 + 0x4bc900]
push ecx
movzx ecx, word [esi + 2]
add eax, ecx
lea edx, [esi + eax*2]
push edx
push ebp
call fcn.0048f760
add esp, 0x1c
test eax, eax
je 0x495438
cmp eax, 0xfffffc1d
je 0x495438
cmp eax, 0xfffffc20
jne 0x497546
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 + 0x4bc900]
push eax
lea eax, [esi + edx*2]
push eax
push ebp
call fcn.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
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 + 0x4bc900]
push ecx
movzx ecx, word [edi + 2]
add eax, ecx
lea edx, [edi + eax*2]
push edx
push ebp
call fcn.0048f760
add esp, 0x1c
cmp eax, 1
je 0x49551f
cmp eax, 0xfffffc19
jne 0x495532
cmp dword [esi + 0xb0], 0
jne 0x495532
mov dword [esi + 0xb0], ebx
test eax, eax
jne 0x497546
mov dword [esi + 0x80], edi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
test eax, eax
jne 0x497546
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 0x494e73
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 0x497546
movzx edx, word [edi]
mov ecx, edi
cmp edx, 0x7b
je 0x4955f7
cmp edx, 0x71
jne 0x4955ee
jmp 0x4955e0
movzx edx, word [ecx + 2]
cmp word [ecx + edx*2], 0x71
lea ecx, [ecx + edx*2]
je 0x4955e0
movzx edx, word [ecx + 2]
neg edx
lea ecx, [ecx + edx*2]
cmp dword [ebx + 0xb8], ecx
jne 0x497546
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.0048f760
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x15c]
cmp ebp, ecx
jne 0x4956b5
cmp edx, 0x99
je 0x4956b5
mov eax, dword [esp + 0x164]
cmp dword [eax + 0xa8], 0
jne 0x4956bc
cmp dword [eax + 0x5c], 0
jne 0x4956a8
cmp dword [eax + 0x60], 0
je 0x4956bc
mov esi, dword [eax + 0x98]
mov edi, dword [eax + 0x78]
lea esi, [edi + esi*2]
cmp ecx, esi
jne 0x4956bc
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 0x495729
push eax
call dword [0x4d445c]
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 0x49575d
push eax
call dword [0x4d445c]
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 0x49588c
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.0048f760
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 0x49588c
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
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.0x48f84e.151
cmp ebp, dword [ebx + 0x88]
jbe case.0x48f84e.151
mov eax, 1
mov dword [ebx + 0x64], eax
cmp dword [ebx + 0x8c], eax
jle case.0x48f84e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [eax + 0x8c], ecx
je case.0x48f84e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48f84e.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x48f84e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48f84e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jle case.0x48f84e.151
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [edx + 0x88]
jbe case.0x48f84e.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jle case.0x48f84e.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.0x48f84e.151
cmp ebp, dword [eax + 0x7c]
jb case.0x48f84e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48f84e.151
mov ecx, 1
mov dword [eax + 0x64], ecx
cmp dword [eax + 0x8c], ecx
jle case.0x48f84e.151
lea eax, [ecx - 0xd]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edi + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [edi + 0x7c]
jb case.0x48f84e.151
cmp ebp, dword [edi + 0x88]
jbe case.0x48f84e.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jle case.0x48f84e.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 0x495ad4
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.0048f5b0
add esp, 8
test eax, eax
js 0x495a94
lea ebp, [ebp + eax*2]
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x14]
jl 0x495a60
jmp 0x495aca
cmp dword [edi + 0x8c], 0
je 0x495aca
cmp ebp, dword [edi + 0x7c]
jb 0x495aca
cmp ebp, dword [edi + 0x88]
jbe 0x495aca
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jg 0x4958df
cmp ebp, dword [esp + 0x1c]
jb 0x495b24
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov edx, ebx
neg edx
lea ebp, [ebp + edx*2]
cmp ebp, dword [esp + 0x1c]
jae 0x495ae2
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [esi + 0x7c]
jb case.0x48f84e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x48f84e.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jle case.0x48f84e.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.0x48f84e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48f84e.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jle case.0x48f84e.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.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x491a17
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov dword [esp + 0x1c], ebp
mov edx, esi
cmp esi, edi
jge 0x495d05
mov eax, dword [esp + 0x164]
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x18], ecx
jmp 0x495c57
mov eax, dword [esp + 0x164]
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x495cdd
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x495c9c
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 0x495cad
cmp dword [esp + 0x14], 0x6a
jmp 0x495cc5
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 0x495d05
inc edx
lea ebp, [ebp + esi*2]
cmp edx, edi
jl 0x495c50
jmp 0x495d05
cmp dword [eax + 0x8c], 0
je 0x495d05
cmp ebp, dword [eax + 0x88]
jbe 0x495d05
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x4958df
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov ecx, ebp
sub ebp, 2
cmp ecx, dword [esp + 0x1c]
je case.0x48f84e.151
mov dx, word [ebp]
mov eax, 0xfc00
and dx, ax
mov ecx, 0xdc00
cmp dx, cx
jne 0x495d6f
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.0048f760
add esp, 0x1c
test eax, eax
je 0x495d47
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48f84e.151
mov dword [eax + 0x64], 1
cmp dword [eax + 0x8c], 1
jmp 0x495915
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], esi
cmp esi, edi
jge 0x495e95
mov edx, dword [esp + 0x164]
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x18], eax
mov esi, 1
cmp ebp, dword [esp + 0x18]
jae 0x495e66
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
cmp ecx, 0xd800
jne 0x495e39
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.00498c50
add esp, 8
test eax, eax
je 0x495e95
mov eax, dword [esp + 0x28]
inc eax
lea ebp, [ebp + esi*2]
mov dword [esp + 0x28], eax
cmp eax, edi
jl 0x495df4
jmp 0x495e95
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je 0x495e95
cmp ebp, dword [eax + 0x88]
jbe 0x495e95
mov dword [eax + 0x64], esi
cmp dword [eax + 0x8c], esi
jg 0x4958df
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov eax, ebp
sub ebp, 2
cmp eax, dword [esp + 0x1c]
je case.0x48f84e.151
mov cx, word [ebp]
mov edx, 0xfc00
and cx, dx
mov eax, 0xdc00
cmp cx, ax
jne 0x495ef8
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.0048f760
add esp, 0x1c
test eax, eax
je 0x495ed0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [ecx + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x48f84e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48f84e.151
mov dword [ecx + 0x64], 1
cmp dword [ecx + 0x8c], 1
jmp 0x495915
cmp dword [edi + 0x8c], ecx
je case.0x48f84e.151
cmp ebp, dword [edi + 0x88]
jbe case.0x48f84e.151
mov eax, 1
mov dword [edi + 0x64], eax
cmp dword [edi + 0x8c], eax
jmp 0x495915
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [eax + 0x7c]
jb case.0x48f84e.151
jmp 0x4958fb
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp edi, dword [esp + 0x14]
jge case.0x48f84e.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 0x49608d
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
add eax, eax
mov esi, ebp
cmp eax, 4
jb 0x496048
jmp 0x496030
mov edx, dword [esi]
cmp edx, dword [ecx]
jne 0x49608d
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x496030
test eax, eax
je 0x496080
mov dl, byte [ecx]
cmp dl, byte [esi]
jne 0x49608d
cmp eax, 1
jbe 0x496080
mov dl, byte [ecx + 1]
cmp dl, byte [esi + 1]
jne 0x49608d
cmp eax, 2
jbe 0x496080
mov al, byte [ecx + 2]
cmp al, byte [esi + 2]
jne 0x49608d
mov eax, dword [esp + 0x24]
lea ebp, [ebp + eax*2]
jmp 0x496112
cmp dword [esp + 0x18], 0
jle 0x496168
mov edx, dword [esp + 0x18]
add edx, edx
sub edi, edx
cmp ebp, edi
ja 0x496168
mov eax, dword [esp + 0x18]
add eax, eax
lea ecx, [esp + 0x5c]
mov esi, ebp
cmp eax, 4
jb 0x4960d8
lea ecx, [ecx]
mov edi, dword [esi]
cmp edi, dword [ecx]
jne 0x496168
sub eax, 4
add ecx, 4
add esi, 4
cmp eax, 4
jae 0x4960c0
test eax, eax
je 0x496110
mov bl, byte [ecx]
cmp bl, byte [esi]
jne 0x496168
cmp eax, 1
jbe 0x496110
mov bl, byte [ecx + 1]
cmp bl, byte [esi + 1]
jne 0x496168
cmp eax, 2
jbe 0x496110
mov cl, byte [ecx + 2]
cmp cl, byte [esi + 2]
jne 0x496168
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.0048f760
add esp, 0x1c
test eax, eax
je 0x495ff0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [ecx + 0x7c]
jb case.0x48f84e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48f84e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x495915
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [eax + 0x88]
jbe case.0x48f84e.151
mov ecx, dword [esp + 0x164]
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x495915
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp ebx, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
cmp esi, eax
je 0x49624e
cmp dword [esp + 0x28], eax
jne case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x496222
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [edx + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [edx + 0x88]
jbe case.0x48f84e.151
mov eax, 1
mov dword [edx + 0x64], eax
cmp dword [edx + 0x8c], eax
jmp 0x495915
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp ebx, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx edx, word [ebp]
add ebp, 2
cmp esi, edx
jne case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x496304
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp esi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496405
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.0x48f84e.151
cmp dword [esp + 0x28], eax
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x4963b4
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
lea ecx, [ecx]
cmp esi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x4964f1
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.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x4964a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x140
ret
cmp dword [esi + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x48f84e.151
mov eax, 1
mov dword [esi + 0x64], eax
cmp dword [esi + 0x8c], eax
jmp 0x495915
mov ecx, dword [esp + 0x164]
cmp dword [ecx + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [ecx + 0x88]
jbe case.0x48f84e.151
mov eax, 1
mov dword [ecx + 0x64], eax
cmp dword [ecx + 0x8c], eax
jmp 0x495915
mov eax, dword [esp + 0x164]
cmp dword [eax + 0x8c], 0
jmp 0x4958f5
cmp dword [esi + 0x8c], 0
je case.0x48f84e.151
cmp ebp, dword [esi + 0x88]
jbe case.0x48f84e.151
mov dword [esi + 0x64], 1
cmp dword [esi + 0x8c], 1
jmp 0x495915
test eax, eax
js 0x496fb5
cmp eax, 8
ja case.default.0x49142b
jmp dword [eax*4 + 0x497854]
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp esi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
and eax, 0xfc00
add ebp, 2
cmp eax, 0xd800
jne 0x496665
add ebp, 2
cmp dword [esp + 0x2c], 0
jne case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x496635
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp edi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x496741
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 + 0x4be228]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4c0428]
movzx eax, byte [edx*8 + 0x4bd149]
cmp eax, 9
je 0x49677c
cmp eax, 5
je 0x49677c
cmp eax, 8
je 0x49677c
xor eax, eax
jmp 0x496781
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x4966f0
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
nop
cmp esi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x496861
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 + 0x4be228]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4c0428]
movzx eax, byte [edx*8 + 0x4bd149]
mov edx, dword [esp + 0x38]
xor ecx, ecx
cmp dword [eax*4 + 0x4bc9a0], edx
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x496810
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp esi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x496974
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 + 0x4be228]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx edx, word [ecx*2 + 0x4c0428]
movzx eax, byte [edx*8 + 0x4bd149]
xor ecx, ecx
cmp eax, dword [esp + 0x38]
sete cl
cmp ecx, dword [esp + 0x2c]
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x496923
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
nop
cmp esi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496a81
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 + 0x4be228]
shl edx, 7
and eax, 0x7f
add edx, eax
movzx eax, word [edx*2 + 0x4c0428]
movzx ecx, byte [eax*8 + 0x4bd148]
xor edx, edx
cmp ecx, dword [esp + 0x38]
sete dl
cmp edx, dword [esp + 0x2c]
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x496a30
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
lea esp, [esp]
cmp edi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov edx, eax
and edx, 0xfc00
add ebp, 2
cmp edx, 0xd800
jne 0x496b91
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 + 0x4be228]
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx edx, word [ecx*2 + 0x4c0428]
movzx eax, byte [edx*8 + 0x4bd149]
mov eax, dword [eax*4 + 0x4bc9a0]
cmp eax, 1
je 0x496bca
cmp eax, 3
je 0x496bca
xor eax, eax
jmp 0x496bcf
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x496b40
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
lea ecx, [ecx]
cmp edi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496cb1
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 + 0x4be228]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4c0428]
movzx ecx, byte [edx*8 + 0x4bd149]
cmp dword [ecx*4 + 0x4bc9a0], 6
je 0x496d01
cmp eax, 9
je 0x496d01
cmp eax, 0xa
je 0x496d01
cmp eax, 0xc
je 0x496d01
cmp eax, 0xd
je 0x496d01
xor eax, eax
jmp 0x496d06
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x496c60
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp edi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496de5
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 + 0x4be228]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4c0428]
movzx ecx, byte [edx*8 + 0x4bd149]
cmp dword [ecx*4 + 0x4bc9a0], 6
je 0x496e3e
cmp eax, 9
je 0x496e3e
cmp eax, 0xa
je 0x496e3e
cmp eax, 0xb
je 0x496e3e
cmp eax, 0xc
je 0x496e3e
cmp eax, 0xd
je 0x496e3e
xor eax, eax
jmp 0x496e43
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x496d94
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp edi, dword [esp + 0x14]
jge case.0x48f84e.151
mov eax, dword [esp + 0x164]
cmp ebp, dword [eax + 0x7c]
jae 0x4965a1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x496f22
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 + 0x4be228]
shl edx, 7
mov ecx, eax
and ecx, 0x7f
add edx, ecx
movzx edx, word [edx*2 + 0x4c0428]
movzx ecx, byte [edx*8 + 0x4bd149]
mov ecx, dword [ecx*4 + 0x4bc9a0]
cmp ecx, 1
je 0x496f66
cmp ecx, 3
je 0x496f66
cmp eax, 0x5f
je 0x496f66
xor eax, eax
jmp 0x496f6b
mov eax, 1
cmp eax, dword [esp + 0x2c]
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x496ed1
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 0x497149
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
mov eax, dword [esp + 0x164]
cmp edi, dword [esp + 0x14]
jge case.0x48f84e.151
mov edx, dword [eax + 0x7c]
cmp ebp, edx
jae 0x4965a1
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x497057
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 + 0x4be228]
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c0428]
movzx ecx, byte [eax*8 + 0x4bd149]
cmp dword [ecx*4 + 0x4bc9a0], 2
je case.0x48f84e.151
cmp ebp, edx
jae 0x497102
movzx eax, word [ebp]
mov ebx, eax
and ebx, 0xfc00
mov ecx, 1
cmp ebx, 0xd800
jne 0x4970cc
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 + 0x4be228]
and eax, 0x7f
shl ebx, 7
add ebx, eax
movzx eax, word [ebx*2 + 0x4c0428]
movzx eax, byte [eax*8 + 0x4bd149]
cmp dword [eax*4 + 0x4bc9a0], 2
jne 0x497102
lea ebp, [ebp + ecx*2]
cmp ebp, edx
jb 0x497091
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.0048f760
add esp, 0x1c
test eax, eax
je 0x497004
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.0048f760
add esp, 0x1c
test eax, eax
jne 0x497546
cmp edi, dword [esp + 0x14]
jge case.0x48f84e.151
cmp ebp, dword [esi + 0x7c]
jae 0x49653b
cmp dword [esp + 0x18], 0xc
jne 0x497201
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4971d1
mov ecx, dword [esp + 0x164]
mov edx, dword [ecx + 0x7c]
push 1
lea esi, [ecx + 0x1c]
push eax
mov ecx, ebp
call fcn.00498a50
add esp, 8
test eax, eax
jne case.0x48f84e.151
mov esi, dword [esp + 0x164]
jmp 0x497201
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x7c]
lea ecx, [eax + eax]
sub edx, ecx
cmp ebp, edx
ja 0x497201
mov cx, word [ebp]
cmp cx, word [esi + 0x2c]
jne 0x497201
cmp eax, 1
je case.0x48f84e.151
mov dx, word [ebp + 2]
cmp dx, word [esi + 0x2e]
je case.0x48f84e.151
movzx eax, word [ebp]
mov ecx, eax
and ecx, 0xfc00
add ebp, 2
cmp ecx, 0xd800
jne 0x497238
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.0x49142b
jmp dword [ecx*4 + 0x497878]
cmp eax, 0xd
ja 0x49728d
je 0x497271
cmp eax, 0xa
je case.0x497248.12
jbe case.0x48f84e.151
cmp eax, 0xc
jmp 0x4972a4
cmp ebp, dword [esi + 0x7c]
jae case.0x497248.12
cmp word [ebp], 0xa
jne case.0x497248.12
add ebp, 2
jmp case.0x497248.12
cmp eax, 0x85
je 0x4972aa
cmp eax, 0x2027
jbe case.0x48f84e.151
cmp eax, 0x2029
ja case.0x48f84e.151
cmp dword [esi + 0x68], 0
jne case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x180e
ja 0x4972f2
je case.0x48f84e.151
cmp eax, 0xa0
ja 0x4972e8
je case.0x48f84e.151
cmp eax, 9
je case.0x48f84e.151
cmp eax, 0x20
jmp 0x4974c3
cmp eax, 0x1680
jmp 0x4974c3
cmp eax, 0x205f
ja 0x49731f
je case.0x48f84e.151
cmp eax, 0x2000
jb case.0x497248.12
cmp eax, 0x200a
jbe case.0x48f84e.151
cmp eax, 0x202f
jmp 0x4974c3
cmp eax, 0x3000
jmp 0x4974c3
cmp eax, 0x180e
ja 0x49736e
je case.0x497248.12
cmp eax, 0xa0
ja 0x49735e
je case.0x497248.12
cmp eax, 9
je case.0x497248.12
cmp eax, 0x20
jne case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x1680
jne case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x205f
ja 0x4973a1
je case.0x497248.12
cmp eax, 0x2000
jb case.0x48f84e.151
cmp eax, 0x200a
jbe case.0x497248.12
cmp eax, 0x202f
jne case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x3000
jne case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x85
ja 0x4973d5
je case.0x48f84e.151
cmp eax, 0xa
jb case.0x497248.12
cmp eax, 0xd
jbe case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x2028
jb case.0x497248.12
cmp eax, 0x2029
jbe case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x85
ja 0x497414
je case.0x497248.12
cmp eax, 0xa
jb case.0x48f84e.151
cmp eax, 0xd
ja case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x2028
jb case.0x48f84e.151
cmp eax, 0x2029
ja case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x100
jae case.0x497248.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 4
jne case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x100
jae case.0x48f84e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 4
jmp 0x4974c3
cmp eax, 0x100
jae case.0x497248.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 1
jne case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x100
jae case.0x48f84e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 1
jmp 0x4974c3
cmp eax, 0x100
jae case.0x497248.12
mov ecx, dword [esi + 0x3c]
test byte [eax + ecx], 0x10
jne case.0x48f84e.151
jmp case.0x497248.12
cmp eax, 0x100
jae case.0x48f84e.151
mov edx, dword [esi + 0x3c]
test byte [eax + edx], 0x10
je case.0x48f84e.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.0048f760
add esp, 0x1c
test eax, eax
je 0x49717a
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.0048f760
add esp, 0x1c
test eax, eax
je 0x4942b6
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