Function at 0x491c30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x158
push ebx
push ebp
push esi
mov esi, edx
mov ebx, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], ebx
push edi
test esi, esi
jne 0x491c8e
cmp dword [esp + 0x17c], edx
jne 0x491c73
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.00491c30
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea eax, [esp + 0x17c]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
neg eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], 0
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jae 0x496ede
mov dword [esp + 0x4c], 0xfc00
mov dword [esp + 0x50], 0xdc00
mov dword [esp + 0x54], connect
mov dword [esp + 0x48], 0xd800
inc eax
mov dword [ebp], eax
mov eax, dword [esp + 0x17c]
cmp eax, dword [ebp + 8]
jae 0x499311
cmp dword [ebp + 0x9c], 2
jne 0x491d2b
mov eax, dword [esp + 0x178]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x178], eax
mov dword [ebp + 0x9c], 0
jmp 0x491d2b
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
jmp 0x491d32
jne case.default.0x4935fb
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
movzx ecx, word [esi]
mov edx, ecx
mov dword [esp + 0x2c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], edx
cmp edx, 0x9b
ja case.0x491d5e.98
movzx eax, byte [edx + 0x49946c]
jmp dword [eax*4 + 0x499324]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4bee60]
je 0x496fd3
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x491d32
mov edx, dword [esp + 0x174]
mov ebp, esi
mov edi, ebx
mov esi, dword [edx + 0xb0]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
mov edx, dword [esp + 0x20]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [edx + 4]
call fcn.00491c30
mov edx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 1
je 0x491e98
cmp eax, 0xfffffc20
jne 0x491e0a
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
jae 0x491e0a
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x491e12
cmp word [ecx], 0x71
mov eax, 0xfffffc20
je 0x491e12
test eax, eax
jne 0x496ee7
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov dword [edx + 0xb0], esi
lea ecx, [ecx + eax*2]
movzx eax, word [ecx]
mov dword [esp + 0x14], ecx
mov ecx, eax
cmp eax, 0x71
je 0x491d96
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x491e50
cmp eax, 0x71
jne case.default.0x4935fb
nop word [eax + eax]
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x71
je 0x491e50
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x1c], ebx
cmp ecx, 0x72
je 0x491e85
cmp ebx, edi
jne 0x496c82
add esi, 4
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x174]
jmp 0x491d2b
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
mov dword [esp + 0x16c], eax
movzx ecx, word [esi]
jmp 0x491e39
xor ebp, ebp
mov dword [esp + 0x3c], ebp
jmp 0x4929c8
cmp word [esi + 4], 0x70
movzx ebp, word [esi + 2]
jne 0x491fc6
movzx esi, word [esi + 6]
mov edi, dword [0x4e8ea4]
add esi, esi
test edi, edi
je 0x491fb7
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
mov dword [esp + 0xb8], 2
movzx eax, word [eax + esi + 8]
mov dword [esp + 0xbc], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0xc0], eax
mov ecx, dword [edx + 0x78]
mov dword [esp + 0xc4], ecx
mov eax, dword [edx + 0x7c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x16c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0xcc], eax
mov eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x14]
sar eax, 1
mov dword [esp + 0xd0], eax
movzx eax, word [ecx + esi + 0xa]
mov dword [esp + 0xe0], eax
movzx eax, word [ecx + esi + 0xe]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xd4], eax
mov eax, dword [ecx + 0x94]
mov dword [esp + 0xd8], eax
mov eax, dword [ecx + 0xac]
mov dword [esp + 0xdc], eax
mov eax, dword [ecx + 0xb4]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xb8]
push eax
call edi
add esp, 4
test eax, eax
jg case.default.0x4935fb
js 0x496ee7
mov eax, dword [esp + 0x14]
add eax, 0xc
add eax, esi
mov dword [esp + 0x14], eax
mov esi, eax
movzx ecx, word [esi + 4]
lea edx, [esi + 4]
cmp ecx, 0x89
je 0x4921ed
cmp ecx, 0x8a
je 0x4921ed
cmp ecx, 0x87
je 0x49205e
cmp ecx, 0x88
je 0x49205e
cmp ecx, 0x8b
jne 0x492009
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492381
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x9c], 1
mov eax, dword [esp + 0x17c]
inc eax
push eax
push 0
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
cmp eax, 1
je 0x496d13
test eax, eax
je 0x492056
cmp eax, 0xfffffc20
jne 0x496ee7
lea eax, [esi + ebp*2]
jmp 0x492381
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x492082
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + edx*4], 0
jge 0x4921c3
xor ebp, ebp
cmp ecx, 0x88
jne 0x4921d9
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ebp
mov eax, dword [ecx + 0x28]
mov edi, eax
mov edx, dword [ecx + 0x20]
xor ecx, ecx
mov dword [esp + 0x34], eax
test edx, edx
jle 0x4920f7
mov dword [esp + 0x2c], ebp
xor ebx, ebx
mov ebp, eax
nop dword [eax]
movzx eax, word [edi]
cmp eax, esi
je 0x4920eb
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x24]
lea edi, [eax*2]
lea eax, [ebx + 1]
add edi, ebp
mov dword [esp + 0x30], eax
mov ecx, eax
mov ebp, edi
mov ebx, eax
cmp eax, edx
jl 0x4920c0
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
cmp ecx, edx
jge 0x4921d9
cmp edi, eax
mov esi, edi
mov eax, dword [esp + 0x174]
jbe 0x49215e
nop dword [eax]
mov eax, dword [eax + 0x24]
lea ecx, [edi + 2]
neg eax
lea esi, [esi + eax*2]
lea edx, [esi + 2]
call fcn.0049aea0
test eax, eax
jne 0x4921b6
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x49214a
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4921c3
mov eax, dword [esp + 0x174]
xor edx, edx
mov dword [esp + 0x2c], edx
cmp esi, dword [eax + 0x28]
ja 0x492110
xor ebp, ebp
mov esi, dword [esp + 0x30]
inc esi
cmp esi, dword [eax + 0x20]
jge 0x4921d9
lea ecx, [edi + 2]
mov dword [esp + 0x30], ecx
nop
mov eax, dword [eax + 0x24]
lea edi, [edi + eax*2]
lea edx, [edi + 2]
call fcn.0049aea0
test eax, eax
jne 0x4921d9
movzx eax, word [edi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4921a1
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x4921c3
mov eax, dword [esp + 0x174]
inc esi
xor ebp, ebp
cmp esi, dword [eax + 0x20]
jge 0x4921d9
mov ecx, dword [esp + 0x30]
jmp 0x492170
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x174]
jmp 0x49215e
mov ecx, dword [esp + 0x14]
mov eax, 2
mov ebp, 1
lea eax, [ecx + eax*2]
jmp 0x492377
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea eax, [ecx + eax*2]
jmp 0x492377
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x49220a
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492388
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x49236a
cmp edx, dword [eax + 4]
je 0x49236a
xor ebp, ebp
cmp ecx, 0x8a
jne 0x492364
mov eax, dword [esp + 0x174]
xor ecx, ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x2c], ebp
mov edi, dword [eax + 0x28]
mov dword [esp + 0x30], edi
cmp dword [eax + 0x20], ecx
jle 0x492293
mov dword [esp + 0x2c], ebp
mov esi, edi
mov ebp, ecx
movzx eax, word [edi]
cmp eax, edx
je 0x492283
mov eax, dword [esp + 0x174]
lea ebx, [ebp + 1]
mov dword [esp + 0x3c], ebx
mov ecx, ebx
mov ebp, ebx
mov eax, dword [eax + 0x24]
lea edi, [esi + eax*2]
mov eax, dword [esp + 0x174]
mov esi, edi
cmp ebx, dword [eax + 0x20]
jl 0x492256
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x30], edi
mov edx, dword [esp + 0x174]
cmp ecx, dword [edx + 0x20]
jge 0x492364
cmp edi, dword [edx + 0x28]
jbe 0x4922fb
mov ebx, dword [esp + 0x2c]
lea ebp, [edi + 2]
mov esi, edi
mov edi, edx
mov eax, dword [edi + 0x24]
mov ecx, ebp
add eax, eax
sub esi, eax
lea edx, [esi + 2]
call fcn.0049aea0
test eax, eax
jne 0x4922e0
mov eax, dword [edi + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
cmp ecx, dword [eax + 4]
sete bl
je 0x4922e0
cmp esi, dword [edi + 0x28]
ja 0x4922b3
mov edi, dword [esp + 0x30]
test ebx, ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x1c]
jne 0x492352
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x3c]
inc esi
cmp esi, dword [edx + 0x20]
jge 0x492360
mov ebx, dword [esp + 0x2c]
lea ebp, [edi + 2]
nop dword [eax]
mov eax, dword [edx + 0x24]
mov ecx, ebp
lea edx, [edi + eax*2]
mov edi, edx
add edx, 2
call fcn.0049aea0
test eax, eax
jne 0x492346
mov edx, dword [esp + 0x174]
xor ebx, ebx
movzx ecx, word [edi]
mov eax, dword [edx + 0xa8]
cmp ecx, dword [eax + 4]
sete bl
je 0x492346
inc esi
cmp esi, dword [edx + 0x20]
jl 0x492310
mov dword [esp + 0x2c], ebx
test ebx, ebx
mov ebx, dword [esp + 0x1c]
je 0x49235c
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
jmp 0x49236f
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
jmp 0x492374
mov ebp, 1
mov eax, 2
lea eax, [esi + eax*2]
mov ecx, eax
test ebp, ebp
jne 0x496d62
mov ebp, dword [esp + 0x174]
mov ecx, eax
cmp word [ecx], 0x71
je 0x496d69
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x491d2b
movzx esi, word [esi + 2]
mov dword [ebp + 0x94], esi
lea edx, [esi + esi]
cmp edx, dword [ebp + 0x14]
jl 0x4923c9
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x491d32
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
sub eax, esi
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, ebx
sub ecx, dword [ebp + 0x78]
mov eax, dword [ebp + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
cmp edi, edx
jg 0x4923f3
lea edi, [edx + 2]
mov dword [esp + 0x170], edi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x492423
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x492425
xor edi, edi
mov ecx, dword [esp + 0x14]
nop dword [eax]
mov eax, dword [esp + 0x17c]
lea edx, [ecx + 4]
inc eax
mov ecx, ebx
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
cmp eax, 1
je 0x49248f
cmp eax, 0xfffffc19
je 0x49248f
test eax, eax
je 0x492472
cmp eax, 0xfffffc20
jne 0x496ee7
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov dword [ebp + 0xb0], esi
cmp word [ecx], 0x71
mov dword [esp + 0x14], ecx
je 0x492430
jmp 0x49249c
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x16c], eax
mov esi, dword [esp + 0x14]
cmp word [esi], 0x72
je case.default.0x4935fb
test edi, edi
jne 0x4971ac
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x4924b2
mov edi, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], edi
jmp 0x491d32
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4924f9
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4924fb
xor edi, edi
mov ecx, dword [esp + 0x14]
nop
mov eax, dword [esp + 0x17c]
lea edx, [ecx + 4]
inc eax
mov ecx, ebx
push eax
push 0
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x4935fb
cmp eax, 0xfffffc19
je case.default.0x4935fb
cmp eax, 0xfffffc1e
je 0x49257f
cmp eax, 0xfffffc1d
je 0x49257f
cmp eax, 0xfffffc1a
je 0x49257f
test eax, eax
je 0x492565
cmp eax, 0xfffffc20
jne 0x496ee7
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x71
lea ecx, [ecx + eax*2]
mov dword [esp + 0x14], ecx
je 0x492500
mov esi, ecx
jmp 0x492591
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492583
test edi, edi
jne 0x4971ac
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491d2b
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x4925da
mov edx, dword [ebp + 0x78]
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x1c], ebx
cmp ebx, edx
jb case.default.0x4935fb
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x4925d6
add ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
test ecx, ecx
jg 0x4925b0
cmp ebx, dword [ebp + 0x88]
jae 0x4925e8
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491d32
mov edi, dword [0x4e8ea4]
movzx esi, word [esi + 2]
test edi, edi
je 0x4926dd
mov eax, dword [esp + 0x14]
mov dword [esp + 0x80], 2
movzx eax, word [eax + esi*2 + 6]
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x88], eax
mov ecx, dword [ebp + 0x78]
mov dword [esp + 0x8c], ecx
mov eax, dword [ebp + 0x7c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x16c]
sub eax, ecx
sar eax, 1
mov dword [esp + 0x94], eax
mov eax, ebx
sub eax, ecx
mov ecx, dword [esp + 0x14]
sar eax, 1
mov dword [esp + 0x98], eax
movzx eax, word [ecx + esi*2 + 8]
mov dword [esp + 0xa8], eax
movzx eax, word [ecx + esi*2 + 0xa]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x170]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x94]
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 0xac]
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0xb4]
mov dword [esp + 0xb0], eax
lea eax, [ecx + 4]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x80]
push eax
call edi
add esp, 4
test eax, eax
jg case.default.0x4935fb
js 0x496ee7
mov eax, dword [esp + 0x14]
imul esi, esi, 2
add eax, 0xc
add eax, esi
mov dword [esp + 0x14], eax
jmp 0x491d27
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x492704
xor ecx, ecx
jmp 0x492708
movzx ecx, word [edi + 4]
mov eax, dword [ebp + 0xa8]
test eax, eax
je 0x492726
cmp ecx, dword [eax + 4]
jne 0x492720
cmp ebx, dword [eax + 0x10]
je 0x49702e
mov eax, dword [eax]
test eax, eax
jne 0x492712
mov dword [esp + 0x5c], ecx
add esi, 4
mov dword [esp + 0x68], ebx
mov eax, dword [ebp + 0xa8]
mov dword [esp + 0x58], eax
lea eax, [esp + 0x58]
mov dword [ebp + 0xa8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x14], esi
mov dword [esp + 0x64], eax
cmp eax, 0x1e
jg 0x492762
lea ecx, [esp + 0xf0]
mov dword [esp + 0x60], ecx
jmp 0x492780
shl eax, 2
push eax
call fcn.0049ee1d
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x497063
mov eax, dword [esp + 0x64]
shl eax, 2
push eax
push dword [ebp + 0xc]
push ecx
call fcn.0049c940
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
nop word [eax + eax]
mov eax, 0x82
cmp bp, ax
jb 0x4927b4
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [edi]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
movzx eax, byte [eax + 0x4bee60]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.00491c30
mov ecx, dword [esp + 0x78]
add esp, 0x14
shl ecx, 2
mov esi, eax
mov eax, dword [esp + 0x174]
push ecx
push dword [esp + 0x64]
push dword [eax + 0xc]
call fcn.0049c940
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x492887
cmp esi, 0xfffffc19
je 0x492887
test esi, esi
je 0x492838
cmp esi, 0xfffffc20
jne 0x49703e
lea eax, [esp + 0x58]
mov dword [ecx + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x71
lea edi, [edi + eax*2]
je 0x4927a0
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
lea ecx, [esp + 0xf0]
mov eax, dword [esp + 0x60]
cmp eax, ecx
je case.default.0x4935fb
push eax
call fcn.0049ee02
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x49289f
push eax
call fcn.0049ee02
add esp, 4
mov ebp, dword [esp + 0x174]
mov ebx, dword [ebp + 0x84]
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x16c], eax
jmp 0x491d27
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x491d5e.113
mov dword [esp + 0x14], esi
jmp 0x491d32
mov eax, dword [esp + 0x17c]
add esi, 2
inc eax
mov edx, esi
push eax
push dword [esp + 0x17c]
mov ecx, ebx
push ebp
push edi
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov ecx, esi
nop dword [eax + eax]
movzx eax, word [esi + 2]
cmp word [ecx + eax*2], 0x71
lea esi, [ecx + eax*2]
mov ecx, esi
je 0x492910
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491d32
lea edx, [esi + 2]
mov ecx, edx
movzx eax, word [edx + 2]
cmp word [ecx + eax*2], 0x71
lea edx, [ecx + eax*2]
mov ecx, edx
je 0x492931
mov eax, dword [esp + 0x17c]
add edx, 4
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push edi
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
lea eax, [esi + 2]
mov ecx, eax
movzx eax, word [eax + 2]
cmp word [ecx + eax*2], 0x71
lea eax, [ecx + eax*2]
mov ecx, eax
je 0x492980
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x491d32
movzx edx, word [esi + 2]
add esi, 2
mov dword [esp + 0x14], esi
mov ebp, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], ebp
cmp edx, 0x80
je 0x4929c8
cmp edx, 0x85
jne 0x492b7e
movzx edi, word [esi + 4]
mov esi, dword [esp + 0x174]
lea eax, [edi + edi]
cmp eax, dword [esi + 0x14]
jge 0x492b78
mov ecx, dword [esi + 0xc]
xor edx, edx
mov ebp, dword [esp + 0x14]
sub ebp, dword [esi + 0x74]
sar ebp, 1
mov eax, dword [ecx + edi*8]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + edi*8 + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x10]
sub eax, edi
mov dword [esp + 0x30], edx
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov dword [esp + 0x28], eax
mov esi, dword [ecx + 0x94]
mov eax, dword [esp + 0x174]
mov edx, ebx
sub edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x10]
sub ecx, edi
sar edx, 1
cmp dword [esp + 0x20], 0x82
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], edx
jb 0x492a48
mov eax, dword [esp + 0x174]
mov dword [eax + 0x9c], 2
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [ecx]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4bee60]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00491c30
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x492ac4
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x30], 1
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x1c], ebx
lea eax, [eax + ebp*2]
mov dword [esp + 0x14], eax
jmp 0x492a0e
cmp eax, 0xfffffc20
jne 0x492afc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
mov edx, dword [esp + 0x14]
jae 0x492b00
cmp word [edx], 0x71
je 0x492b08
cmp word [ecx], 0x71
je 0x492b08
jmp 0x492b00
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x496ee7
mov ecx, dword [esp + 0x174]
mov dword [ecx + 0x94], esi
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
je 0x492a14
mov edx, dword [esp + 0x30]
mov ebp, ecx
test edx, edx
jne 0x492b59
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov dword [eax + edi*8], ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
mov dword [eax + edi*8 + 4], ecx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
sub ecx, edi
mov dword [eax + ecx*4], esi
cmp dword [esp + 0x3c], 0
jne 0x492b68
test edx, edx
je case.default.0x4935fb
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491d2b
mov esi, dword [esp + 0x14]
xor ebp, ebp
mov ecx, dword [esp + 0x174]
xor edi, edi
sub esi, dword [ecx + 0x74]
sar esi, 1
nop dword [eax]
cmp edx, 0x82
jb 0x492ba2
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
mov ecx, dword [esp + 0x20]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
movzx eax, word [ecx]
movzx eax, byte [eax + 0x4bee60]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00491c30
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x492c19
mov ecx, dword [esp + 0x174]
mov edi, 1
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x84]
mov dword [esp + 0x170], eax
mov eax, dword [ecx + 0x74]
mov dword [esp + 0x1c], ebx
lea eax, [eax + esi*2]
mov dword [esp + 0x14], eax
jmp 0x492b90
cmp eax, 0xfffffc20
jne 0x492c6a
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
mov edx, dword [esp + 0x14]
jae 0x492c6e
cmp word [edx], 0x71
je 0x492c76
cmp word [ecx], 0x71
jne 0x492c6e
movzx eax, word [edx + 2]
mov ecx, dword [esp + 0x174]
lea edx, [edx + eax*2]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
jmp 0x492b90
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x496ee7
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x71
lea edx, [edx + eax*2]
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
je 0x492b90
test edi, edi
jne 0x492ca3
test ebp, ebp
je case.default.0x4935fb
mov esi, dword [esp + 0x14]
mov ebp, ecx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491d2b
movzx eax, word [esi + 2]
mov ebp, esi
add eax, eax
mov edx, 0x82
sub ebp, eax
movzx eax, word [ebp]
mov ecx, eax
cmp ax, dx
jae 0x492cde
cmp ecx, 0x7b
je 0x492cde
mov dword [esp + 0x30], 0
jmp 0x492cf7
mov edx, dword [esp + 0x178]
lea eax, [edx + 4]
mov edx, dword [edx]
mov eax, dword [eax]
mov dword [esp + 0x178], edx
mov dword [esp + 0x30], eax
cmp ecx, 0x77
jb 0x492d05
cmp ecx, 0x7a
jbe 0x49718c
cmp ecx, 0x7c
je 0x49718c
cmp ecx, 0x7f
je 0x492d35
mov eax, 0x84
cmp cx, ax
je 0x492d35
mov eax, 0x80
cmp cx, ax
je 0x492d35
mov eax, 0x85
cmp cx, ax
jne 0x492e10
mov edx, dword [esp + 0x174]
movzx edi, word [ebp + 4]
mov eax, dword [edx + 0xa8]
lea esi, [edi + edi]
test eax, eax
je 0x492d56
cmp dword [eax + 4], edi
je 0x497073
mov dword [edx + 0x94], edi
cmp esi, dword [edx + 0x14]
jl 0x492da3
mov edi, dword [esp + 0x170]
mov dword [edx + 0x40], 1
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
cmp eax, 0x72
je 0x492d85
cmp ebx, dword [esp + 0x30]
jne 0x496dbf
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x497142
mov ebp, dword [esp + 0x174]
jmp 0x491d32
mov ecx, dword [esp + 0x170]
cmp esi, ecx
jle 0x492dd6
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + esi*4]
cmp ecx, edx
jae 0x492dcf
mov eax, ecx
nop dword [eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x492dc0
mov edx, dword [esp + 0x174]
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0xc]
sub eax, edi
mov edi, dword [esp + 0x170]
mov eax, dword [ecx + eax*4]
mov dword [ecx + esi*4], eax
mov ecx, ebx
sub ecx, dword [edx + 0x78]
mov eax, dword [edx + 0xc]
sar ecx, 1
mov dword [eax + esi*4 + 4], ecx
cmp edi, esi
jg 0x492d6f
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
jmp 0x492d6f
mov edx, dword [esp + 0x174]
jmp 0x492d73
cmp dword [ebp + 0x44], 0
je case.0x491d5e.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x4935fb
cmp ebx, dword [ebp + 0x78]
jne case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp dword [ebp + 0x44], 0
je 0x492e54
cmp ebx, dword [ebp + 0x78]
je case.default.0x4935fb
mov ecx, dword [ebp + 0x78]
jmp 0x492e5f
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je case.0x4935fb.10
cmp ebx, dword [ebp + 0x7c]
je case.default.0x4935fb
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x492ea5
cmp ebx, ecx
jbe 0x492e8f
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b000
add esp, 0xc
test eax, eax
je 0x492e8f
mov eax, 1
jmp 0x492e91
xor eax, eax
test eax, eax
je case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x4935fb
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4935fb
cmp esi, 1
je 0x492eda
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4935fb
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x491d32
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x492f94
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x492f54
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049af40
add esp, 0xc
test eax, eax
je case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x4935fb
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4935fb
cmp edx, 1
je case.0x4935fb.10
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp dword [ebp + 0x48], 0
jne case.default.0x4935fb
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x4935fb.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x4935fb.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp dword [ebp + 0x48], 0
jne case.default.0x4935fb
cmp dword [ebp + 0x58], 0
je case.0x491d5e.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x4935fb
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x4935fb.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x4935fb.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493094
mov edx, dword [ebp + 0x18]
lea esi, [ebp + 0x1c]
test edx, edx
je 0x493050
push 1
push esi
push ecx
mov ecx, ebx
call fcn.0049af40
add esp, 0xc
test eax, eax
je case.default.0x4935fb
jmp 0x49307f
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x4935fb
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x4935fb
cmp edx, 1
je 0x49307f
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x4935fb
mov ecx, dword [esi]
mov eax, dword [ebp + 0x7c]
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne case.default.0x4935fb
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x4935fb.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x4935fb.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x78]
je 0x49318f
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4930ef
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
jae 0x4930fd
mov dword [ebp + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493128
movzx eax, word [edx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebp + 0x54], 0
je 0x493177
cmp ecx, 0x5f
jne 0x49313b
lea esi, [ecx - 0x5e]
jmp 0x493191
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
mov eax, dword [eax*4 + 0x4bede0]
cmp eax, 1
je 0x493170
cmp eax, 3
jne 0x49318f
mov esi, 1
jmp 0x493191
cmp ecx, 0x100
jae 0x49318f
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x49318f
mov esi, 1
jmp 0x493191
xor esi, esi
cmp ebx, dword [ebp + 0x7c]
jb 0x4931db
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4931b8
cmp ebx, dword [ebp + 0x88]
jbe 0x4931b8
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
xor edx, edx
lea ecx, [edx + 1]
mov edi, dword [esp + 0x14]
movzx eax, word [edi]
add edi, 2
mov dword [esp + 0x14], edi
cmp eax, 5
je 0x4931d2
mov ecx, edx
xor ecx, esi
test ecx, ecx
jmp 0x491d21
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493206
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
cmp dword [ebp + 0x54], 0
je 0x49325d
cmp ecx, 0x5f
jne 0x493218
lea edx, [ecx - 0x5e]
xor ecx, ecx
jmp 0x4931bd
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
mov eax, dword [eax*4 + 0x4bede0]
cmp eax, 1
je 0x493251
cmp eax, 3
jne 0x4931b8
mov edx, 1
xor ecx, ecx
jmp 0x4931bd
cmp ecx, 0x100
jae 0x4931b8
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x4931b8
mov edx, 1
xor ecx, ecx
jmp 0x4931bd
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x4932b8
cmp ebx, ecx
jae 0x4932ac
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049af40
add esp, 0xc
test eax, eax
je 0x4932ac
mov eax, 1
jmp 0x4932ae
xor eax, eax
test eax, eax
jne case.default.0x4935fb
jmp case.0x491d5e.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x491d5e.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x491d5e.13
cmp edx, 1
je case.default.0x4935fb
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x4935fb
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x4971bc
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, eax
jae 0x493316
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x493316
add ebx, 2
mov dword [esp + 0x1c], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49337f
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x100
jae case.0x4935fb.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4933e5
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0xff
ja case.default.0x4935fb
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49344b
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x100
jae case.0x4935fb.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4934b1
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0xff
ja case.default.0x4935fb
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493517
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x100
jae case.0x4935fb.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49357d
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0xff
ja case.default.0x4935fb
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
mov edx, dword [ebp + 0x7c]
cmp ebx, edx
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4935e5
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x85
ja 0x493627
je case.0x4935fb.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4935fb
jmp dword [ecx*4 + 0x499508]
cmp ebx, edx
jae case.0x4935fb.10
cmp word [ebx], 0xa
jne case.0x4935fb.10
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x491d32
sub ecx, 0x2028
je case.0x4935fb.11
sub ecx, 1
jne case.default.0x4935fb
cmp dword [ebp + 0x68], 0
jne case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49368f
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x2000
ja 0x4936ed
je case.default.0x4935fb
cmp ecx, 0xa0
ja 0x4936c9
je case.default.0x4935fb
cmp ecx, 9
je case.default.0x4935fb
cmp ecx, 0x20
je case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ecx, 0x1680
je case.default.0x4935fb
cmp ecx, 0x180e
je case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ecx, 0x3000
ja case.0x493715.8203
je case.default.0x4935fb
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x493715.8203
movzx eax, byte [ecx + 0x499520]
jmp dword [eax*4 + 0x499518]
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49375d
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x2000
ja 0x4937bb
je case.0x493715.8203
cmp ecx, 0xa0
ja 0x493797
je case.0x493715.8203
cmp ecx, 9
je case.0x493715.8203
cmp ecx, 0x20
jne case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ecx, 0x1680
je case.0x493715.8203
cmp ecx, 0x180e
jne case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ecx, 0x3000
ja case.default.0x4935fb
je case.0x493715.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4935fb
movzx eax, byte [ecx + 0x499588]
jmp dword [eax*4 + 0x499580]
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49382b
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x85
ja 0x49384c
je case.default.0x4935fb
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x493715.8203
jmp dword [ecx*4 + 0x4995e8]
sub ecx, 0x2028
je case.default.0x4935fb
sub ecx, 1
je case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4938ae
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ecx, 0x85
ja 0x4938cf
je case.0x493715.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4935fb
jmp dword [ecx*4 + 0x4995f8]
sub ecx, 0x2028
je case.0x493715.8203
sub ecx, 1
jne case.default.0x4935fb
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493931
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x49395c
jmp dword [ecx*4 + 0x499608]
cmp dword [esp + 0x20], 0xf
jmp 0x493aa4
mov al, byte [eax*8 + 0x4cabc9]
cmp al, 9
je 0x493a93
cmp al, 5
je 0x493a93
cmp al, 8
je 0x493a93
xor ecx, ecx
jmp 0x493a98
movzx ecx, byte [eax*8 + 0x4cabc9]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4bede0]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x493aa4
movzx eax, byte [eax*8 + 0x4cabc9]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x493a9f
movzx eax, byte [eax*8 + 0x4cabc8]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x493a9f
movzx eax, byte [eax*8 + 0x4cabc9]
mov eax, dword [eax*4 + 0x4bede0]
cmp eax, 1
je 0x493a93
cmp eax, 3
je 0x493a93
xor ecx, ecx
jmp 0x493a98
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 6
je 0x493a93
cmp edx, 9
je 0x493a93
cmp edx, 0xa
je 0x493a93
cmp edx, 0xc
je 0x493a93
cmp edx, 0xd
je 0x493a93
xor ecx, ecx
jmp 0x493a98
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 6
je 0x493a93
cmp edx, 9
je 0x493a93
cmp edx, 0xa
je 0x493a93
cmp edx, 0xb
jmp 0x493a40
movzx eax, byte [eax*8 + 0x4cabc9]
mov eax, dword [eax*4 + 0x4bede0]
cmp eax, 1
je 0x493a93
cmp eax, 3
je 0x493a93
cmp edx, 0x5f
je 0x493a93
xor ecx, ecx
jmp 0x493a98
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x4935fb
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x491d32
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x4971bc
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493af9
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 2
je case.default.0x4935fb
cmp ebx, esi
jae 0x493bae
mov dword [esp + 0x1c], ebx
nop word [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493b75
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 2
jne 0x493baa
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x493b40
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491d32
movzx eax, word [esi + 2]
xor edx, edx
cmp dword [esp + 0x20], 0x6e
sete dl
add esi, 4
lea ecx, [eax + eax]
mov dword [esp + 0x24], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x14], esi
cmp ecx, edi
jge 0x493bf4
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x493bf4
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x493bfe
mov ebp, dword [ebp + 0x50]
neg ebp
sbb ebp, ebp
neg ebp
dec ebp
mov eax, dword [esp + 0x14]
movzx eax, word [eax]
mov esi, eax
lea edi, [eax - 0x62]
cmp edi, 7
ja case.default.0x493c1a
movzx eax, byte [edi + 0x499634]
jmp dword [eax*4 + 0x49962c]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + 0x4be658]
and eax, 1
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x4be650]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x493c79
mov dword [esp + 0x34], connect
jmp 0x493c79
mov edi, dword [esp + 0x14]
xor eax, eax
cmp esi, 0x69
sete al
movzx esi, word [edi + 2]
mov dword [esp + 0x30], eax
movzx eax, word [edi + 4]
test eax, eax
cmove eax, dword [esp + 0x54]
add edi, 6
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x170]
test ebp, ebp
je 0x491d14
jns 0x493c92
test esi, esi
je 0x491d14
cmp esi, 1
jl 0x493ccf
mov edi, 1
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.00491a80
add esp, 0xc
test eax, eax
js 0x497859
mov ecx, dword [esp + 0x3c]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x24]
inc edi
mov dword [esp + 0x1c], ebx
cmp edi, esi
jle 0x493ca0
mov eax, dword [esp + 0x34]
cmp esi, eax
jne 0x4971eb
nop dword [eax + eax]
mov ebp, dword [esp + 0x174]
jmp 0x491d27
mov esi, dword [esp + 0x174]
push edx
push esi
push ebp
mov edx, ebx
call fcn.00491a80
add esp, 0xc
test eax, eax
js 0x4972b1
lea ebx, [ebx + eax*2]
mov ebp, esi
mov dword [esp + 0x1c], ebx
jmp 0x491d27
movzx eax, word [esi + 0x22]
lea ebp, [esi + 2]
add esi, 0x22
mov dword [esp + 0x40], ebp
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x493d3d
movzx eax, byte [ecx + 0x499644]
jmp dword [eax*4 + 0x49963c]
movsx eax, byte [ecx + 0x4be650]
mov edx, ecx
movsx edi, byte [ecx + 0x4be658]
and edx, 1
add esi, 2
mov dword [esp + 0x18], edx
test eax, eax
mov ecx, closesocket
cmove eax, ecx
jmp 0x493d8b
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, closesocket
sete al
mov dword [esp + 0x18], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x14], esi
mov esi, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], edi
cmp edi, esi
jl 0x493e3a
jmp 0x493db9
mov edi, 1
mov dword [esp + 0x24], 1
mov dword [esp + 0x34], edi
mov esi, edi
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497abf
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493e01
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x1c], ebx
add edx, 0x10000
cmp edx, 0xff
jbe 0x493e16
cmp dword [esp + 0x20], 0x6a
je case.default.0x4935fb
jmp 0x493e35
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x4935fb
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, edi
jle 0x493dc0
mov eax, dword [esp + 0x24]
cmp edi, eax
jne 0x497393
mov ebp, dword [esp + 0x174]
jmp 0x491d27
movzx eax, word [esi + 2]
lea ebp, [esi + 4]
mov dword [esp + 0x40], ebp
lea esi, [esi + eax*2]
movzx eax, word [esi]
mov dword [esp + 0x14], esi
mov edx, eax
lea ecx, [eax - 0x62]
cmp ecx, 7
ja case.default.0x493e7c
movzx eax, byte [ecx + 0x499654]
jmp dword [eax*4 + 0x49964c]
movsx eax, byte [ecx + 0x4be650]
mov edx, ecx
movsx edi, byte [ecx + 0x4be658]
add esi, 2
and edx, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], eax
test eax, eax
jne 0x493edc
mov dword [esp + 0x24], connect
jmp 0x493edc
movzx edi, word [esi + 2]
xor eax, eax
cmp edx, 0x69
mov ecx, closesocket
sete al
mov dword [esp + 0x18], eax
movzx eax, word [esi + 4]
test eax, eax
cmove eax, ecx
add esi, 6
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], esi
mov esi, 1
cmp edi, esi
jl 0x493f61
jmp 0x493f00
mov edi, 1
mov dword [esp + 0x24], 1
mov esi, edi
nop word [eax + eax]
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497abf
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493f48
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
push 1
mov edx, ebp
call fcn.0049b0f0
add esp, 4
test eax, eax
je case.default.0x4935fb
inc esi
cmp esi, edi
jle 0x493f00
mov eax, dword [esp + 0x24]
cmp edi, eax
jne 0x497615
mov ebp, dword [esp + 0x174]
jmp 0x491d27
mov ax, word [esi + 2]
add esi, 2
mov ecx, 0xfc00
mov dword [esp + 0x14], esi
and ax, cx
xor edx, edx
mov ecx, 0xd800
cmp ax, cx
mov ecx, dword [ebp + 0x7c]
mov eax, ecx
sete dl
sub eax, ebx
inc edx
sar eax, 1
cmp edx, eax
jg 0x49783e
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
add esi, 2
dec edx
mov dword [esp + 0x14], esi
movzx ecx, word [eax]
mov ax, word [ebx]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp cx, ax
jne case.default.0x4935fb
test edx, edx
jg 0x493fb0
jmp 0x491d32
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
movzx ecx, word [esi + 2]
lea ebp, [esi + 2]
mov eax, ecx
mov dword [esp + 0x34], 1
and eax, 0xfc00
lea esi, [ebp + 2]
mov dword [esp + 0x14], esi
cmp eax, 0xd800
jne 0x494029
movzx eax, word [esi]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov dword [esp + 0x34], 2
add ecx, 0x10000
movzx eax, word [ebx]
mov edx, eax
cmp ecx, 0x80
jae 0x494069
mov ebp, 0xff
cmp ax, bp
mov ebp, dword [esp + 0x174]
ja 0x49404e
mov eax, dword [ebp + 0x34]
movzx edx, byte [edx + eax]
mov eax, dword [ebp + 0x34]
movzx eax, byte [ecx + eax]
cmp eax, edx
jne case.default.0x4935fb
add ebx, 2
mov dword [esp + 0x1c], ebx
jmp 0x491d32
mov eax, edx
mov dword [esp + 0x30], ecx
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x1c], ebx
mov esi, ecx
mov edi, ecx
cmp eax, 0xd800
jne 0x4940b4
movzx eax, word [ebx]
and edx, 0x3ff
mov esi, dword [esp + 0x34]
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], ebx
add edx, 0x10000
mov dword [esp + 0x30], ecx
mov esi, ecx
mov eax, dword [esp + 0x34]
lea eax, [eax*2]
add eax, ebp
mov ebp, dword [esp + 0x174]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x30], edx
je 0x491d27
shr esi, 7
and edi, 0x7f
movzx eax, byte [esi + 0x4cbca8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x4bf2c8]
mov eax, dword [eax*8 + 0x4cabcc]
add eax, ecx
cmp edx, eax
jmp 0x491d21
movzx ebp, word [esi + 2]
add esi, 4
mov edi, ebp
jmp 0x4941b4
mov dword [esp + 0x2c], 1
movzx ebp, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebp
cmp ecx, 0x28
je 0x494132
mov dword [esp + 0x18], edi
cmp ecx, 0x35
jne 0x49413a
mov dword [esp + 0x18], 1
add esi, 4
jmp 0x4941bc
xor edi, edi
mov dword [esp + 0x2c], 1
mov ebp, closesocket
add esi, 2
jmp 0x4941b4
mov dword [esp + 0x2c], 1
mov edi, 1
mov ebp, closesocket
add esi, 2
jmp 0x4941b4
xor edi, edi
mov dword [esp + 0x2c], 1
add esi, 2
lea ebp, [edi + 1]
jmp 0x4941b4
cmp edx, 0x2e
mov ecx, edx
sbb eax, eax
add esi, 2
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x18], ecx
and dword [esp + 0x18], 1
movsx ebp, byte [eax + 0x4be650]
movsx edi, byte [eax + 0x4be658]
test ebp, ebp
mov eax, closesocket
cmove ebp, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebp
mov ecx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], esi
movzx esi, word [esi]
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49450a
mov eax, ecx
and esi, 0x3ff
shl esi, 0xa
movzx edx, word [eax + 2]
lea eax, [ecx + 4]
and edx, 0x3ff
mov dword [esp + 0x14], eax
or edx, esi
mov esi, 2
add edx, 0x10000
mov dword [esp + 0x34], esi
cmp dword [esp + 0x20], 0x2e
jb 0x494249
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
mov ecx, dword [eax*8 + 0x4cabcc]
add ecx, edx
cmp ecx, edx
je 0x494249
lea edx, [esp + 0x74]
call fcn.0049aee0
mov dword [esp + 0x3c], eax
jmp 0x494251
mov dword [esp + 0x3c], 0
mov ebp, 1
cmp edi, ebp
jl 0x494382
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], esi
mov dword [esp + 0x14], edx
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x20], ecx
lea eax, [ecx - 4]
mov dword [esp + 0x40], eax
nop
cmp ebx, eax
ja 0x4942e0
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x4942a2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4942a7
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494291
cmp esi, 0xfffffffc
je 0x4942d4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4942dc
cmp esi, 0xfffffffd
je 0x4942d4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4942dc
cmp esi, 0xfffffffe
je 0x4942d4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4942dc
cmp esi, 0xffffffff
je 0x4942d4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4942dc
add ebx, 4
jmp 0x494369
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
test edx, edx
jle 0x497859
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x497859
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494321
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494326
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494310
cmp esi, 0xfffffffc
je 0x494363
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497859
cmp esi, 0xfffffffd
je 0x494363
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497859
cmp esi, 0xfffffffe
je 0x494363
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497859
cmp esi, 0xffffffff
je 0x494363
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497859
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x40]
inc ebp
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jle 0x494280
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x493ce0
cmp dword [esp + 0x18], 0
jne 0x497924
mov ebp, ebx
mov dword [esp + 0x18], ebp
cmp edi, eax
jge 0x4944b8
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
lea eax, [esi + esi]
mov ebp, ecx
mov dword [esp + 0x20], ecx
sub ebp, eax
nop dword [eax]
cmp ebx, ebp
ja 0x494424
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x4943e2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4943e7
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4943d1
cmp esi, 0xfffffffc
je 0x494414
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494420
cmp esi, 0xfffffffd
je 0x494414
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494420
cmp esi, 0xfffffffe
je 0x494414
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494420
cmp esi, 0xffffffff
je 0x494414
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494420
mov esi, dword [esp + 0x34]
lea ebx, [ebx + esi*2]
jmp 0x49449d
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
test edx, edx
jle 0x4944d6
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4944d6
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x494461
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494466
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494450
cmp esi, 0xfffffffc
je 0x494493
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4944d6
cmp esi, 0xfffffffd
je 0x494493
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4944d6
cmp esi, 0xfffffffe
je 0x494493
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4944d6
cmp esi, 0xffffffff
je 0x494493
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4944d6
mov esi, dword [esp + 0x34]
add ebx, edi
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
inc edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], edi
cmp edi, dword [esp + 0x24]
jl 0x4943c0
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x49788f
mov ebp, dword [esp + 0x174]
jmp 0x491d27
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x494504
cmp ebx, dword [esi + 0x7c]
jb 0x494504
cmp ebx, dword [esi + 0x88]
jbe 0x494504
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x498dda
mov ebp, dword [esp + 0x18]
jmp 0x4944bf
add ecx, 2
mov dword [esp + 0x14], ecx
cmp edx, 0x2e
jb 0x494676
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x49454f
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
mov ebp, dword [eax*8 + 0x4cabcc]
add ebp, esi
jmp 0x494556
mov eax, dword [edx + 0x38]
movzx ebp, byte [eax + esi]
mov ecx, 1
cmp edi, ecx
jl 0x49459b
mov edx, dword [edx + 0x7c]
mov eax, dword [esp + 0x14]
nop word [eax + eax]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x497ab8
movzx eax, word [ebx]
cmp esi, eax
je 0x49458b
cmp ebp, eax
jne case.default.0x4935fb
mov eax, dword [esp + 0x14]
add ebx, 2
inc ecx
mov dword [esp + 0x1c], ebx
cmp ecx, edi
jle 0x494570
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x493ce0
cmp dword [esp + 0x18], 0
jne 0x497ad2
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, eax
jge 0x4945e7
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x494648
movzx eax, word [ebx]
cmp esi, eax
je 0x4945d9
cmp ebp, eax
jne 0x4945e7
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, dword [esp + 0x24]
jl 0x4945c6
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x491d27
cmp ebx, edi
jb case.default.0x4935fb
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x496ee7
cmp ebx, edi
jae 0x494601
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4945ee
cmp ebx, dword [ebp + 0x88]
jbe 0x4945ee
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
jmp 0x4945ee
cmp edi, 1
jl 0x4946b3
mov eax, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, edx
jae 0x497ab8
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp esi, eax
jne case.default.0x4935fb
inc ecx
cmp ecx, edi
jle 0x494690
mov ecx, dword [esp + 0x14]
cmp edi, ebp
je 0x493ce0
cmp dword [esp + 0x18], 0
jne 0x497b7f
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, ebp
jge 0x4946f7
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x494758
movzx eax, word [ebx]
cmp esi, eax
jne 0x4946f7
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jl 0x4946e0
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x491d27
cmp ebx, edi
jb case.default.0x4935fb
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x496ee7
cmp ebx, edi
jae 0x494711
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4946fe
cmp ebx, dword [ebp + 0x88]
jbe 0x4946fe
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
jmp 0x4946fe
cmp ebx, dword [ebp + 0x7c]
jae 0x4971bc
lea ecx, [esi + 2]
movzx esi, word [ebx]
mov eax, esi
add ebx, 2
and eax, 0xfc00
mov dword [esp + 0x1c], ebx
cmp eax, 0xd800
jne 0x4947ca
movzx eax, word [ebx]
and esi, 0x3ff
shl esi, 0xa
and eax, 0x3ff
or esi, eax
add esi, 0x10000
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp dword [esp + 0x20], 0x20
lea eax, [ecx + 2]
movzx edx, word [ecx]
mov dword [esp + 0x14], eax
jne 0x494829
cmp edx, 0x7f
jbe 0x494809
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
mov eax, dword [eax*8 + 0x4cabcc]
add eax, edx
jmp 0x494810
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.default.0x4935fb
cmp eax, esi
je case.default.0x4935fb
mov esi, dword [esp + 0x14]
jmp 0x491d32
mov dword [esp + 0x14], eax
cmp edx, esi
je case.default.0x4935fb
mov esi, eax
jmp 0x491d32
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x28], eax
mov edi, eax
jmp 0x494903
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], eax
cmp ecx, 0x42
je 0x494866
mov dword [esp + 0x18], edi
cmp ecx, 0x4f
jne 0x49486e
mov dword [esp + 0x18], 1
lea ecx, [esi + 4]
jmp 0x494903
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x4948fb
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x4948fb
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x28], 1
jmp 0x494903
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x2c], 1
xor edi, edi
mov dword [esp + 0x28], eax
jmp 0x494903
cmp edx, 0x48
mov ecx, edx
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
mov eax, ecx
mov dword [esp + 0x18], ecx
and dword [esp + 0x18], 1
lea ecx, [esi + 2]
movsx edi, byte [eax + 0x4be658]
movsx eax, byte [eax + 0x4be650]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x494903
mov dword [esp + 0x28], connect
movzx ebp, word [ecx]
lea esi, [ecx + 2]
cmp edx, 0x48
mov dword [esp + 0x34], ebp
mov dword [esp + 0x14], esi
mov edx, 1
jb 0x494a9d
cmp ebp, 0x7f
jbe 0x494956
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4cabcc]
add ebp, dword [esp + 0x34]
jmp 0x494964
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x30], ebp
cmp edi, 1
jl 0x4949cb
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4949b0
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add ebx, 2
or ecx, eax
mov dword [esp + 0x1c], ebx
add ecx, 0x10000
cmp dword [esp + 0x34], ecx
je case.default.0x4935fb
cmp ebp, ecx
je case.default.0x4935fb
inc edx
cmp edx, edi
jle 0x494970
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x491e8c
cmp dword [esp + 0x18], 0
jne 0x497cd5
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x494a50
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x494a72
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494a2f
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp dword [esp + 0x34], ecx
je 0x494a49
cmp dword [esp + 0x30], ecx
je 0x494a49
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x4949f2
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x497c49
mov ebp, dword [esp + 0x174]
jmp 0x491d32
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x494a50
cmp ebx, dword [ecx + 0x88]
jbe 0x494a50
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x498dda
jmp 0x494a50
cmp edi, 1
jl 0x494b01
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494af0
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
add ebx, 2
or ecx, eax
mov dword [esp + 0x1c], ebx
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x4935fb
inc edx
cmp edx, edi
jle 0x494ab0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x491e8c
cmp dword [esp + 0x18], 0
jne 0x497e3f
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x494b80
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x494ba2
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494b65
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp dword [esp + 0x34], ecx
je 0x494b79
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x494b28
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x497daf
mov ebp, dword [esp + 0x174]
jmp 0x491d32
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x494b80
cmp ebx, dword [ecx + 0x88]
jbe 0x494b80
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x498dda
jmp 0x494b80
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov ebp, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x18], 1
jmp 0x494ca0
movzx eax, word [esi + 2]
xor ebp, ebp
mov dword [esp + 0x20], eax
xor eax, eax
cmp ecx, 0x5c
mov dword [esp + 0x24], ebp
lea ecx, [esi + 4]
sete al
mov dword [esp + 0x18], eax
jmp 0x494ca0
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x494c98
mov ebp, 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x494c98
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
mov dword [esp + 0x20], 1
jmp 0x494ca0
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
jmp 0x494ca0
add edx, 0xffffffab
lea ecx, [esi + 2]
mov eax, edx
and edx, 1
mov dword [esp + 0x18], edx
movsx ebp, byte [eax + 0x4be658]
movsx eax, byte [eax + 0x4be650]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
test eax, eax
jne 0x494ca0
mov dword [esp + 0x20], connect
movzx eax, word [ecx]
lea esi, [ecx + 2]
mov edx, eax
mov dword [esp + 0x14], esi
mov edi, eax
mov dword [esp + 0x28], edi
cmp edx, 0x10
je 0x494cc5
cmp edx, 0xf
je 0x494cc5
or eax, 0xffffffff
mov dword [esp + 0x30], eax
jmp 0x494ceb
movzx ecx, word [esi]
xor eax, eax
cmp edx, 0xf
mov dword [esp + 0x30], ecx
sete al
mov dword [esp + 0x38], eax
lea eax, [esi + 2]
movzx esi, word [eax]
add eax, 2
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x44], esi
test ebp, ebp
jle 0x495a2b
test eax, eax
js 0x495271
cmp eax, 8
ja case.default.0x49395c
jmp dword [eax*4 + 0x49965c]
cmp dword [esp + 0x38], 0
jne case.default.0x4935fb
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
mov ecx, ebx
cmp ebx, esi
jae 0x497ab8
mov ax, word [ebx]
mov ebx, 0xfc00
and ax, bx
xor ebx, ebx
cmp ax, word [esp + 0x48]
sete bl
inc edx
lea ebx, [ebx*2 + 2]
add ebx, ecx
cmp edx, ebp
jle 0x494d25
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494da8
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
mov al, byte [eax*8 + 0x4cabc9]
cmp al, 9
je 0x494ddb
cmp al, 5
je 0x494ddb
cmp al, 8
je 0x494ddb
xor eax, eax
jmp 0x494de0
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4935fb
inc edx
cmp edx, ebp
jle 0x494d70
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494e3f
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov edi, dword [esp + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], edi
mov edi, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4935fb
inc edx
cmp edx, ebp
jle 0x494e07
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494ed8
movzx eax, word [ebx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4935fb
inc edx
cmp edx, ebp
jle 0x494ea0
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494f68
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc8]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4935fb
inc edx
cmp edx, ebp
jle 0x494f30
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494ff8
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
mov eax, dword [eax*4 + 0x4bede0]
cmp eax, 1
je 0x495031
cmp eax, 3
je 0x495031
xor eax, eax
jmp 0x495036
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4935fb
inc edx
cmp edx, ebp
jle 0x494fc0
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497ab8
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495099
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 6
je 0x4950e1
cmp edx, 9
je 0x4950e1
cmp edx, 0xa
je 0x4950e1
cmp edx, 0xc
je 0x4950e1
cmp edx, 0xd
je 0x4950e1
xor eax, eax
jmp 0x4950e6
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4935fb
inc esi
cmp esi, ebp
jle 0x495061
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497ab8
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49514d
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 6
je 0x49519a
cmp edx, 9
je 0x49519a
cmp edx, 0xa
je 0x49519a
cmp edx, 0xb
je 0x49519a
cmp edx, 0xc
je 0x49519a
cmp edx, 0xd
je 0x49519a
xor eax, eax
jmp 0x49519f
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4935fb
inc esi
cmp esi, ebp
jle 0x495115
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
nop
cmp ebx, edi
jae 0x497ab8
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495210
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
add ebx, 2
or edx, eax
mov dword [esp + 0x1c], ebx
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
mov eax, dword [eax*4 + 0x4bede0]
cmp eax, 1
je 0x495250
cmp eax, 3
je 0x495250
cmp edx, 0x5f
je 0x495250
xor eax, eax
jmp 0x495255
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4935fb
inc esi
cmp esi, ebp
jle 0x4951d0
mov edi, dword [esp + 0x28]
jmp 0x495a2b
cmp edx, 0x16
jne 0x49538f
mov esi, dword [esp + 0x174]
lea edi, [edx - 0x15]
mov ebp, dword [esi + 0x7c]
cmp ebx, ebp
jae 0x497f15
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4952c1
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 2
je case.default.0x4935fb
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x49536a
nop
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495335
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 2
jne 0x49536a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x495300
mov esi, dword [esp + 0x174]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x495287
mov ebp, dword [esp + 0x24]
mov ecx, esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x495a32
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x49395c
jmp dword [eax*4 + 0x499680]
mov ecx, dword [esp + 0x174]
mov esi, 1
nop
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x497ab8
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x495417
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049af40
add esp, 0xc
test eax, eax
jne case.default.0x4935fb
mov ecx, dword [esp + 0x174]
add ebx, 2
cmp ebx, dword [ecx + 0x7c]
jae 0x495409
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x495409
add ebx, 2
inc esi
cmp esi, ebp
jle 0x4953b0
mov dword [esp + 0x1c], ebx
jmp 0x495a32
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4953e2
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4953e9
cmp edx, 1
je case.default.0x4935fb
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je case.default.0x4935fb
jmp 0x4953e9
mov esi, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [esi + 0x7c]
nop word [eax + eax]
cmp ebx, edx
jae 0x497f15
add ebx, 2
cmp ebx, edx
jae 0x495481
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x495481
add ebx, 2
inc ecx
cmp ecx, ebp
jle 0x495460
mov dword [esp + 0x1c], ebx
mov ecx, esi
jmp 0x495a32
mov eax, dword [esp + 0x174]
lea ecx, [ebp*2]
mov eax, dword [eax + 0x7c]
sub eax, ecx
cmp ebx, eax
ja case.default.0x4935fb
add ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497abf
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4954fe
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add edx, 2
cmp ecx, 0x85
ja 0x49554e
je case.0x495514.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4935fb
jmp dword [ecx*4 + 0x4996c0]
mov ebx, edx
cmp edx, edi
jae 0x495535
cmp word [edx], 0xa
mov ecx, dword [esp + 0x174]
jne 0x49553c
lea ebx, [edx + 2]
jmp 0x49553c
mov ebx, edx
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, ebp
jle 0x4954c6
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x495a32
sub ecx, 0x2028
je case.0x495514.11
sub ecx, 1
jne case.default.0x4935fb
mov ecx, dword [esp + 0x174]
mov ebx, edx
cmp dword [ecx + 0x68], 0
jne case.default.0x4935fb
jmp 0x49553c
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4955bb
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x2000
ja 0x495611
je case.default.0x4935fb
cmp ecx, 0xa0
ja 0x4955f7
je case.default.0x4935fb
cmp ecx, 9
je case.default.0x4935fb
cmp ecx, 0x20
je case.default.0x4935fb
inc edx
cmp edx, ebp
jle 0x495583
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
cmp ecx, 0x1680
je case.default.0x4935fb
cmp ecx, 0x180e
je case.default.0x4935fb
jmp case.0x495631.8203
cmp ecx, 0x3000
ja case.0x495631.8203
je case.default.0x4935fb
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x495631.8203
movzx eax, byte [ecx + 0x4996d8]
jmp dword [eax*4 + 0x4996d0]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49567f
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x2000
ja 0x4956c5
je case.0x4956e9.8193
cmp ecx, 0xa0
ja 0x4956af
je case.0x4956e9.8193
cmp ecx, 9
je case.0x4956e9.8193
cmp ecx, 0x20
jne case.default.0x4935fb
inc edx
cmp edx, ebp
jle 0x495647
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
cmp ecx, 0x1680
je case.0x4956e9.8193
cmp ecx, 0x180e
jne case.default.0x4935fb
jmp case.0x4956e9.8193
cmp ecx, 0x3000
ja case.default.0x4935fb
je case.0x4956e9.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4935fb
movzx eax, byte [ecx + 0x499740]
jmp dword [eax*4 + 0x499738]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495738
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x85
ja 0x495755
je case.default.0x4935fb
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49574e
jmp dword [ecx*4 + 0x4997a0]
sub ecx, 0x2028
je case.default.0x4935fb
sub ecx, 1
je case.default.0x4935fb
inc edx
cmp edx, ebp
jle 0x495700
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4957bf
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x85
ja 0x4957dc
je case.0x4957d5.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4935fb
jmp dword [ecx*4 + 0x4997b0]
sub ecx, 0x2028
je case.0x4957d5.10
sub ecx, 1
jne case.default.0x4935fb
inc edx
cmp edx, ebp
jle 0x495787
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x497ab8
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495848
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
cmp ecx, 0x80
jae 0x495864
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4935fb
inc edx
cmp edx, ebp
jle 0x495810
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497ab8
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4935fb
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je case.default.0x4935fb
inc edx
add ebx, 2
cmp edx, ebp
jle 0x495881
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497ab8
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4958fb
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4935fb
add ebx, 2
cmp ebx, esi
jae 0x49591a
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49591a
add ebx, 2
inc edx
cmp edx, ebp
jle 0x4958d0
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497ab8
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4935fb
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je case.default.0x4935fb
inc edx
add ebx, 2
cmp edx, ebp
jle 0x495937
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497ab8
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x4959b1
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4935fb
add ebx, 2
cmp ebx, esi
jae 0x4959d0
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4959d0
add ebx, 2
inc edx
cmp edx, ebp
jle 0x495986
mov dword [esp + 0x1c], ebx
jmp 0x495a2b
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x497ab8
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x4935fb
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4935fb
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jle 0x4959f0
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x493ce0
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0x30]
jne 0x497f79
mov esi, ebx
mov dword [esp + 0x18], esi
test eax, eax
js 0x496176
cmp eax, 8
ja case.default.0x49395c
jmp dword [eax*4 + 0x4997c0]
cmp ebp, edx
jge 0x4960ce
mov edx, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop word [eax + eax]
cmp ebx, edx
jae 0x495abb
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x38], 0
movzx ecx, ax
jne 0x4960ce
xor eax, eax
cmp cx, word [esp + 0x48]
sete al
inc ebp
lea ebx, [ebx + eax*2]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x495a80
jmp 0x4960ce
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4960d5
cmp ebx, dword [ebp + 0x88]
jbe 0x4960d5
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
jmp 0x4960d5
cmp ebp, edx
jge 0x4960ce
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
mov edx, 1
cmp ebx, esi
jae 0x495b94
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495b3d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
mov al, byte [eax*8 + 0x4cabc9]
cmp al, 9
je 0x495b70
cmp al, 5
je 0x495b70
cmp al, 8
je 0x495b70
xor eax, eax
jmp 0x495b75
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4960ca
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x495b00
jmp 0x4960ca
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x495bb9
cmp ebx, dword [ebp + 0x88]
jbe 0x495bb9
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x498dda
mov esi, dword [esp + 0x18]
jmp 0x4960d5
cmp ebp, edx
jge 0x4960ce
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x44]
cmp ebx, esi
jae 0x495c5f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495c0e
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], edi
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4960ca
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x495bd1
jmp 0x4960ca
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x495bb9
cmp ebx, dword [ebp + 0x88]
jbe 0x495bb9
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
mov esi, dword [esp + 0x18]
jmp 0x4960d5
cmp ebp, edx
jge 0x4960ce
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x495c5f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495ce1
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4960ca
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x495ca8
jmp 0x4960ca
cmp ebp, edx
jge 0x4960ce
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x495c5f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495d75
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc8]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x4960ca
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x495d38
jmp 0x4960ca
cmp ebp, edx
jge 0x4960ce
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
mov edx, 1
cmp ebx, esi
jae 0x495b94
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495e0d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
mov eax, dword [eax*4 + 0x4bede0]
cmp eax, 1
je 0x495e46
cmp eax, 3
je 0x495e46
xor eax, eax
jmp 0x495e4b
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4960ca
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x495dd0
jmp 0x4960ca
cmp ebp, edx
jge 0x4960ce
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x495f2b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495ebd
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 6
je 0x495f05
cmp edx, 9
je 0x495f05
cmp edx, 0xa
je 0x495f05
cmp edx, 0xc
je 0x495f05
cmp edx, 0xd
je 0x495f05
xor eax, eax
jmp 0x495f0a
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4960ca
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x495e80
jmp 0x4960ca
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x495bb9
cmp ebx, dword [ebp + 0x88]
jbe 0x495bb9
mov dword [ebp + 0x64], esi
cmp eax, 1
jg 0x498dda
mov esi, dword [esp + 0x18]
jmp 0x4960d5
cmp ebp, edx
jge 0x4960ce
mov edi, dword [ecx + 0x7c]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x495f2b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495fa9
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 6
je 0x495ff6
cmp edx, 9
je 0x495ff6
cmp edx, 0xa
je 0x495ff6
cmp edx, 0xb
je 0x495ff6
cmp edx, 0xc
je 0x495ff6
cmp edx, 0xd
je 0x495ff6
xor eax, eax
jmp 0x495ffb
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4960ca
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x495f70
jmp 0x4960ca
cmp ebp, edx
jge 0x4960ce
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x495f2b
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49606d
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
mov eax, dword [eax*4 + 0x4bede0]
cmp eax, 1
je 0x4960ad
cmp eax, 3
je 0x4960ad
cmp edx, 0x5f
je 0x4960ad
xor eax, eax
jmp 0x4960b2
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x4960ca
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496030
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x491d27
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x4935fb
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49613c
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x496117
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp edi, 0x16
jne 0x4963a1
cmp ebp, edx
jge 0x49629d
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, edi
jae 0x49636f
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4961cd
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 2
je 0x496299
mov eax, dword [esp + 0x174]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x49628e
nop dword [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496255
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 2
jne 0x49628a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x496220
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496190
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x491d27
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x4935fb
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x49630d
movzx ecx, word [edx - 2]
lea ebx, [edx - 2]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496338
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 2
jne 0x497f3b
sub ebx, 2
jmp 0x4962f3
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496398
cmp ebx, dword [ebp + 0x88]
jbe 0x496398
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
mov esi, dword [esp + 0x18]
jmp 0x4962a4
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x49395c
jmp dword [eax*4 + 0x4997e4]
cmp edx, 0x7fffffff
jge 0x4964b0
cmp ebp, edx
jge 0x4966fc
nop dword [eax + eax]
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496471
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x49643d
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049af40
add esp, 0xc
test eax, eax
jne 0x4966fc
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x496431
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496431
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x4963d0
jmp 0x4966fc
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496402
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496409
cmp edx, 1
je 0x4966fc
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4966fc
jmp 0x496409
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4966fc
cmp ebx, dword [ecx + 0x88]
jbe 0x4966fc
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x498dda
mov ebp, ecx
jmp 0x496703
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496471
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x496519
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049af40
add esp, 0xc
test eax, eax
jne 0x4966fc
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x49650d
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x49650d
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x4964b0
jmp 0x4966fc
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4964de
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x4964e5
cmp edx, 1
je 0x4966fc
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x4966fc
jmp 0x4964e5
cmp edx, 0x7fffffff
jge 0x4965c5
cmp ebp, edx
jge 0x4966fc
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x49658f
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, ecx
jae 0x496585
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x496585
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, edx
jl 0x496560
jmp 0x4966fc
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496703
cmp ebx, dword [ebp + 0x88]
jbe 0x496703
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
jmp 0x496703
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496703
cmp ebx, dword [ebp + 0x88]
jbe 0x496703
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
jmp 0x496703
sub edx, ebp
mov ebp, dword [esp + 0x174]
mov ecx, dword [ebp + 0x7c]
mov eax, ecx
sub eax, ebx
sar eax, 1
cmp edx, eax
jbe 0x496634
mov eax, dword [ebp + 0x8c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496703
cmp ecx, dword [ebp + 0x88]
jmp 0x4965e7
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
jmp 0x496703
cmp ebp, edx
jge 0x4966fc
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x4967be
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49668c
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x496691
mov eax, 2
cmp ecx, 0xd
jne 0x4966ab
mov ebx, edx
mov dword [esp + 0x1c], ebx
cmp edx, esi
jae 0x4966f8
cmp word [ebx], 0xa
jne 0x4966ed
lea ebx, [edx + 2]
jmp 0x4966e9
cmp ecx, 0xa
je 0x4966e7
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x496c77
cmp ecx, 0xb
je 0x4966e7
cmp ecx, 0xc
je 0x4966e7
cmp ecx, 0x85
je 0x4966e7
cmp ecx, 0x2028
je 0x4966e7
cmp ecx, 0x2029
jne 0x496c77
add ebx, eax
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496650
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x491d27
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
lea ecx, [ebx - 2]
cmp ebx, esi
je case.default.0x4935fb
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x496766
add ecx, 0xfffffffe
mov ebx, ecx
cmp edi, 0x11
jne 0x496782
cmp ecx, esi
jbe 0x496782
cmp word [ecx], 0xa
jne 0x496782
cmp word [ecx - 2], 0xd
lea eax, [ecx - 2]
cmove ebx, eax
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x496743
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4967e7
cmp ebx, dword [ebp + 0x88]
jbe 0x4967e7
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
mov esi, dword [esp + 0x18]
jmp 0x496703
cmp ebp, edx
jge 0x4966fc
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x4968be
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49683d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x2000
ja 0x496894
je case.0x4968b0.8193
cmp ecx, 0xa0
ja 0x496884
je case.0x4968b0.8193
cmp ecx, 9
je case.0x4968b0.8193
cmp ecx, 0x20
je case.0x4968b0.8193
xor ecx, ecx
xor eax, eax
cmp edi, 0x12
sete al
cmp ecx, eax
je 0x4966f8
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496800
jmp 0x4966f8
cmp ecx, 0x1680
je case.0x4968b0.8193
cmp ecx, 0x180e
jmp 0x49685d
cmp ecx, 0x3000
ja case.0x4968b0.8203
je case.0x4968b0.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4968b0.8203
movzx eax, byte [ecx + 0x49982c]
jmp dword [eax*4 + 0x499824]
mov ecx, 1
jmp 0x496861
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x4967e7
cmp ebx, dword [ebp + 0x88]
jbe 0x4967e7
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x498dda
mov esi, dword [esp + 0x18]
jmp 0x496703
cmp ebp, edx
jge 0x4966fc
mov esi, dword [ecx + 0x7c]
nop
mov edx, 1
cmp ebx, esi
jae 0x4968be
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496939
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x85
ja 0x496952
je case.0x49694b.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49694b
jmp dword [ecx*4 + 0x49988c]
sub ecx, 0x2028
je case.0x49694b.10
sub ecx, 1
je case.0x49694b.10
xor ecx, ecx
jmp 0x496968
mov ecx, 1
xor eax, eax
cmp edi, 0x14
sete al
cmp ecx, eax
je 0x4966f8
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496900
jmp 0x4966f8
cmp ebp, edx
jge 0x4966fc
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x4967be
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4969dd
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4969f9
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x4966f8
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4969a0
jmp 0x4966f8
cmp ebp, edx
jge 0x4966fc
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4967be
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496a54
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4966f8
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x4966f8
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496a17
jmp 0x4966f8
cmp ebp, edx
jge 0x4966fc
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4967be
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496acf
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x496aeb
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x4966f8
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496a92
jmp 0x4966f8
cmp ebp, edx
jge 0x4966fc
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x4967be
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496b4d
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4966f8
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x4966f8
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496b10
jmp 0x4966f8
cmp ebp, edx
jge 0x4966fc
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x4967be
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496bcd
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x496be9
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x4966f8
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496b90
jmp 0x4966f8
cmp ebp, edx
jge 0x4966fc
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x4967be
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496c44
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
cmp ecx, 0x100
jae 0x4966f8
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x4966f8
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496c07
jmp 0x4966f8
mov esi, dword [esp + 0x18]
mov ebp, edx
jmp 0x496703
cmp ecx, 0x74
mov ecx, ebx
jne 0x496cc9
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
lea edx, [esi + 4]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x496ece
mov dword [edx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, ebp
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x496ece
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
movzx ecx, word [esi + 6]
mov eax, dword [ebp + 0x90]
cmp eax, edx
cmovg edx, eax
add ecx, 2
cmp word [esi + ecx*2], 0x71
mov dword [esp + 0x170], edx
lea ecx, [esi + ecx*2]
jne 0x496d70
mov edx, ecx
nop word [eax + eax]
movzx eax, word [ecx + 2]
cmp word [edx + eax*2], 0x71
lea ecx, [edx + eax*2]
mov edx, ecx
je 0x496d50
jmp 0x496d69
mov ebp, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
cmp dword [esp + 0x20], 0x86
lea esi, [ecx + 4]
mov dword [esp + 0x14], esi
jne 0x496ed2
mov dword [ebp + 0x9c], 2
mov ecx, ebx
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ebp
push edx
push dword [esp + 0x17c]
mov edx, esi
call fcn.00491c30
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0x75
je 0x497126
cmp eax, 0x74
jne 0x496e24
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
lea edx, [esi + 4]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x4970d7
mov ecx, 0x82
cmp ax, cx
jae 0x497096
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x496ece
mov eax, 0x82
cmp word [ebp], ax
jb 0x496e39
mov dword [edx + 0x9c], 2
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
mov edx, ebp
call fcn.00491c30
mov ecx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x496e74
cmp dword [ecx + 0xb8], ebp
je 0x496e78
test eax, eax
jne 0x496ee7
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x497111
mov ebp, dword [esp + 0x174]
jmp 0x496ed2
movzx edi, word [esi + 4]
lea eax, [edi + edi]
cmp eax, dword [ebp + 0x14]
jl 0x498dea
cmp edx, 0x82
jae 0x496ef2
cmp edx, 0x7b
je 0x496ef2
cmp dword [ebp + 0x6c], 0
jne 0x496efc
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x496efc
movzx eax, cx
movzx eax, byte [eax + 0x4bee60]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x491cd1
inc eax
mov dword [ebp], eax
mov eax, 0xfffffff8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov dword [ebp + 0x9c], 2
mov ecx, dword [esp + 0x14]
lea esi, [ebp + 0xb0]
mov eax, dword [esp + 0x17c]
mov ebp, dword [esi]
inc eax
push eax
movzx eax, word [ecx]
push dword [esp + 0x17c]
mov dword [esp + 0x48], ebp
push dword [esp + 0x17c]
movzx eax, byte [eax + 0x4bee60]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00491c30
mov edi, eax
add esp, 0x14
mov ecx, esi
cmp edi, 0xfffffc20
jne 0x496f97
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x174]
movzx eax, word [ecx + 2]
lea edx, [ecx + eax*2]
mov eax, edi
cmp dword [ebp + 0x80], edx
mov ecx, esi
mov ebp, dword [esp + 0x40]
jae 0x496f97
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x496fa1
cmp word [edx], 0x71
mov eax, edi
jne 0x496f97
mov esi, dword [esp + 0x174]
add esi, 0xb0
jmp 0x496fa1
mov esi, ecx
test eax, eax
jne 0x498f21
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
mov dword [esi], ebp
lea ecx, [ecx + eax*2]
mov esi, ecx
mov dword [esp + 0x14], ecx
cmp word [esi], 0x71
jne case.default.0x4935fb
mov edx, dword [esp + 0x20]
mov ecx, 0x71
mov ebp, dword [esp + 0x174]
jmp case.0x491d5e.123
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, word [esi + 2]
add ecx, eax
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + ecx*2]
mov ecx, ebx
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x497015
cmp eax, 0xfffffc1d
je 0x497015
cmp eax, 0xfffffc20
jne 0x496ee7
lea eax, [esi + 4]
mov dword [ebp + 0x80], eax
mov eax, 0xfffffc1f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xffffffe6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0xf0]
cmp eax, ecx
je 0x497056
push eax
call fcn.0049ee02
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffffa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x16c]
mov dword [edx + 0x84], ebx
mov dword [edx + 0x80], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
mov edx, ebp
mov dword [ecx + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.00491c30
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, ebp
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x49716f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
jmp 0x4970f0
mov dword [edx + 0x84], ebx
mov eax, 0xfffffc1b
mov dword [edx + 0x90], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
push edx
push edi
push dword [esp + 0x17c]
mov edx, esi
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov eax, dword [esp + 0x174]
mov dword [eax + 0xb8], ebp
mov eax, 0xfffffc1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x16c]
mov dword [eax + 0x84], ebx
mov dword [eax + 0x90], edi
mov dword [eax + 0x80], ecx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x4935fb
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x4935fb
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498dda
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [esp + 0x30], 0
je 0x4972cd
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x48], esi
nop dword [eax]
cmp esi, dword [esp + 0x34]
jge case.default.0x4935fb
push dword [esp + 0x24]
mov esi, dword [esp + 0x178]
mov edx, ebx
push esi
push ebp
mov ecx, edi
call fcn.00491a80
add esp, 0xc
test eax, eax
js 0x4972b1
mov esi, dword [esp + 0x48]
lea ebx, [ebx + eax*2]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
inc esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
mov dword [esp + 0x48], esi
test eax, eax
je 0x497240
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x4935fb
cmp ebx, dword [esi + 0x7c]
jb case.default.0x4935fb
jmp 0x497f23
mov edi, ebx
cmp esi, eax
jge 0x497340
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.00491a80
add esp, 0xc
test eax, eax
js 0x4972fe
mov ecx, dword [esp + 0x3c]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x24]
inc esi
cmp esi, dword [esp + 0x34]
jl 0x4972d3
jmp 0x49732c
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x49732c
cmp ebx, dword [ecx + 0x7c]
jb 0x49732c
cmp ebx, dword [ecx + 0x88]
jbe 0x49732c
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x498dda
cmp ebx, edi
jb case.default.0x4935fb
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x497340
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [esp + 0x18], 0
je 0x4974a1
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, edi
nop dword [eax + eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x4935fb
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497abf
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49742a
movzx eax, word [ebx]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
add ebx, 2
add edx, 0x10000
cmp edx, 0xff
jbe 0x49743f
cmp dword [esp + 0x20], 0x6a
je case.default.0x4935fb
jmp 0x49745e
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x4935fb
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov esi, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x4973e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x497509
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + 0x7c]
cmp ebx, edi
jae 0x4975df
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4974f2
movzx eax, word [ebx + 2]
and edx, 0x3ff
and eax, 0x3ff
shl edx, 0xa
or edx, eax
mov esi, 2
add edx, 0x10000
cmp edx, 0xff
jbe 0x4975a6
cmp dword [esp + 0x20], 0x6a
jne 0x4975c6
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4935fb
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49756c
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x497547
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x40]
test byte [edx + ecx], al
je 0x497509
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
lea ebx, [ebx + esi*2]
inc eax
mov dword [esp + 0x34], eax
cmp eax, ecx
jl 0x4974b5
jmp 0x497509
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497510
cmp ebx, dword [esi + 0x88]
jbe 0x497510
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x498dda
jmp 0x497510
cmp dword [esp + 0x18], 0
je 0x497707
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x4935fb
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497abf
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4976aa
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
push 1
mov edx, ebp
call fcn.0049b0f0
add esp, 4
test eax, eax
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc edi
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x497660
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x497771
nop dword [eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x49780f
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497755
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov esi, 2
add ecx, 0x10000
mov edx, dword [esp + 0x40]
push 1
call fcn.0049b0f0
add esp, 4
test eax, eax
je 0x497771
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x24]
jl 0x497710
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4935fb
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4977d5
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x4977b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497778
cmp ebx, dword [esi + 0x88]
jbe 0x497778
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x498dda
jmp 0x497778
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x4935fb
cmp ebx, ecx
jb case.default.0x4935fb
jmp 0x4971c6
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x4935fb
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x4935fb
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x4935fb
mov dword [ecx + 0x64], 1
jmp 0x4971d5
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
cmp ebx, ebp
je case.default.0x4935fb
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4978ea
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push esi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x4978c6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x4935fb
mov edx, dword [esp + 0x34]
mov ebp, dword [ebp + 0x7c]
mov ecx, ebp
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x4979dc
lea esi, [edx + edx]
mov ecx, ebx
mov edx, dword [esp + 0x30]
sub esi, 4
jb 0x4979a1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4979a6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497990
cmp esi, 0xfffffffc
je 0x4979d3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4979dc
cmp esi, 0xfffffffd
je 0x4979d3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4979dc
cmp esi, 0xfffffffe
je 0x4979d3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4979dc
cmp esi, 0xffffffff
je 0x4979d3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4979dc
mov eax, dword [esp + 0x34]
lea ebx, [ebx + eax*2]
jmp 0x497a4e
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jle 0x497a9c
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x497a9c
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x497a16
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497a1b
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497a05
cmp esi, 0xfffffffc
je 0x497a48
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497a9c
cmp esi, 0xfffffffd
je 0x497a48
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497a9c
cmp esi, 0xfffffffe
je 0x497a48
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497a9c
cmp esi, 0xffffffff
je 0x497a48
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497a9c
add ebx, edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x17c]
inc edi
mov ebp, dword [esp + 0x174]
inc eax
mov edx, dword [esp + 0x14]
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov dword [esp + 0x30], edi
mov esi, edi
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x497962
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x4935fb
cmp ebx, ebp
jmp 0x497871
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x4935fb
jmp 0x497877
mov eax, dword [esp + 0x17c]
mov ecx, ebx
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
nop dword [eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x4935fb
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497abf
movzx eax, word [ebx]
cmp esi, eax
je 0x497b35
cmp ebp, eax
jne case.default.0x4935fb
mov eax, dword [esp + 0x28]
add ebx, 2
mov edx, dword [esp + 0x14]
inc eax
mov dword [esp + 0x28], eax
mov edi, eax
mov eax, dword [esp + 0x17c]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x497b10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, ecx
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov ecx, edi
nop word [eax + eax]
cmp edi, ebp
jge case.default.0x4935fb
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497c23
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x4935fb
mov eax, dword [esp + 0x17c]
lea edi, [ecx + 1]
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
mov ecx, edi
test eax, eax
je 0x497bc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x4935fb
cmp ebx, dword [edx + 0x88]
jbe case.default.0x4935fb
mov dword [edx + 0x64], 1
jmp 0x4971d5
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4935fb
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497c9b
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x497c76
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, edi
cmp esi, dword [esp + 0x28]
jge case.default.0x4935fb
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497c23
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497d5a
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp dword [esp + 0x34], ecx
je case.default.0x4935fb
cmp ebp, ecx
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, edi
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x497d10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push edi
push dword [esp + 0x17c]
mov ecx, ebx
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x4935fb
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497e05
add ebx, 0xfffffffe
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push edi
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x497de0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, esi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x4935fb
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497c23
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497eca
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
cmp ebp, ecx
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, edi
push edx
push dword [esp + 0x17c]
mov edx, dword [esp + 0x24]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x497e80
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x4935fb
cmp ebx, dword [esi + 0x88]
jbe case.default.0x4935fb
mov dword [esi + 0x64], 1
jmp 0x4971d5
mov eax, dword [esp + 0x17c]
mov edx, edi
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
push ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x4962e6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x4988d5
cmp eax, 8
ja case.default.0x49395c
jmp dword [eax*4 + 0x49989c]
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, ebp
nop word [eax + eax]
mov ecx, ebx
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497c23
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498001
lea ebx, [ecx + 4]
cmp dword [esp + 0x38], 0
jne case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x497fd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497c23
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4980cc
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
mov al, byte [eax*8 + 0x4cabc9]
cmp al, 9
je 0x4980ff
cmp al, 5
je 0x4980ff
cmp al, 8
je 0x4980ff
xor eax, eax
jmp 0x498104
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x498082
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497c23
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4981da
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov esi, dword [esp + 0x44]
mov eax, ecx
shr eax, 7
and ecx, 0x7f
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], esi
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x498190
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497c23
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4982dc
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x498292
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497c23
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4983da
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc8]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x498390
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edi, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov edx, edi
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497c23
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4984da
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ebx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
mov eax, dword [eax*4 + 0x4bede0]
cmp eax, 1
je 0x498513
cmp eax, 3
je 0x498513
xor eax, eax
jmp 0x498518
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc ebp
inc eax
mov ecx, ebx
push eax
push dword [esp + 0x17c]
mov esi, ebp
push edx
push dword [esp + 0x17c]
mov edx, edi
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x498490
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
cmp ebx, dword [edi + 0x7c]
jae 0x49867e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4985e4
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 6
je 0x49862c
cmp edx, 9
je 0x49862c
cmp edx, 0xa
je 0x49862c
cmp edx, 0xc
je 0x49862c
cmp edx, 0xd
je 0x49862c
xor eax, eax
jmp 0x498631
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x4985a1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x4935fb
cmp ebx, dword [edi + 0x88]
jbe case.default.0x4935fb
mov dword [edi + 0x64], 1
jmp 0x4971d5
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
cmp ebx, dword [edi + 0x7c]
jae 0x49867e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498721
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add edx, 0x10000
add ebx, 2
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 6
je 0x49876e
cmp edx, 9
je 0x49876e
cmp edx, 0xa
je 0x49876e
cmp edx, 0xb
je 0x49876e
cmp edx, 0xc
je 0x49876e
cmp edx, 0xd
je 0x49876e
xor eax, eax
jmp 0x498773
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x4986e2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
jne 0x496ee7
mov edi, dword [esp + 0x174]
mov esi, ebp
nop
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
cmp ebx, dword [edi + 0x7c]
jae 0x49867e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498843
movzx eax, word [ebx]
and edx, 0x3ff
shl edx, 0xa
and eax, 0x3ff
or edx, eax
add ebx, 2
add edx, 0x10000
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4cbca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
mov eax, dword [eax*4 + 0x4bede0]
cmp eax, 1
je 0x498883
cmp eax, 3
je 0x498883
cmp edx, 0x5f
je 0x498883
xor eax, eax
jmp 0x498888
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x498800
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
push ecx
push dword [esp + 0x17c]
mov ecx, ebx
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
cmp edi, 0x16
jne 0x498a4d
test eax, eax
jne 0x496ee7
mov edi, dword [esp + 0x174]
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
mov esi, dword [edi + 0x7c]
cmp ebx, esi
jae 0x49867e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498967
movzx eax, word [edx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 2
je case.default.0x4935fb
cmp ebx, esi
jae 0x498a0a
nop dword [eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4989d5
movzx eax, word [ebx + 2]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov edx, 2
add ecx, 0x10000
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4cbca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4bf2c8]
movzx eax, byte [eax*8 + 0x4cabc9]
cmp dword [eax*4 + 0x4bede0], 2
jne 0x498a0a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4989a0
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push edi
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x498920
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x496ee7
mov esi, ebp
nop word [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x4935fb
mov esi, dword [esp + 0x174]
mov ecx, dword [esi + 0x7c]
cmp ebx, ecx
jae 0x498db0
cmp edi, 0xc
jne 0x498ace
mov edx, dword [esi + 0x18]
lea eax, [esi + 0x1c]
test edx, edx
je 0x498aa3
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049af40
add esp, 0xc
test eax, eax
jne case.default.0x4935fb
jmp 0x498ace
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x498ace
mov ax, word [ebx]
cmp ax, word [esi + 0x2c]
jne 0x498ace
cmp edx, 1
je case.default.0x4935fb
mov ax, word [ebx + 2]
cmp ax, word [esi + 0x2e]
je case.default.0x4935fb
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498afe
movzx eax, word [ebx]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add ebx, 2
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x49395c
jmp dword [eax*4 + 0x4998c0]
cmp ecx, 0x85
ja 0x498b49
je case.0x498b27.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4935fb
jmp dword [ecx*4 + 0x499900]
cmp ebx, dword [esi + 0x7c]
jae case.0x498b0a.12
cmp word [ebx], 0xa
jne case.0x498b0a.12
add ebx, 2
jmp case.0x498b0a.12
sub ecx, 0x2028
je case.0x498b27.11
sub ecx, 1
jne case.default.0x4935fb
cmp dword [esi + 0x68], 0
jne case.default.0x4935fb
jmp case.0x498b0a.12
cmp ecx, 0x2000
ja 0x498bad
je case.default.0x4935fb
cmp ecx, 0xa0
ja 0x498b96
je case.default.0x4935fb
cmp ecx, 9
je case.default.0x4935fb
cmp ecx, 0x20
jmp 0x498d51
cmp ecx, 0x1680
je case.default.0x4935fb
cmp ecx, 0x180e
jmp 0x498d51
cmp ecx, 0x3000
ja case.0x498b0a.12
je case.default.0x4935fb
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x498b0a.12
movzx eax, byte [ecx + 0x499918]
jmp dword [eax*4 + 0x499910]
cmp ecx, 0x2000
ja 0x498c2c
je case.0x498b0a.12
cmp ecx, 0xa0
ja 0x498c0f
je case.0x498b0a.12
cmp ecx, 9
je case.0x498b0a.12
cmp ecx, 0x20
jne case.default.0x4935fb
jmp case.0x498b0a.12
cmp ecx, 0x1680
je case.0x498b0a.12
cmp ecx, 0x180e
jne case.default.0x4935fb
jmp case.0x498b0a.12
cmp ecx, 0x3000
ja case.default.0x4935fb
je case.0x498b0a.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x4935fb
movzx eax, byte [ecx + 0x499980]
jmp dword [eax*4 + 0x499978]
cmp ecx, 0x85
ja 0x498c7c
je case.default.0x4935fb
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x498b0a.12
jmp dword [ecx*4 + 0x4999e0]
sub ecx, 0x2028
je case.default.0x4935fb
sub ecx, 1
jmp 0x498d51
cmp ecx, 0x85
ja 0x498cb1
je case.0x498b0a.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4935fb
jmp dword [ecx*4 + 0x4999f0]
sub ecx, 0x2028
je case.0x498b0a.12
sub ecx, 1
jne case.default.0x4935fb
jmp case.0x498b0a.12
cmp ecx, 0x100
jae case.0x498b0a.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x4935fb
jmp case.0x498b0a.12
cmp ecx, 0x100
jae case.default.0x4935fb
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jmp 0x498d51
cmp ecx, 0x100
jae case.0x498b0a.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x4935fb
jmp case.0x498b0a.12
cmp ecx, 0x100
jae case.default.0x4935fb
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jmp 0x498d51
cmp ecx, 0x100
jae case.0x498b0a.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x4935fb
jmp case.0x498b0a.12
cmp ecx, 0x100
jae case.default.0x4935fb
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x4935fb
mov eax, dword [esp + 0x17c]
inc ebp
mov edx, dword [esp + 0x14]
inc eax
push eax
push dword [esp + 0x17c]
mov ecx, ebx
mov esi, ebp
push dword [esp + 0x17c]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x498a60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffff2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x4935fb
cmp ebx, dword [esi + 0x88]
jbe case.default.0x4935fb
mov dword [esi + 0x64], 1
cmp eax, 1
jle case.default.0x4935fb
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x174]
mov eax, dword [ecx + edi*8]
mov dword [esp + 0x54], eax
mov eax, dword [ecx + edi*8 + 4]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x10]
mov ebp, dword [ebp + 0x94]
sub eax, edi
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x40], eax
mov eax, ebx
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
nop
cmp edx, 0x82
jb 0x498e42
mov dword [esi + 0x9c], 2
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [ecx]
push dword [esp + 0x17c]
push esi
movzx eax, byte [eax + 0x4bee60]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00491c30
mov edx, dword [esp + 0x188]
mov esi, eax
add esp, 0x14
cmp esi, 0xfffffc1c
je 0x498ee9
mov ecx, dword [esp + 0x14]
cmp esi, 0xfffffc20
jne 0x498eb4
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edx + 0x80], eax
jae 0x498eb4
cmp word [ecx], 0x71
je 0x498eb0
cmp word [eax], 0x71
jne 0x498eb4
xor esi, esi
jmp 0x498eb8
test esi, esi
jne 0x498f14
mov dword [edx + 0x94], ebp
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x40]
mov dword [edx + 0xb0], eax
cmp word [ecx], 0x71
mov dword [esp + 0x14], ecx
jne 0x498ee9
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x174]
jmp 0x498e30
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0x54]
mov dword [ecx + edi*8], eax
mov ecx, dword [edx + 0xc]
mov eax, dword [esp + 0x48]
mov dword [ecx + edi*8 + 4], eax
mov eax, dword [esp + 0x174]
mov edx, dword [edx + 0x10]
sub edx, edi
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0x30]
mov dword [ecx + edx*4], eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0xfffffc1c
jne 0x498f6a
mov edx, dword [esp + 0x14]
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x7b
je 0x498f58
cmp ecx, 0x71
jne 0x498f50
mov ecx, edx
nop dword [eax]
movzx eax, word [edx + 2]
cmp word [ecx + eax*2], 0x71
lea edx, [ecx + eax*2]
mov ecx, edx
je 0x498f40
movzx eax, word [edx + 2]
add eax, eax
sub edx, eax
mov eax, dword [esp + 0x174]
xor ecx, ecx
cmp dword [eax + 0xb8], edx
cmove edi, ecx
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
lea edi, [esi + 4]
mov dword [ebp + 0xb4], edi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [esi]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4bee60]
movzx eax, word [esi + 2]
push dword [esp + 0x17c]
add ecx, eax
push dword [esp + 0x17c]
lea edx, [esi + ecx*2]
mov ecx, ebx
call fcn.00491c30
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x498fdd
cmp esi, 0xfffffc19
je 0x498fdd
cmp esi, 0xfffffc1b
jne 0x498ff9
cmp dword [ebp + 0xb0], 0
jne 0x498ff9
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x498f14
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.0049aea0
test eax, eax
jne 0x498f14
mov dword [ebp + 0x80], ebx
lea eax, [esi - 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4bee60]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00491c30
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x499092
cmp ecx, 0xfffffc1d
je 0x499092
cmp ecx, 0xfffffc1e
je 0x499092
cmp ecx, 0xfffffc1f
je 0x499092
cmp ecx, 0xfffffc20
mov eax, 0xfffffc1a
cmovne eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffc1a
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4bee60]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x4990de
cmp eax, 0xfffffc20
jne 0x496ee7
mov eax, 0xfffffc1d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0xb4], esi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4bee60]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00491c30
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x49914a
cmp ecx, 0xfffffc19
jne 0x499159
cmp dword [ebp + 0xb0], 0
jne 0x499159
mov dword [ebp + 0xb0], esi
test ecx, ecx
je 0x4990de
cmp ecx, 0xfffffc20
mov eax, 0xfffffc1d
cmovne eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4bee60]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x4991b9
cmp eax, 0xfffffc1d
je 0x4991b9
cmp eax, 0xfffffc20
jne 0x496ee7
mov dword [ebp + 0x80], ebx
mov eax, 0xfffffc1e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x17c]
mov ecx, ebx
inc eax
push eax
push dword [esp + 0x17c]
movzx eax, byte [edx + 0x4bee60]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00491c30
add esp, 0x14
test eax, eax
je 0x49927f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov edx, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0xb4], esi
mov dword [ebp + 0xb0], 0
mov eax, dword [esp + 0x17c]
inc eax
push eax
movzx eax, word [edx]
push dword [esp + 0x17c]
push ebp
movzx ecx, byte [eax + 0x4bee60]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00491c30
add esp, 0x14
cmp eax, 1
je 0x499264
cmp eax, 0xfffffc19
jne 0x499273
cmp dword [ebp + 0xb0], 0
jne 0x499273
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x496ee7
mov esi, dword [esp + 0x14]
mov dword [ebp + 0x80], esi
mov eax, 0xfffffc20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x16c]
cmp ebx, esi
jne 0x4992d5
cmp edx, 0x99
je 0x4992d5
cmp dword [ebp + 0xa8], 0
jne 0x4992d5
cmp dword [ebp + 0x5c], 0
jne case.default.0x4935fb
cmp dword [ebp + 0x60], 0
je 0x4992d5
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x4935fb
mov dword [ebp + 0x84], ebx
test edx, edx
mov eax, 0xfffffc19
mov dword [ebp + 0x90], edi
mov ecx, 1
mov dword [ebp + 0x80], esi
cmove eax, ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, 0xfffffffb
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffeb
pop ebx
add esp, 0x158
ret