Function at 0x491dc0
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 0x491e1e
cmp dword [esp + 0x17c], edx
jne 0x491e03
push 1
push edx
push edx
push edx
push edx
lea ecx, [esp + 0x190]
call fcn.00491dc0
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 0x49706e
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 0x4994a1
cmp dword [ebp + 0x9c], 2
jne 0x491ebb
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 0x491ebb
mov ebp, dword [esp + 0x174]
mov esi, dword [esp + 0x14]
jmp 0x491ec2
jne case.default.0x49378b
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.0x491eee.98
movzx eax, byte [edx + 0x4995fc]
jmp dword [eax*4 + 0x4994b4]
cmp dword [ebp + 0x70], 0
movzx ecx, byte [edx + 0x4bfe60]
je 0x497163
movzx eax, word [esi + 2]
add ecx, eax
lea esi, [esi + ecx*2]
mov dword [esp + 0x14], esi
jmp 0x491ec2
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.00491dc0
mov edx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 1
je 0x492028
cmp eax, 0xfffffc20
jne 0x491f9a
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
mov eax, 0xfffffc20
cmp dword [edx + 0x80], ecx
jae 0x491f9a
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x491fa2
cmp word [ecx], 0x71
mov eax, 0xfffffc20
je 0x491fa2
test eax, eax
jne 0x497077
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 0x491f26
mov esi, dword [esp + 0x14]
movzx eax, cx
cmp eax, 0x7c
je 0x491fe0
cmp eax, 0x71
jne case.default.0x49378b
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 0x491fe0
mov eax, dword [edx + 0x90]
mov ebx, dword [edx + 0x84]
mov dword [esp + 0x170], eax
mov dword [esp + 0x1c], ebx
cmp ecx, 0x72
je 0x492015
cmp ebx, edi
jne 0x496e12
add esi, 4
mov dword [esp + 0x14], esi
mov ebp, dword [esp + 0x174]
jmp 0x491ebb
mov esi, dword [esp + 0x14]
mov eax, dword [edx + 0x80]
mov dword [esp + 0x16c], eax
movzx ecx, word [esi]
jmp 0x491fc9
xor ebp, ebp
mov dword [esp + 0x3c], ebp
jmp 0x492b58
cmp word [esi + 4], 0x70
movzx ebp, word [esi + 2]
jne 0x492156
movzx esi, word [esi + 6]
mov edi, dword [0x4e9ea4]
add esi, esi
test edi, edi
je 0x492147
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.0x49378b
js 0x497077
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 0x49237d
cmp ecx, 0x8a
je 0x49237d
cmp ecx, 0x87
je 0x4921ee
cmp ecx, 0x88
je 0x4921ee
cmp ecx, 0x8b
jne 0x492199
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492511
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.00491dc0
add esp, 0x14
cmp eax, 1
je 0x496ea3
test eax, eax
je 0x4921e6
cmp eax, 0xfffffc20
jne 0x497077
lea eax, [esi + ebp*2]
jmp 0x492511
movzx esi, word [esi + 6]
lea edx, [esi + esi]
cmp edx, dword [esp + 0x170]
jge 0x492212
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + edx*4], 0
jge 0x492353
xor ebp, ebp
cmp ecx, 0x88
jne 0x492369
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 0x492287
mov dword [esp + 0x2c], ebp
xor ebx, ebx
mov ebp, eax
nop dword [eax]
movzx eax, word [edi]
cmp eax, esi
je 0x49227b
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 0x492250
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
cmp ecx, edx
jge 0x492369
cmp edi, eax
mov esi, edi
mov eax, dword [esp + 0x174]
jbe 0x4922ee
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.0049b030
test eax, eax
jne 0x492346
movzx eax, word [esi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x4922da
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492353
mov eax, dword [esp + 0x174]
xor edx, edx
mov dword [esp + 0x2c], edx
cmp esi, dword [eax + 0x28]
ja 0x4922a0
xor ebp, ebp
mov esi, dword [esp + 0x30]
inc esi
cmp esi, dword [eax + 0x20]
jge 0x492369
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.0049b030
test eax, eax
jne 0x492369
movzx eax, word [edi]
lea ecx, [eax + eax]
cmp ecx, dword [esp + 0x170]
jge 0x492331
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x492353
mov eax, dword [esp + 0x174]
inc esi
xor ebp, ebp
cmp esi, dword [eax + 0x20]
jge 0x492369
mov ecx, dword [esp + 0x30]
jmp 0x492300
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x174]
jmp 0x4922ee
mov ecx, dword [esp + 0x14]
mov eax, 2
mov ebp, 1
lea eax, [ecx + eax*2]
jmp 0x492507
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx eax, word [eax + 2]
lea eax, [ecx + eax*2]
jmp 0x492507
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0xa8]
test eax, eax
jne 0x49239a
movzx eax, word [esi + 2]
lea eax, [esi + eax*2]
jmp 0x492518
movzx edx, word [esi + 6]
cmp edx, 0xffff
je 0x4924fa
cmp edx, dword [eax + 4]
je 0x4924fa
xor ebp, ebp
cmp ecx, 0x8a
jne 0x4924f4
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 0x492423
mov dword [esp + 0x2c], ebp
mov esi, edi
mov ebp, ecx
movzx eax, word [edi]
cmp eax, edx
je 0x492413
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 0x4923e6
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 0x4924f4
cmp edi, dword [edx + 0x28]
jbe 0x49248b
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.0049b030
test eax, eax
jne 0x492470
mov eax, dword [edi + 0xa8]
xor ebx, ebx
movzx ecx, word [esi]
cmp ecx, dword [eax + 4]
sete bl
je 0x492470
cmp esi, dword [edi + 0x28]
ja 0x492443
mov edi, dword [esp + 0x30]
test ebx, ebx
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x1c]
jne 0x4924e2
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x3c]
inc esi
cmp esi, dword [edx + 0x20]
jge 0x4924f0
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.0049b030
test eax, eax
jne 0x4924d6
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 0x4924d6
inc esi
cmp esi, dword [edx + 0x20]
jl 0x4924a0
mov dword [esp + 0x2c], ebx
test ebx, ebx
mov ebx, dword [esp + 0x1c]
je 0x4924ec
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
jmp 0x4924ff
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
jmp 0x492504
mov ebp, 1
mov eax, 2
lea eax, [esi + eax*2]
mov ecx, eax
test ebp, ebp
jne 0x496ef2
mov ebp, dword [esp + 0x174]
mov ecx, eax
cmp word [ecx], 0x71
je 0x496ef9
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x491ebb
movzx esi, word [esi + 2]
mov dword [ebp + 0x94], esi
lea edx, [esi + esi]
cmp edx, dword [ebp + 0x14]
jl 0x492559
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [ebp + 0x40], 1
mov dword [esp + 0x14], esi
jmp 0x491ec2
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 0x492583
lea edi, [edx + 2]
mov dword [esp + 0x170], edi
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x4925b3
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x4925b5
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.00491dc0
add esp, 0x14
cmp eax, 1
je 0x49261f
cmp eax, 0xfffffc19
je 0x49261f
test eax, eax
je 0x492602
cmp eax, 0xfffffc20
jne 0x497077
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 0x4925c0
jmp 0x49262c
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x16c], eax
mov esi, dword [esp + 0x14]
cmp word [esi], 0x72
je case.default.0x49378b
test edi, edi
jne 0x49733c
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492642
mov edi, dword [ebp + 0x90]
add esi, 4
mov dword [esp + 0x14], esi
mov dword [esp + 0x170], edi
jmp 0x491ec2
cmp dword [ebp + 0x9c], 1
mov esi, dword [ebp + 0xb0]
jne 0x492689
mov dword [ebp + 0x9c], 0
mov edi, 1
jmp 0x49268b
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.00491dc0
add esp, 0x14
mov dword [ebp + 0xb0], esi
cmp eax, 1
je case.default.0x49378b
cmp eax, 0xfffffc19
je case.default.0x49378b
cmp eax, 0xfffffc1e
je 0x49270f
cmp eax, 0xfffffc1d
je 0x49270f
cmp eax, 0xfffffc1a
je 0x49270f
test eax, eax
je 0x4926f5
cmp eax, 0xfffffc20
jne 0x497077
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 0x492690
mov esi, ecx
jmp 0x492721
mov esi, dword [esp + 0x14]
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je 0x492713
test edi, edi
jne 0x49733c
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491ebb
movzx ecx, word [esi + 2]
test ecx, ecx
je 0x49276a
mov edx, dword [ebp + 0x78]
add ebx, 0xfffffffe
dec ecx
mov dword [esp + 0x1c], ebx
cmp ebx, edx
jb case.default.0x49378b
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x492766
add ebx, 0xfffffffe
mov dword [esp + 0x1c], ebx
test ecx, ecx
jg 0x492740
cmp ebx, dword [ebp + 0x88]
jae 0x492778
mov dword [ebp + 0x88], ebx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491ec2
mov edi, dword [0x4e9ea4]
movzx esi, word [esi + 2]
test edi, edi
je 0x49286d
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.0x49378b
js 0x497077
mov eax, dword [esp + 0x14]
imul esi, esi, 2
add eax, 0xc
add eax, esi
mov dword [esp + 0x14], eax
jmp 0x491eb7
mov ecx, dword [ebp + 0x74]
movzx eax, word [esi + 2]
lea edi, [ecx + eax*2]
cmp edi, ecx
jne 0x492894
xor ecx, ecx
jmp 0x492898
movzx ecx, word [edi + 4]
mov eax, dword [ebp + 0xa8]
test eax, eax
je 0x4928b6
cmp ecx, dword [eax + 4]
jne 0x4928b0
cmp ebx, dword [eax + 0x10]
je 0x4971be
mov eax, dword [eax]
test eax, eax
jne 0x4928a2
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 0x4928f2
lea ecx, [esp + 0xf0]
mov dword [esp + 0x60], ecx
jmp 0x492910
shl eax, 2
push eax
call fcn.0049efad
mov ecx, eax
add esp, 4
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x4971f3
mov eax, dword [esp + 0x64]
shl eax, 2
push eax
push dword [ebp + 0xc]
push ecx
call fcn.0049cad0
movzx ebp, word [edi]
add esp, 0xc
mov ecx, dword [esp + 0x174]
nop word [eax + eax]
mov eax, 0x82
cmp bp, ax
jb 0x492944
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 + 0x4bfe60]
push dword [esp + 0x17c]
lea edx, [edi + eax*2]
call fcn.00491dc0
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.0049cad0
mov ecx, dword [esp + 0x180]
add esp, 0xc
mov eax, dword [esp + 0x58]
mov dword [ecx + 0xa8], eax
cmp esi, 1
je 0x492a17
cmp esi, 0xfffffc19
je 0x492a17
test esi, esi
je 0x4929c8
cmp esi, 0xfffffc20
jne 0x4971ce
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 0x492930
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.0x49378b
push eax
call fcn.0049ef92
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 0x492a2f
push eax
call fcn.0049ef92
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 0x491eb7
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
lea esi, [esi + eax*2]
je case.0x491eee.113
mov dword [esp + 0x14], esi
jmp 0x491ec2
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
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 0x492aa0
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491ec2
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 0x492ac1
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
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 0x492b10
lea esi, [eax + 4]
mov dword [esp + 0x14], esi
jmp 0x491ec2
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 0x492b58
cmp edx, 0x85
jne 0x492d0e
movzx edi, word [esi + 4]
mov esi, dword [esp + 0x174]
lea eax, [edi + edi]
cmp eax, dword [esi + 0x14]
jge 0x492d08
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 0x492bd8
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 + 0x4bfe60]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00491dc0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x492c54
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 0x492b9e
cmp eax, 0xfffffc20
jne 0x492c8c
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 0x492c90
cmp word [edx], 0x71
je 0x492c98
cmp word [ecx], 0x71
je 0x492c98
jmp 0x492c90
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x497077
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 0x492ba4
mov edx, dword [esp + 0x30]
mov ebp, ecx
test edx, edx
jne 0x492ce9
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 0x492cf8
test edx, edx
je case.default.0x49378b
mov esi, dword [esp + 0x14]
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491ebb
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 0x492d32
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 + 0x4bfe60]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00491dc0
add esp, 0x14
cmp eax, 0xfffffc1b
jne 0x492da9
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 0x492d20
cmp eax, 0xfffffc20
jne 0x492dfa
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 0x492dfe
cmp word [edx], 0x71
je 0x492e06
cmp word [ecx], 0x71
jne 0x492dfe
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 0x492d20
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x497077
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 0x492d20
test edi, edi
jne 0x492e33
test ebp, ebp
je case.default.0x49378b
mov esi, dword [esp + 0x14]
mov ebp, ecx
add esi, 4
mov dword [esp + 0x14], esi
jmp 0x491ebb
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 0x492e6e
cmp ecx, 0x7b
je 0x492e6e
mov dword [esp + 0x30], 0
jmp 0x492e87
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 0x492e95
cmp ecx, 0x7a
jbe 0x49731c
cmp ecx, 0x7c
je 0x49731c
cmp ecx, 0x7f
je 0x492ec5
mov eax, 0x84
cmp cx, ax
je 0x492ec5
mov eax, 0x80
cmp cx, ax
je 0x492ec5
mov eax, 0x85
cmp cx, ax
jne 0x492fa0
mov edx, dword [esp + 0x174]
movzx edi, word [ebp + 4]
mov eax, dword [edx + 0xa8]
lea esi, [edi + edi]
test eax, eax
je 0x492ee6
cmp dword [eax + 4], edi
je 0x497203
mov dword [edx + 0x94], edi
cmp esi, dword [edx + 0x14]
jl 0x492f33
mov edi, dword [esp + 0x170]
mov dword [edx + 0x40], 1
mov esi, dword [esp + 0x14]
movzx eax, word [esi]
cmp eax, 0x72
je 0x492f15
cmp ebx, dword [esp + 0x30]
jne 0x496f4f
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4972d2
mov ebp, dword [esp + 0x174]
jmp 0x491ec2
mov ecx, dword [esp + 0x170]
cmp esi, ecx
jle 0x492f66
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*4]
lea edx, [eax + esi*4]
cmp ecx, edx
jae 0x492f5f
mov eax, ecx
nop dword [eax]
mov dword [ecx], 0xffffffff
lea ecx, [eax + 4]
mov eax, ecx
cmp ecx, edx
jb 0x492f50
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 0x492eff
lea edi, [esi + 2]
mov dword [esp + 0x170], edi
jmp 0x492eff
mov edx, dword [esp + 0x174]
jmp 0x492f03
cmp dword [ebp + 0x44], 0
je case.0x491eee.1
cmp ebx, dword [ebp + 0x78]
je case.default.0x49378b
cmp ebx, dword [ebp + 0x78]
jne case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp dword [ebp + 0x44], 0
je 0x492fe4
cmp ebx, dword [ebp + 0x78]
je case.default.0x49378b
mov ecx, dword [ebp + 0x78]
jmp 0x492fef
mov ecx, dword [ebp + 0x78]
cmp ebx, ecx
je case.0x49378b.10
cmp ebx, dword [ebp + 0x7c]
je case.default.0x49378b
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x493035
cmp ebx, ecx
jbe 0x49301f
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b190
add esp, 0xc
test eax, eax
je 0x49301f
mov eax, 1
jmp 0x493021
xor eax, eax
test eax, eax
je case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
mov esi, dword [ebp + 0x1c]
lea edx, [esi + esi]
lea eax, [edx + ecx]
cmp ebx, eax
jb case.default.0x49378b
mov ecx, ebx
sub ecx, edx
mov ax, word [ecx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x49378b
cmp esi, 1
je 0x49306a
mov ax, word [ecx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x49378b
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp ebx, eax
jne case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
add esi, 2
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x14], esi
jmp 0x491ec2
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493124
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x4930e4
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b0d0
add esp, 0xc
test eax, eax
je case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x49378b
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x49378b
cmp edx, 1
je case.0x49378b.10
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp dword [ebp + 0x48], 0
jne case.default.0x49378b
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x49378b.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x49378b.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp dword [ebp + 0x48], 0
jne case.default.0x49378b
cmp dword [ebp + 0x58], 0
je case.0x491eee.23
cmp ebx, dword [ebp + 0x7c]
jb case.default.0x49378b
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x49378b.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x49378b.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
mov ecx, dword [ebp + 0x7c]
cmp ebx, ecx
jae 0x493224
mov edx, dword [ebp + 0x18]
lea esi, [ebp + 0x1c]
test edx, edx
je 0x4931e0
push 1
push esi
push ecx
mov ecx, ebx
call fcn.0049b0d0
add esp, 0xc
test eax, eax
je case.default.0x49378b
jmp 0x49320f
mov edx, dword [esi]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.default.0x49378b
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.default.0x49378b
cmp edx, 1
je 0x49320f
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
jne case.default.0x49378b
mov ecx, dword [esi]
mov eax, dword [ebp + 0x7c]
add ecx, ecx
sub eax, ecx
cmp ebx, eax
jne case.default.0x49378b
mov esi, dword [esp + 0x14]
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.0x49378b.10
cmp ebx, dword [ebp + 0x88]
jbe case.0x49378b.10
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x78]
je 0x49331f
mov ax, word [ebx - 2]
lea edx, [ebx - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x49327f
add edx, 0xfffffffe
cmp edx, dword [ebp + 0x88]
jae 0x49328d
mov dword [ebp + 0x88], edx
movzx ecx, word [edx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4932b8
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 0x493307
cmp ecx, 0x5f
jne 0x4932cb
lea esi, [ecx - 0x5e]
jmp 0x493321
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
mov eax, dword [eax*4 + 0x4bfde0]
cmp eax, 1
je 0x493300
cmp eax, 3
jne 0x49331f
mov esi, 1
jmp 0x493321
cmp ecx, 0x100
jae 0x49331f
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x49331f
mov esi, 1
jmp 0x493321
xor esi, esi
cmp ebx, dword [ebp + 0x7c]
jb 0x49336b
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x493348
cmp ebx, dword [ebp + 0x88]
jbe 0x493348
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
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 0x493362
mov ecx, edx
xor ecx, esi
test ecx, ecx
jmp 0x491eb1
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493396
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 0x4933ed
cmp ecx, 0x5f
jne 0x4933a8
lea edx, [ecx - 0x5e]
xor ecx, ecx
jmp 0x49334d
mov eax, ecx
and ecx, 0x7f
shr eax, 7
movzx eax, byte [eax + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
mov eax, dword [eax*4 + 0x4bfde0]
cmp eax, 1
je 0x4933e1
cmp eax, 3
jne 0x493348
mov edx, 1
xor ecx, ecx
jmp 0x49334d
cmp ecx, 0x100
jae 0x493348
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je 0x493348
mov edx, 1
xor ecx, ecx
jmp 0x49334d
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x7c]
test edx, edx
je 0x493448
cmp ebx, ecx
jae 0x49343c
push 1
lea eax, [ebp + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.0049b0d0
add esp, 0xc
test eax, eax
je 0x49343c
mov eax, 1
jmp 0x49343e
xor eax, eax
test eax, eax
jne case.default.0x49378b
jmp case.0x491eee.13
mov edx, dword [ebp + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja case.0x491eee.13
mov ax, word [ebx]
cmp ax, word [ebp + 0x2c]
jne case.0x491eee.13
cmp edx, 1
je case.default.0x49378b
mov ax, word [ebx + 2]
cmp ax, word [ebp + 0x2e]
je case.default.0x49378b
mov eax, dword [ebp + 0x7c]
cmp ebx, eax
jae 0x49734c
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, eax
jae 0x4934a6
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4934a6
add ebx, 2
mov dword [esp + 0x1c], ebx
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49350f
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.0x49378b.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493575
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.0x49378b
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 4
je case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4935db
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.0x49378b.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493641
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.0x49378b
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 1
je case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4936a7
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.0x49378b.10
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49370d
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.0x49378b
mov eax, dword [ebp + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
mov edx, dword [ebp + 0x7c]
cmp ebx, edx
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493775
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 0x4937b7
je case.0x49378b.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49378b
jmp dword [ecx*4 + 0x499698]
cmp ebx, edx
jae case.0x49378b.10
cmp word [ebx], 0xa
jne case.0x49378b.10
add ebx, 2
add esi, 2
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], esi
jmp 0x491ec2
sub ecx, 0x2028
je case.0x49378b.11
sub ecx, 1
jne case.default.0x49378b
cmp dword [ebp + 0x68], 0
jne case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49381f
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 0x49387d
je case.default.0x49378b
cmp ecx, 0xa0
ja 0x493859
je case.default.0x49378b
cmp ecx, 9
je case.default.0x49378b
cmp ecx, 0x20
je case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ecx, 0x1680
je case.default.0x49378b
cmp ecx, 0x180e
je case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ecx, 0x3000
ja case.0x4938a5.8203
je case.default.0x49378b
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4938a5.8203
movzx eax, byte [ecx + 0x4996b0]
jmp dword [eax*4 + 0x4996a8]
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4938ed
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 0x49394b
je case.0x4938a5.8203
cmp ecx, 0xa0
ja 0x493927
je case.0x4938a5.8203
cmp ecx, 9
je case.0x4938a5.8203
cmp ecx, 0x20
jne case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ecx, 0x1680
je case.0x4938a5.8203
cmp ecx, 0x180e
jne case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ecx, 0x3000
ja case.default.0x49378b
je case.0x4938a5.8203
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x49378b
movzx eax, byte [ecx + 0x499718]
jmp dword [eax*4 + 0x499710]
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4939bb
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 0x4939dc
je case.default.0x49378b
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x4938a5.8203
jmp dword [ecx*4 + 0x499778]
sub ecx, 0x2028
je case.default.0x49378b
sub ecx, 1
je case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493a3e
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 0x493a5f
je case.0x4938a5.8203
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49378b
jmp dword [ecx*4 + 0x499788]
sub ecx, 0x2028
je case.0x4938a5.8203
sub ecx, 1
jne case.default.0x49378b
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493ac1
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 + 0x4ccca8]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
movzx ecx, word [esi + 2]
cmp ecx, 8
ja case.default.0x493aec
jmp dword [ecx*4 + 0x499798]
cmp dword [esp + 0x20], 0xf
jmp 0x493c34
mov al, byte [eax*8 + 0x4cbbc9]
cmp al, 9
je 0x493c23
cmp al, 5
je 0x493c23
cmp al, 8
je 0x493c23
xor ecx, ecx
jmp 0x493c28
movzx ecx, byte [eax*8 + 0x4cbbc9]
xor edx, edx
movzx eax, word [esi + 4]
cmp eax, dword [ecx*4 + 0x4bfde0]
setne dl
xor eax, eax
cmp dword [esp + 0x20], 0x10
sete al
cmp edx, eax
jmp 0x493c34
movzx eax, byte [eax*8 + 0x4cbbc9]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x493c2f
movzx eax, byte [eax*8 + 0x4cbbc8]
xor ecx, ecx
cmp word [esi + 4], ax
setne cl
xor eax, eax
cmp dword [esp + 0x20], 0x10
jmp 0x493c2f
movzx eax, byte [eax*8 + 0x4cbbc9]
mov eax, dword [eax*4 + 0x4bfde0]
cmp eax, 1
je 0x493c23
cmp eax, 3
je 0x493c23
xor ecx, ecx
jmp 0x493c28
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 6
je 0x493c23
cmp edx, 9
je 0x493c23
cmp edx, 0xa
je 0x493c23
cmp edx, 0xc
je 0x493c23
cmp edx, 0xd
je 0x493c23
xor ecx, ecx
jmp 0x493c28
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 6
je 0x493c23
cmp edx, 9
je 0x493c23
cmp edx, 0xa
je 0x493c23
cmp edx, 0xb
jmp 0x493bd0
movzx eax, byte [eax*8 + 0x4cbbc9]
mov eax, dword [eax*4 + 0x4bfde0]
cmp eax, 1
je 0x493c23
cmp eax, 3
je 0x493c23
cmp edx, 0x5f
je 0x493c23
xor ecx, ecx
jmp 0x493c28
mov ecx, 1
xor eax, eax
cmp dword [esp + 0x20], 0xf
sete al
cmp ecx, eax
je case.default.0x49378b
add esi, 6
mov dword [esp + 0x14], esi
jmp 0x491ec2
mov esi, dword [ebp + 0x7c]
cmp ebx, esi
jae 0x49734c
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493c89
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 2
je case.default.0x49378b
cmp ebx, esi
jae 0x493d3e
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 0x493d05
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 2
jne 0x493d3a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x493cd0
mov dword [esp + 0x1c], ebx
mov esi, dword [esp + 0x14]
add esi, 2
mov dword [esp + 0x14], esi
jmp 0x491ec2
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 0x493d84
mov eax, dword [ebp + 0xc]
mov esi, dword [eax + ecx*4]
test esi, esi
js 0x493d84
mov ebp, dword [eax + ecx*4 + 4]
sub ebp, esi
jmp 0x493d8e
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.0x493daa
movzx eax, byte [edi + 0x4997c4]
jmp dword [eax*4 + 0x4997bc]
add dword [esp + 0x14], 2
mov eax, edi
movsx esi, byte [edi + 0x4bf658]
and eax, 1
mov dword [esp + 0x30], eax
movsx eax, byte [edi + 0x4bf650]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x493e09
mov dword [esp + 0x34], connect
jmp 0x493e09
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 0x491ea4
jns 0x493e22
test esi, esi
je 0x491ea4
cmp esi, 1
jl 0x493e5f
mov edi, 1
nop dword [eax]
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.00491c10
add esp, 0xc
test eax, eax
js 0x4979e9
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 0x493e30
mov eax, dword [esp + 0x34]
cmp esi, eax
jne 0x49737b
nop dword [eax + eax]
mov ebp, dword [esp + 0x174]
jmp 0x491eb7
mov esi, dword [esp + 0x174]
push edx
push esi
push ebp
mov edx, ebx
call fcn.00491c10
add esp, 0xc
test eax, eax
js 0x497441
lea ebx, [ebx + eax*2]
mov ebp, esi
mov dword [esp + 0x1c], ebx
jmp 0x491eb7
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.0x493ecd
movzx eax, byte [ecx + 0x4997d4]
jmp dword [eax*4 + 0x4997cc]
movsx eax, byte [ecx + 0x4bf650]
mov edx, ecx
movsx edi, byte [ecx + 0x4bf658]
and edx, 1
add esi, 2
mov dword [esp + 0x18], edx
test eax, eax
mov ecx, closesocket
cmove eax, ecx
jmp 0x493f1b
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 0x493fca
jmp 0x493f49
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 0x497c4f
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x493f91
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 0x493fa6
cmp dword [esp + 0x20], 0x6a
je case.default.0x49378b
jmp 0x493fc5
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x49378b
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, edi
jle 0x493f50
mov eax, dword [esp + 0x24]
cmp edi, eax
jne 0x497523
mov ebp, dword [esp + 0x174]
jmp 0x491eb7
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.0x49400c
movzx eax, byte [ecx + 0x4997e4]
jmp dword [eax*4 + 0x4997dc]
movsx eax, byte [ecx + 0x4bf650]
mov edx, ecx
movsx edi, byte [ecx + 0x4bf658]
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 0x49406c
mov dword [esp + 0x24], connect
jmp 0x49406c
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 0x4940f1
jmp 0x494090
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 0x497c4f
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4940d8
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.0049b280
add esp, 4
test eax, eax
je case.default.0x49378b
inc esi
cmp esi, edi
jle 0x494090
mov eax, dword [esp + 0x24]
cmp edi, eax
jne 0x4977a5
mov ebp, dword [esp + 0x174]
jmp 0x491eb7
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 0x4979ce
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.0x49378b
test edx, edx
jg 0x494140
jmp 0x491ec2
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
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 0x4941b9
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 0x4941f9
mov ebp, 0xff
cmp ax, bp
mov ebp, dword [esp + 0x174]
ja 0x4941de
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.0x49378b
add ebx, 2
mov dword [esp + 0x1c], ebx
jmp 0x491ec2
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 0x494244
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 0x491eb7
shr esi, 7
and edi, 0x7f
movzx eax, byte [esi + 0x4ccca8]
shl eax, 7
add eax, edi
movzx eax, word [eax*2 + 0x4c02c8]
mov eax, dword [eax*8 + 0x4cbbcc]
add eax, ecx
cmp edx, eax
jmp 0x491eb1
movzx ebp, word [esi + 2]
add esi, 4
mov edi, ebp
jmp 0x494344
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 0x4942c2
mov dword [esp + 0x18], edi
cmp ecx, 0x35
jne 0x4942ca
mov dword [esp + 0x18], 1
add esi, 4
jmp 0x49434c
xor edi, edi
mov dword [esp + 0x2c], 1
mov ebp, closesocket
add esi, 2
jmp 0x494344
mov dword [esp + 0x2c], 1
mov edi, 1
mov ebp, closesocket
add esi, 2
jmp 0x494344
xor edi, edi
mov dword [esp + 0x2c], 1
add esi, 2
lea ebp, [edi + 1]
jmp 0x494344
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 + 0x4bf650]
movsx edi, byte [eax + 0x4bf658]
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 0x49469a
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 0x4943d9
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccca8]
mov eax, edx
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
mov ecx, dword [eax*8 + 0x4cbbcc]
add ecx, edx
cmp ecx, edx
je 0x4943d9
lea edx, [esp + 0x74]
call fcn.0049b070
mov dword [esp + 0x3c], eax
jmp 0x4943e1
mov dword [esp + 0x3c], 0
mov ebp, 1
cmp edi, ebp
jl 0x494512
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 0x494470
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494432
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494437
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494421
cmp esi, 0xfffffffc
je 0x494464
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x49446c
cmp esi, 0xfffffffd
je 0x494464
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x49446c
cmp esi, 0xfffffffe
je 0x494464
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x49446c
cmp esi, 0xffffffff
je 0x494464
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x49446c
add ebx, 4
jmp 0x4944f9
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
test edx, edx
jle 0x4979e9
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x4979e9
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4944b1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4944b6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4944a0
cmp esi, 0xfffffffc
je 0x4944f3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4979e9
cmp esi, 0xfffffffd
je 0x4944f3
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4979e9
cmp esi, 0xfffffffe
je 0x4944f3
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4979e9
cmp esi, 0xffffffff
je 0x4944f3
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4979e9
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 0x494410
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x493e70
cmp dword [esp + 0x18], 0
jne 0x497ab4
mov ebp, ebx
mov dword [esp + 0x18], ebp
cmp edi, eax
jge 0x494648
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 0x4945b4
mov edx, dword [esp + 0x30]
add esi, esi
mov ecx, ebx
sub esi, 4
jb 0x494572
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x494577
add ecx, 4
add edx, 4
sub esi, 4
jae 0x494561
cmp esi, 0xfffffffc
je 0x4945a4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4945b0
cmp esi, 0xfffffffd
je 0x4945a4
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4945b0
cmp esi, 0xfffffffe
je 0x4945a4
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4945b0
cmp esi, 0xffffffff
je 0x4945a4
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x4945b0
mov esi, dword [esp + 0x34]
lea ebx, [ebx + esi*2]
jmp 0x49462d
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
test edx, edx
jle 0x494666
lea edi, [edx + edx]
mov eax, ecx
sub eax, edi
cmp ebx, eax
ja 0x494666
lea esi, [edx + edx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x4945f1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4945f6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x4945e0
cmp esi, 0xfffffffc
je 0x494623
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x494666
cmp esi, 0xfffffffd
je 0x494623
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x494666
cmp esi, 0xfffffffe
je 0x494623
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x494666
cmp esi, 0xffffffff
je 0x494623
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x494666
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 0x494550
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
je 0x497a1f
mov ebp, dword [esp + 0x174]
jmp 0x491eb7
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x494694
cmp ebx, dword [esi + 0x7c]
jb 0x494694
cmp ebx, dword [esi + 0x88]
jbe 0x494694
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x498f6a
mov ebp, dword [esp + 0x18]
jmp 0x49464f
add ecx, 2
mov dword [esp + 0x14], ecx
cmp edx, 0x2e
jb 0x494806
mov edx, dword [esp + 0x174]
cmp esi, 0x7f
jbe 0x4946df
mov eax, esi
shr eax, 7
movzx ecx, byte [eax + 0x4ccca8]
mov eax, esi
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
mov ebp, dword [eax*8 + 0x4cbbcc]
add ebp, esi
jmp 0x4946e6
mov eax, dword [edx + 0x38]
movzx ebp, byte [eax + esi]
mov ecx, 1
cmp edi, ecx
jl 0x49472b
mov edx, dword [edx + 0x7c]
mov eax, dword [esp + 0x14]
nop word [eax + eax]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x497c48
movzx eax, word [ebx]
cmp esi, eax
je 0x49471b
cmp ebp, eax
jne case.default.0x49378b
mov eax, dword [esp + 0x14]
add ebx, 2
inc ecx
mov dword [esp + 0x1c], ebx
cmp ecx, edi
jle 0x494700
mov eax, dword [esp + 0x24]
cmp edi, eax
je 0x493e70
cmp dword [esp + 0x18], 0
jne 0x497c62
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, eax
jge 0x494777
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
cmp ebx, ecx
jae 0x4947d8
movzx eax, word [ebx]
cmp esi, eax
je 0x494769
cmp ebp, eax
jne 0x494777
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, dword [esp + 0x24]
jl 0x494756
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x491eb7
cmp ebx, edi
jb case.default.0x49378b
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.00491dc0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x497077
cmp ebx, edi
jae 0x494791
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 0x49477e
cmp ebx, dword [ebp + 0x88]
jbe 0x49477e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
jmp 0x49477e
cmp edi, 1
jl 0x494843
mov eax, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, edx
jae 0x497c48
movzx eax, word [ebx]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp esi, eax
jne case.default.0x49378b
inc ecx
cmp ecx, edi
jle 0x494820
mov ecx, dword [esp + 0x14]
cmp edi, ebp
je 0x493e70
cmp dword [esp + 0x18], 0
jne 0x497d0f
mov edx, dword [esp + 0x28]
mov edi, ebx
cmp edx, ebp
jge 0x494887
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x7c]
nop word [eax + eax]
cmp ebx, ecx
jae 0x4948e8
movzx eax, word [ebx]
cmp esi, eax
jne 0x494887
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jl 0x494870
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x491eb7
cmp ebx, edi
jb case.default.0x49378b
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.00491dc0
add esp, 0x14
sub ebx, 2
test eax, eax
jne 0x497077
cmp ebx, edi
jae 0x4948a1
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 0x49488e
cmp ebx, dword [ebp + 0x88]
jbe 0x49488e
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
jmp 0x49488e
cmp ebx, dword [ebp + 0x7c]
jae 0x49734c
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 0x49495a
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 0x4949b9
cmp edx, 0x7f
jbe 0x494999
mov eax, edx
shr eax, 7
movzx ecx, byte [eax + 0x4ccca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
mov eax, dword [eax*8 + 0x4cbbcc]
add eax, edx
jmp 0x4949a0
mov eax, dword [ebp + 0x38]
movzx eax, byte [eax + edx]
cmp edx, esi
je case.default.0x49378b
cmp eax, esi
je case.default.0x49378b
mov esi, dword [esp + 0x14]
jmp 0x491ec2
mov dword [esp + 0x14], eax
cmp edx, esi
je case.default.0x49378b
mov esi, eax
jmp 0x491ec2
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x28], eax
mov edi, eax
jmp 0x494a93
movzx eax, word [esi + 2]
xor edi, edi
mov dword [esp + 0x28], eax
cmp ecx, 0x42
je 0x4949f6
mov dword [esp + 0x18], edi
cmp ecx, 0x4f
jne 0x4949fe
mov dword [esp + 0x18], 1
lea ecx, [esi + 4]
jmp 0x494a93
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
jmp 0x494a8b
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
mov edi, 1
jmp 0x494a8b
mov dword [esp + 0x2c], 1
lea ecx, [esi + 2]
xor edi, edi
mov dword [esp + 0x28], 1
jmp 0x494a93
movzx eax, word [esi + 2]
lea ecx, [esi + 4]
mov dword [esp + 0x2c], 1
xor edi, edi
mov dword [esp + 0x28], eax
jmp 0x494a93
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 + 0x4bf658]
movsx eax, byte [eax + 0x4bf650]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x494a93
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 0x494c2d
cmp ebp, 0x7f
jbe 0x494ae6
mov eax, ebp
shr eax, 7
movzx ecx, byte [eax + 0x4ccca8]
mov eax, ebp
shl ecx, 7
and eax, 0x7f
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
mov ecx, dword [esp + 0x174]
mov ebp, dword [eax*8 + 0x4cbbcc]
add ebp, dword [esp + 0x34]
jmp 0x494af4
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x38]
movzx ebp, byte [eax + ebp]
mov dword [esp + 0x30], ebp
cmp edi, 1
jl 0x494b5b
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494b40
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.0x49378b
cmp ebp, ecx
je case.default.0x49378b
inc edx
cmp edx, edi
jle 0x494b00
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x49201c
cmp dword [esp + 0x18], 0
jne 0x497e65
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x494be0
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x494c02
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494bbf
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 0x494bd9
cmp dword [esp + 0x30], ecx
je 0x494bd9
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x494b82
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x497dd9
mov ebp, dword [esp + 0x174]
jmp 0x491ec2
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x494be0
cmp ebx, dword [ecx + 0x88]
jbe 0x494be0
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x498f6a
jmp 0x494be0
cmp edi, 1
jl 0x494c91
mov ecx, dword [esp + 0x174]
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494c80
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.0x49378b
inc edx
cmp edx, edi
jle 0x494c40
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
cmp edi, eax
je 0x49201c
cmp dword [esp + 0x18], 0
jne 0x497fcf
mov ecx, dword [esp + 0x174]
mov ebp, ebx
cmp edi, eax
jge 0x494d10
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x494d32
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494cf5
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 0x494d09
inc edi
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp edi, dword [esp + 0x28]
jl 0x494cb8
mov ecx, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x170]
je 0x497f3f
mov ebp, dword [esp + 0x174]
jmp 0x491ec2
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x494d10
cmp ebx, dword [ecx + 0x88]
jbe 0x494d10
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x498f6a
jmp 0x494d10
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 0x494e30
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 0x494e30
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x494e28
mov ebp, 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
jmp 0x494e28
xor ebp, ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x24], ebp
lea ecx, [esi + 2]
mov dword [esp + 0x20], 1
jmp 0x494e30
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 0x494e30
add edx, 0xffffffab
lea ecx, [esi + 2]
mov eax, edx
and edx, 1
mov dword [esp + 0x18], edx
movsx ebp, byte [eax + 0x4bf658]
movsx eax, byte [eax + 0x4bf650]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], eax
test eax, eax
jne 0x494e30
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 0x494e55
cmp edx, 0xf
je 0x494e55
or eax, 0xffffffff
mov dword [esp + 0x30], eax
jmp 0x494e7b
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 0x495bbb
test eax, eax
js 0x495401
cmp eax, 8
ja case.default.0x493aec
jmp dword [eax*4 + 0x4997ec]
cmp dword [esp + 0x38], 0
jne case.default.0x49378b
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
mov ecx, ebx
cmp ebx, esi
jae 0x497c48
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 0x494eb5
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494f38
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
mov al, byte [eax*8 + 0x4cbbc9]
cmp al, 9
je 0x494f6b
cmp al, 5
je 0x494f6b
cmp al, 8
je 0x494f6b
xor eax, eax
jmp 0x494f70
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x49378b
inc edx
cmp edx, ebp
jle 0x494f00
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x494fcf
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], edi
mov edi, dword [esp + 0x28]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x49378b
inc edx
cmp edx, ebp
jle 0x494f97
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495068
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x49378b
inc edx
cmp edx, ebp
jle 0x495030
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4950f8
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc8]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x49378b
inc edx
cmp edx, ebp
jle 0x4950c0
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495188
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
mov eax, dword [eax*4 + 0x4bfde0]
cmp eax, 1
je 0x4951c1
cmp eax, 3
je 0x4951c1
xor eax, eax
jmp 0x4951c6
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x49378b
inc edx
cmp edx, ebp
jle 0x495150
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497c48
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495229
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 + 0x4ccca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 6
je 0x495271
cmp edx, 9
je 0x495271
cmp edx, 0xa
je 0x495271
cmp edx, 0xc
je 0x495271
cmp edx, 0xd
je 0x495271
xor eax, eax
jmp 0x495276
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x49378b
inc esi
cmp esi, ebp
jle 0x4951f1
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497c48
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4952dd
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 + 0x4ccca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 6
je 0x49532a
cmp edx, 9
je 0x49532a
cmp edx, 0xa
je 0x49532a
cmp edx, 0xb
je 0x49532a
cmp edx, 0xc
je 0x49532a
cmp edx, 0xd
je 0x49532a
xor eax, eax
jmp 0x49532f
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x49378b
inc esi
cmp esi, ebp
jle 0x4952a5
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
nop
cmp ebx, edi
jae 0x497c48
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
mov dword [esp + 0x1c], ebx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4953a0
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 + 0x4ccca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
mov eax, dword [eax*4 + 0x4bfde0]
cmp eax, 1
je 0x4953e0
cmp eax, 3
je 0x4953e0
cmp edx, 0x5f
je 0x4953e0
xor eax, eax
jmp 0x4953e5
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x49378b
inc esi
cmp esi, ebp
jle 0x495360
mov edi, dword [esp + 0x28]
jmp 0x495bbb
cmp edx, 0x16
jne 0x49551f
mov esi, dword [esp + 0x174]
lea edi, [edx - 0x15]
mov ebp, dword [esi + 0x7c]
cmp ebx, ebp
jae 0x4980a5
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495451
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 2
je case.default.0x49378b
mov esi, dword [esi + 0x7c]
cmp ebx, esi
jae 0x4954fa
nop
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4954c5
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 2
jne 0x4954fa
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x495490
mov esi, dword [esp + 0x174]
inc edi
cmp edi, dword [esp + 0x24]
jle 0x495417
mov ebp, dword [esp + 0x24]
mov ecx, esi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x495bc2
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493aec
jmp dword [eax*4 + 0x499810]
mov ecx, dword [esp + 0x174]
mov esi, 1
nop
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x497c48
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4955a7
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b0d0
add esp, 0xc
test eax, eax
jne case.default.0x49378b
mov ecx, dword [esp + 0x174]
add ebx, 2
cmp ebx, dword [ecx + 0x7c]
jae 0x495599
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x495599
add ebx, 2
inc esi
cmp esi, ebp
jle 0x495540
mov dword [esp + 0x1c], ebx
jmp 0x495bc2
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x495572
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x495579
cmp edx, 1
je case.default.0x49378b
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je case.default.0x49378b
jmp 0x495579
mov esi, dword [esp + 0x174]
mov ecx, 1
mov edx, dword [esi + 0x7c]
nop word [eax + eax]
cmp ebx, edx
jae 0x4980a5
add ebx, 2
cmp ebx, edx
jae 0x495611
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x495611
add ebx, 2
inc ecx
cmp ecx, ebp
jle 0x4955f0
mov dword [esp + 0x1c], ebx
mov ecx, esi
jmp 0x495bc2
mov eax, dword [esp + 0x174]
lea ecx, [ebp*2]
mov eax, dword [eax + 0x7c]
sub eax, ecx
cmp ebx, eax
ja case.default.0x49378b
add ebx, ecx
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov esi, 1
mov edi, dword [ecx + 0x7c]
cmp ebx, edi
jae 0x497c4f
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49568e
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 0x4956de
je case.0x4956a4.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49378b
jmp dword [ecx*4 + 0x499850]
mov ebx, edx
cmp edx, edi
jae 0x4956c5
cmp word [edx], 0xa
mov ecx, dword [esp + 0x174]
jne 0x4956cc
lea ebx, [edx + 2]
jmp 0x4956cc
mov ebx, edx
mov ecx, dword [esp + 0x174]
inc esi
cmp esi, ebp
jle 0x495656
mov edi, dword [esp + 0x28]
mov dword [esp + 0x1c], ebx
jmp 0x495bc2
sub ecx, 0x2028
je case.0x4956a4.11
sub ecx, 1
jne case.default.0x49378b
mov ecx, dword [esp + 0x174]
mov ebx, edx
cmp dword [ecx + 0x68], 0
jne case.default.0x49378b
jmp 0x4956cc
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49574b
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 0x4957a1
je case.default.0x49378b
cmp ecx, 0xa0
ja 0x495787
je case.default.0x49378b
cmp ecx, 9
je case.default.0x49378b
cmp ecx, 0x20
je case.default.0x49378b
inc edx
cmp edx, ebp
jle 0x495713
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
cmp ecx, 0x1680
je case.default.0x49378b
cmp ecx, 0x180e
je case.default.0x49378b
jmp case.0x4957c1.8203
cmp ecx, 0x3000
ja case.0x4957c1.8203
je case.default.0x49378b
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x4957c1.8203
movzx eax, byte [ecx + 0x499868]
jmp dword [eax*4 + 0x499860]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49580f
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 0x495855
je case.0x495879.8193
cmp ecx, 0xa0
ja 0x49583f
je case.0x495879.8193
cmp ecx, 9
je case.0x495879.8193
cmp ecx, 0x20
jne case.default.0x49378b
inc edx
cmp edx, ebp
jle 0x4957d7
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
cmp ecx, 0x1680
je case.0x495879.8193
cmp ecx, 0x180e
jne case.default.0x49378b
jmp case.0x495879.8193
cmp ecx, 0x3000
ja case.default.0x49378b
je case.0x495879.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x49378b
movzx eax, byte [ecx + 0x4998d0]
jmp dword [eax*4 + 0x4998c8]
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4958c8
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 0x4958e5
je case.default.0x49378b
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x4958de
jmp dword [ecx*4 + 0x499930]
sub ecx, 0x2028
je case.default.0x49378b
sub ecx, 1
je case.default.0x49378b
inc edx
cmp edx, ebp
jle 0x495890
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49594f
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 0x49596c
je case.0x495965.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49378b
jmp dword [ecx*4 + 0x499940]
sub ecx, 0x2028
je case.0x495965.10
sub ecx, 1
jne case.default.0x49378b
inc edx
cmp edx, ebp
jle 0x495917
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x497c48
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4959d8
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 0x4959f4
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x49378b
inc edx
cmp edx, ebp
jle 0x4959a0
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497c48
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x49378b
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je case.default.0x49378b
inc edx
add ebx, 2
cmp edx, ebp
jle 0x495a11
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497c48
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x495a8b
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x49378b
add ebx, 2
cmp ebx, esi
jae 0x495aaa
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x495aaa
add ebx, 2
inc edx
cmp edx, ebp
jle 0x495a60
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x497c48
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x49378b
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je case.default.0x49378b
inc edx
add ebx, 2
cmp edx, ebp
jle 0x495ac7
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov eax, dword [esp + 0x174]
mov edx, 1
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x497c48
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae 0x495b41
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x49378b
add ebx, 2
cmp ebx, esi
jae 0x495b60
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x495b60
add ebx, 2
inc edx
cmp edx, ebp
jle 0x495b16
mov dword [esp + 0x1c], ebx
jmp 0x495bbb
mov ecx, dword [esp + 0x174]
mov edx, 1
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x497c48
movzx eax, word [ebx]
mov ecx, 0x80
cmp ax, cx
jae case.default.0x49378b
mov ecx, eax
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x49378b
add ebx, 2
inc edx
mov dword [esp + 0x1c], ebx
cmp edx, ebp
jle 0x495b80
mov ecx, dword [esp + 0x174]
mov edx, dword [esp + 0x20]
cmp ebp, edx
je 0x493e70
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0x30]
jne 0x498109
mov esi, ebx
mov dword [esp + 0x18], esi
test eax, eax
js 0x496306
cmp eax, 8
ja case.default.0x493aec
jmp dword [eax*4 + 0x499950]
cmp ebp, edx
jge 0x49625e
mov edx, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop word [eax + eax]
cmp ebx, edx
jae 0x495c4b
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
cmp dword [esp + 0x38], 0
movzx ecx, ax
jne 0x49625e
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 0x495c10
jmp 0x49625e
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496265
cmp ebx, dword [ebp + 0x88]
jbe 0x496265
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
jmp 0x496265
cmp ebp, edx
jge 0x49625e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
mov edx, 1
cmp ebx, esi
jae 0x495d24
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495ccd
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
mov al, byte [eax*8 + 0x4cbbc9]
cmp al, 9
je 0x495d00
cmp al, 5
je 0x495d00
cmp al, 8
je 0x495d00
xor eax, eax
jmp 0x495d05
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x49625a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x495c90
jmp 0x49625a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x495d49
cmp ebx, dword [ebp + 0x88]
jbe 0x495d49
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x498f6a
mov esi, dword [esp + 0x18]
jmp 0x496265
cmp ebp, edx
jge 0x49625e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x44]
cmp ebx, esi
jae 0x495def
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495d9e
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], edi
sete cl
cmp ecx, dword [esp + 0x38]
je 0x49625a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x495d61
jmp 0x49625a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x495d49
cmp ebx, dword [ebp + 0x88]
jbe 0x495d49
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
mov esi, dword [esp + 0x18]
jmp 0x496265
cmp ebp, edx
jge 0x49625e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x495def
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495e71
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x49625a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x495e38
jmp 0x49625a
cmp ebp, edx
jge 0x49625e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
cmp ebx, esi
jae 0x495def
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495f05
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc8]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je 0x49625a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x495ec8
jmp 0x49625a
cmp ebp, edx
jge 0x49625e
mov esi, dword [ecx + 0x7c]
mov edi, dword [esp + 0x20]
nop dword [eax]
mov edx, 1
cmp ebx, esi
jae 0x495d24
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x495f9d
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
mov eax, dword [eax*4 + 0x4bfde0]
cmp eax, 1
je 0x495fd6
cmp eax, 3
je 0x495fd6
xor eax, eax
jmp 0x495fdb
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x49625a
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, edi
jl 0x495f60
jmp 0x49625a
cmp ebp, edx
jge 0x49625e
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x4960bb
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49604d
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 + 0x4ccca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 6
je 0x496095
cmp edx, 9
je 0x496095
cmp edx, 0xa
je 0x496095
cmp edx, 0xc
je 0x496095
cmp edx, 0xd
je 0x496095
xor eax, eax
jmp 0x49609a
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x49625a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496010
jmp 0x49625a
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x495d49
cmp ebx, dword [ebp + 0x88]
jbe 0x495d49
mov dword [ebp + 0x64], esi
cmp eax, 1
jg 0x498f6a
mov esi, dword [esp + 0x18]
jmp 0x496265
cmp ebp, edx
jge 0x49625e
mov edi, dword [ecx + 0x7c]
nop dword [eax]
mov esi, 1
cmp ebx, edi
jae 0x4960bb
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496139
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 + 0x4ccca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 6
je 0x496186
cmp edx, 9
je 0x496186
cmp edx, 0xa
je 0x496186
cmp edx, 0xb
je 0x496186
cmp edx, 0xc
je 0x496186
cmp edx, 0xd
je 0x496186
xor eax, eax
jmp 0x49618b
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x49625a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496100
jmp 0x49625a
cmp ebp, edx
jge 0x49625e
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
mov esi, 1
cmp ebx, edi
jae 0x4960bb
movzx edx, word [ebx]
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4961fd
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 + 0x4ccca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
mov eax, dword [eax*4 + 0x4bfde0]
cmp eax, 1
je 0x49623d
cmp eax, 3
je 0x49623d
cmp edx, 0x5f
je 0x49623d
xor eax, eax
jmp 0x496242
mov eax, 1
cmp eax, dword [esp + 0x38]
je 0x49625a
inc ebp
lea ebx, [ebx + esi*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x4961c0
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x491eb7
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x49378b
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4962cc
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.00491dc0
add esp, 0x14
test eax, eax
je 0x4962a7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp edi, 0x16
jne 0x496531
cmp ebp, edx
jge 0x49642d
mov edi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, edi
jae 0x4964ff
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49635d
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 2
je 0x496429
mov eax, dword [esp + 0x174]
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
mov esi, dword [eax + 0x7c]
cmp ebx, esi
jae 0x49641e
nop dword [eax + eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4963e5
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 2
jne 0x49641a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x4963b0
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496320
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x491eb7
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, esi
je case.default.0x49378b
movzx eax, word [ebx]
mov edx, ebx
mov ecx, eax
and eax, 0xfc00
cmp eax, 0xdc00
jne 0x49649d
movzx ecx, word [edx - 2]
lea ebx, [edx - 2]
movzx ecx, cx
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4964c8
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 2
jne 0x4980cb
sub ebx, 2
jmp 0x496483
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496528
cmp ebx, dword [ebp + 0x88]
jbe 0x496528
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
mov esi, dword [esp + 0x18]
jmp 0x496434
lea eax, [edi - 6]
cmp eax, 0xf
ja case.default.0x493aec
jmp dword [eax*4 + 0x499974]
cmp edx, 0x7fffffff
jge 0x496640
cmp ebp, edx
jge 0x49688c
nop dword [eax + eax]
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496601
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4965cd
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b0d0
add esp, 0xc
test eax, eax
jne 0x49688c
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x4965c1
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4965c1
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496560
jmp 0x49688c
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x496592
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496599
cmp edx, 1
je 0x49688c
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x49688c
jmp 0x496599
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x49688c
cmp ebx, dword [ecx + 0x88]
jbe 0x49688c
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x498f6a
mov ebp, ecx
jmp 0x496893
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x496601
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 0x18]
add eax, 0x1c
test edx, edx
je 0x4966a9
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b0d0
add esp, 0xc
test eax, eax
jne 0x49688c
mov ecx, dword [esp + 0x174]
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, dword [ecx + 0x7c]
jae 0x49669d
mov ax, word [ebx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x49669d
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x496640
jmp 0x49688c
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x49666e
mov ecx, dword [esp + 0x174]
mov ax, word [ebx]
cmp ax, word [ecx + 0x2c]
jne 0x496675
cmp edx, 1
je 0x49688c
mov ax, word [ebx + 2]
cmp ax, word [ecx + 0x2e]
je 0x49688c
jmp 0x496675
cmp edx, 0x7fffffff
jge 0x496755
cmp ebp, edx
jge 0x49688c
mov ecx, dword [ecx + 0x7c]
cmp ebx, ecx
jae 0x49671f
add ebx, 2
mov dword [esp + 0x1c], ebx
cmp ebx, ecx
jae 0x496715
mov ax, word [ebx]
and ax, word [esp + 0x4c]
cmp ax, word [esp + 0x50]
jne 0x496715
add ebx, 2
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, edx
jl 0x4966f0
jmp 0x49688c
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496893
cmp ebx, dword [ebp + 0x88]
jbe 0x496893
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
jmp 0x496893
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496893
cmp ebx, dword [ebp + 0x88]
jbe 0x496893
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
jmp 0x496893
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 0x4967c4
mov eax, dword [ebp + 0x8c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x496893
cmp ecx, dword [ebp + 0x88]
jmp 0x496777
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
jmp 0x496893
cmp ebp, edx
jge 0x49688c
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x49694e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49681c
movzx eax, word [edx]
and ecx, 0x3ff
and eax, 0x3ff
shl ecx, 0xa
or ecx, eax
mov eax, 4
add ecx, 0x10000
jmp 0x496821
mov eax, 2
cmp ecx, 0xd
jne 0x49683b
mov ebx, edx
mov dword [esp + 0x1c], ebx
cmp edx, esi
jae 0x496888
cmp word [ebx], 0xa
jne 0x49687d
lea ebx, [edx + 2]
jmp 0x496879
cmp ecx, 0xa
je 0x496877
mov edx, dword [esp + 0x174]
cmp dword [edx + 0x68], 0
jne 0x496e07
cmp ecx, 0xb
je 0x496877
cmp ecx, 0xc
je 0x496877
cmp ecx, 0x85
je 0x496877
cmp ecx, 0x2028
je 0x496877
cmp ecx, 0x2029
jne 0x496e07
add ebx, eax
mov dword [esp + 0x1c], ebx
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x4967e0
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x174]
cmp dword [esp + 0x2c], 0
jne 0x491eb7
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
lea ecx, [ebx - 2]
cmp ebx, esi
je case.default.0x49378b
mov ax, word [ecx]
mov edx, 0xfc00
and ax, dx
mov edx, 0xdc00
cmp ax, dx
jne 0x4968f6
add ecx, 0xfffffffe
mov ebx, ecx
cmp edi, 0x11
jne 0x496912
cmp ecx, esi
jbe 0x496912
cmp word [ecx], 0xa
jne 0x496912
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.00491dc0
add esp, 0x14
test eax, eax
je 0x4968d3
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 0x496977
cmp ebx, dword [ebp + 0x88]
jbe 0x496977
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
mov esi, dword [esp + 0x18]
jmp 0x496893
cmp ebp, edx
jge 0x49688c
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
mov edx, 1
cmp ebx, esi
jae 0x496a4e
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4969cd
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 0x496a24
je case.0x496a40.8193
cmp ecx, 0xa0
ja 0x496a14
je case.0x496a40.8193
cmp ecx, 9
je case.0x496a40.8193
cmp ecx, 0x20
je case.0x496a40.8193
xor ecx, ecx
xor eax, eax
cmp edi, 0x12
sete al
cmp ecx, eax
je 0x496888
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496990
jmp 0x496888
cmp ecx, 0x1680
je case.0x496a40.8193
cmp ecx, 0x180e
jmp 0x4969ed
cmp ecx, 0x3000
ja case.0x496a40.8203
je case.0x496a40.8193
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x496a40.8203
movzx eax, byte [ecx + 0x4999bc]
jmp dword [eax*4 + 0x4999b4]
mov ecx, 1
jmp 0x4969f1
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x8c]
test eax, eax
je 0x496977
cmp ebx, dword [ebp + 0x88]
jbe 0x496977
mov dword [ebp + 0x64], edx
cmp eax, 1
jg 0x498f6a
mov esi, dword [esp + 0x18]
jmp 0x496893
cmp ebp, edx
jge 0x49688c
mov esi, dword [ecx + 0x7c]
nop
mov edx, 1
cmp ebx, esi
jae 0x496a4e
movzx ecx, word [ebx]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496ac9
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 0x496ae2
je case.0x496adb.10
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x496adb
jmp dword [ecx*4 + 0x499a1c]
sub ecx, 0x2028
je case.0x496adb.10
sub ecx, 1
je case.0x496adb.10
xor ecx, ecx
jmp 0x496af8
mov ecx, 1
xor eax, eax
cmp edi, 0x14
sete al
cmp ecx, eax
je 0x496888
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496a90
jmp 0x496888
cmp ebp, edx
jge 0x49688c
mov esi, dword [ecx + 0x7c]
nop word [eax + eax]
cmp ebx, esi
jae 0x49694e
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496b6d
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 0x496b89
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
jne 0x496888
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496b30
jmp 0x496888
cmp ebp, edx
jge 0x49688c
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49694e
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496be4
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 0x496888
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 4
je 0x496888
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496ba7
jmp 0x496888
cmp ebp, edx
jge 0x49688c
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49694e
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496c5f
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 0x496c7b
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
jne 0x496888
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496c22
jmp 0x496888
cmp ebp, edx
jge 0x49688c
mov esi, dword [ecx + 0x7c]
nop dword [eax]
cmp ebx, esi
jae 0x49694e
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496cdd
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 0x496888
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 1
je 0x496888
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496ca0
jmp 0x496888
cmp ebp, edx
jge 0x49688c
mov esi, dword [ecx + 0x7c]
nop dword [eax + eax]
cmp ebx, esi
jae 0x49694e
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496d5d
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 0x496d79
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
jne 0x496888
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496d20
jmp 0x496888
cmp ebp, edx
jge 0x49688c
mov esi, dword [ecx + 0x7c]
cmp ebx, esi
jae 0x49694e
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x496dd4
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 0x496888
mov eax, dword [esp + 0x174]
mov eax, dword [eax + 0x3c]
test byte [ecx + eax], 0x10
je 0x496888
inc ebp
lea ebx, [ebx + edx*2]
mov dword [esp + 0x1c], ebx
cmp ebp, dword [esp + 0x20]
jl 0x496d97
jmp 0x496888
mov esi, dword [esp + 0x18]
mov ebp, edx
jmp 0x496893
cmp ecx, 0x74
mov ecx, ebx
jne 0x496e59
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x49705e
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov ebp, dword [esp + 0x174]
add esi, 4
jmp 0x49705e
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 0x496f00
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 0x496ee0
jmp 0x496ef9
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 0x497062
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.00491dc0
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp eax, 0x75
je 0x4972b6
cmp eax, 0x74
jne 0x496fb4
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
movzx eax, word [ebp]
cmp eax, 0x7b
je 0x497267
mov ecx, 0x82
cmp ax, cx
jae 0x497226
mov esi, ebp
mov ebp, dword [esp + 0x174]
jmp 0x49705e
mov eax, 0x82
cmp word [ebp], ax
jb 0x496fc9
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.00491dc0
mov ecx, dword [esp + 0x188]
add esp, 0x14
cmp eax, 0xfffffc1c
jne 0x497004
cmp dword [ecx + 0xb8], ebp
je 0x497008
test eax, eax
jne 0x497077
add esi, 4
cmp word [ebp], 0x7b
mov dword [esp + 0x14], esi
je 0x4972a1
mov ebp, dword [esp + 0x174]
jmp 0x497062
movzx edi, word [esi + 4]
lea eax, [edi + edi]
cmp eax, dword [ebp + 0x14]
jl 0x498f7a
cmp edx, 0x82
jae 0x497082
cmp edx, 0x7b
je 0x497082
cmp dword [ebp + 0x6c], 0
jne 0x49708c
movzx eax, word [esi + 2]
cmp word [esi + eax*2], 0x71
je 0x49708c
movzx eax, cx
movzx eax, byte [eax + 0x4bfe60]
lea esi, [esi + eax*2]
mov dword [esp + 0x14], esi
mov eax, dword [ebp]
cmp eax, dword [ebp + 4]
jb 0x491e61
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 + 0x4bfe60]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00491dc0
mov edi, eax
add esp, 0x14
mov ecx, esi
cmp edi, 0xfffffc20
jne 0x497127
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 0x497127
mov eax, dword [esp + 0x14]
cmp word [eax], 0x71
je 0x497131
cmp word [edx], 0x71
mov eax, edi
jne 0x497127
mov esi, dword [esp + 0x174]
add esi, 0xb0
jmp 0x497131
mov esi, ecx
test eax, eax
jne 0x4990b1
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.0x49378b
mov edx, dword [esp + 0x20]
mov ecx, 0x71
mov ebp, dword [esp + 0x174]
jmp case.0x491eee.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.00491dc0
add esp, 0x14
test eax, eax
je 0x4971a5
cmp eax, 0xfffffc1d
je 0x4971a5
cmp eax, 0xfffffc20
jne 0x497077
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 0x4971e6
push eax
call fcn.0049ef92
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.00491dc0
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.00491dc0
add esp, 0x14
test eax, eax
je 0x4972ff
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 0x497280
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
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.0x49378b
cmp ebx, dword [ebp + 0x88]
jbe case.default.0x49378b
mov dword [ebp + 0x64], 1
cmp eax, 1
jg 0x498f6a
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [esp + 0x30], 0
je 0x49745d
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x48], esi
nop dword [eax]
cmp esi, dword [esp + 0x34]
jge case.default.0x49378b
push dword [esp + 0x24]
mov esi, dword [esp + 0x178]
mov edx, ebx
push esi
push ebp
mov ecx, edi
call fcn.00491c10
add esp, 0xc
test eax, eax
js 0x497441
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.00491dc0
add esp, 0x14
mov dword [esp + 0x48], esi
test eax, eax
je 0x4973d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x49378b
cmp ebx, dword [esi + 0x7c]
jb case.default.0x49378b
jmp 0x4980b3
mov edi, ebx
cmp esi, eax
jge 0x4974d0
push edx
push dword [esp + 0x178]
mov edx, ebx
push ebp
call fcn.00491c10
add esp, 0xc
test eax, eax
js 0x49748e
mov ecx, dword [esp + 0x3c]
lea ebx, [ebx + eax*2]
mov edx, dword [esp + 0x24]
inc esi
cmp esi, dword [esp + 0x34]
jl 0x497463
jmp 0x4974bc
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je 0x4974bc
cmp ebx, dword [ecx + 0x7c]
jb 0x4974bc
cmp ebx, dword [ecx + 0x88]
jbe 0x4974bc
mov dword [ecx + 0x64], 1
cmp eax, 1
jg 0x498f6a
cmp ebx, edi
jb case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov eax, ebp
neg eax
lea ebx, [ebx + eax*2]
cmp ebx, edi
jae 0x4974d0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp dword [esp + 0x18], 0
je 0x497631
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, edi
nop dword [eax + eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x49378b
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497c4f
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4975ba
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 0x4975cf
cmp dword [esp + 0x20], 0x6a
je case.default.0x49378b
jmp 0x4975ee
mov ecx, edx
mov eax, 1
and ecx, 7
shr edx, 3
shl eax, cl
test byte [edx + ebp], al
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x497570
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x497699
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x24]
mov edi, dword [eax + 0x7c]
cmp ebx, edi
jae 0x49776f
movzx edx, word [ebx]
mov esi, 1
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497682
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 0x497736
cmp dword [esp + 0x20], 0x6a
jne 0x497756
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x49378b
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4976fc
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.00491dc0
add esp, 0x14
test eax, eax
je 0x4976d7
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 0x497699
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 0x497645
jmp 0x497699
mov esi, dword [esp + 0x174]
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x4976a0
cmp ebx, dword [esi + 0x88]
jbe 0x4976a0
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x498f6a
jmp 0x4976a0
cmp dword [esp + 0x18], 0
je 0x497897
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, edi
nop dword [eax]
cmp esi, dword [esp + 0x24]
jge case.default.0x49378b
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497c4f
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49783a
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.0049b280
add esp, 4
test eax, eax
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x4977f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov ebp, ebx
cmp edi, eax
jge 0x497901
nop dword [eax]
mov esi, dword [esp + 0x174]
cmp ebx, dword [esi + 0x7c]
jae 0x49799f
movzx ecx, word [ebx]
mov esi, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4978e5
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.0049b280
add esp, 4
test eax, eax
je 0x497901
inc edi
lea ebx, [ebx + esi*2]
cmp edi, dword [esp + 0x24]
jl 0x4978a0
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
nop
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x49378b
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497965
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.00491dc0
add esp, 0x14
test eax, eax
je 0x497940
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je 0x497908
cmp ebx, dword [esi + 0x88]
jbe 0x497908
mov dword [esi + 0x64], 1
cmp eax, 1
jg 0x498f6a
jmp 0x497908
mov eax, dword [ebp + 0x8c]
test eax, eax
je case.default.0x49378b
cmp ebx, ecx
jb case.default.0x49378b
jmp 0x497356
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x49378b
cmp ebx, dword [ecx + 0x7c]
jb case.default.0x49378b
cmp ebx, dword [ecx + 0x88]
jbe case.default.0x49378b
mov dword [ecx + 0x64], 1
jmp 0x497365
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
cmp ebx, ebp
je case.default.0x49378b
mov ax, word [ebx - 2]
add ebx, 0xfffffffe
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497a7a
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.00491dc0
add esp, 0x14
test eax, eax
je 0x497a56
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, edi
cmp esi, dword [esp + 0x24]
jge case.default.0x49378b
mov edx, dword [esp + 0x34]
mov ebp, dword [ebp + 0x7c]
mov ecx, ebp
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x497b6c
lea esi, [edx + edx]
mov ecx, ebx
mov edx, dword [esp + 0x30]
sub esi, 4
jb 0x497b31
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497b36
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497b20
cmp esi, 0xfffffffc
je 0x497b63
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497b6c
cmp esi, 0xfffffffd
je 0x497b63
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497b6c
cmp esi, 0xfffffffe
je 0x497b63
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497b6c
cmp esi, 0xffffffff
je 0x497b63
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497b6c
mov eax, dword [esp + 0x34]
lea ebx, [ebx + eax*2]
jmp 0x497bde
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jle 0x497c2c
lea edi, [ecx + ecx]
mov eax, ebp
sub eax, edi
cmp ebx, eax
ja 0x497c2c
lea esi, [ecx + ecx]
mov ecx, ebx
lea edx, [esp + 0x74]
sub esi, 4
jb 0x497ba6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x497bab
add ecx, 4
add edx, 4
sub esi, 4
jae 0x497b95
cmp esi, 0xfffffffc
je 0x497bd8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x497c2c
cmp esi, 0xfffffffd
je 0x497bd8
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x497c2c
cmp esi, 0xfffffffe
je 0x497bd8
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x497c2c
cmp esi, 0xffffffff
je 0x497bd8
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x497c2c
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.00491dc0
add esp, 0x14
test eax, eax
je 0x497af2
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.0x49378b
cmp ebx, ebp
jmp 0x497a01
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + 0x8c]
test eax, eax
je case.default.0x49378b
jmp 0x497a07
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
nop dword [eax]
cmp edi, dword [esp + 0x24]
jge case.default.0x49378b
mov ecx, dword [esp + 0x174]
cmp ebx, dword [ecx + 0x7c]
jae 0x497c4f
movzx eax, word [ebx]
cmp esi, eax
je 0x497cc5
cmp ebp, eax
jne case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x497ca0
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov ecx, edi
nop word [eax + eax]
cmp edi, ebp
jge case.default.0x49378b
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497db3
movzx eax, word [ebx]
add ebx, 2
cmp esi, eax
jne case.default.0x49378b
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.00491dc0
add esp, 0x14
mov ecx, edi
test eax, eax
je 0x497d50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edx + 0x8c]
test eax, eax
je case.default.0x49378b
cmp ebx, dword [edx + 0x88]
jbe case.default.0x49378b
mov dword [edx + 0x64], 1
jmp 0x497365
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x49378b
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497e2b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x497e06
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, edi
cmp esi, dword [esp + 0x28]
jge case.default.0x49378b
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497db3
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x497eea
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.0x49378b
cmp ebp, ecx
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x497ea0
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
nop dword [eax]
mov eax, ebx
add ebx, 0xfffffffe
cmp eax, ebp
je case.default.0x49378b
mov ax, word [ebx]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x497f95
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.00491dc0
add esp, 0x14
test eax, eax
je 0x497f70
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, edi
nop word [eax + eax]
cmp esi, dword [esp + 0x28]
jge case.default.0x49378b
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497db3
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49805a
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.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498010
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [esi + 0x8c]
test eax, eax
je case.default.0x49378b
cmp ebx, dword [esi + 0x88]
jbe case.default.0x49378b
mov dword [esi + 0x64], 1
jmp 0x497365
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.00491dc0
add esp, 0x14
test eax, eax
je 0x496476
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
js 0x498a65
cmp eax, 8
ja case.default.0x493aec
jmp dword [eax*4 + 0x499a2c]
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, ebp
nop word [eax + eax]
mov ecx, ebx
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497db3
movzx eax, word [ebx]
add ebx, 2
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498191
lea ebx, [ecx + 4]
cmp dword [esp + 0x38], 0
jne case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498160
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497db3
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49825c
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
mov al, byte [eax*8 + 0x4cbbc9]
cmp al, 9
je 0x49828f
cmp al, 5
je 0x49828f
cmp al, 8
je 0x49828f
xor eax, eax
jmp 0x498294
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498212
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497db3
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49836a
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], esi
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498320
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497db3
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49846c
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498422
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497db3
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49856a
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
xor ecx, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc8]
cmp eax, dword [esp + 0x44]
sete cl
cmp ecx, dword [esp + 0x38]
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498520
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov esi, ebp
nop dword [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
mov edx, dword [esp + 0x174]
cmp ebx, dword [edx + 0x7c]
jae 0x497db3
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x49866a
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
mov eax, dword [eax*4 + 0x4bfde0]
cmp eax, 1
je 0x4986a3
cmp eax, 3
je 0x4986a3
xor eax, eax
jmp 0x4986a8
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498620
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
cmp ebx, dword [edi + 0x7c]
jae 0x49880e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498774
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 + 0x4ccca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 6
je 0x4987bc
cmp edx, 9
je 0x4987bc
cmp edx, 0xa
je 0x4987bc
cmp edx, 0xc
je 0x4987bc
cmp edx, 0xd
je 0x4987bc
xor eax, eax
jmp 0x4987c1
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498731
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
mov eax, dword [edi + 0x8c]
test eax, eax
je case.default.0x49378b
cmp ebx, dword [edi + 0x88]
jbe case.default.0x49378b
mov dword [edi + 0x64], 1
jmp 0x497365
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov edi, dword [esp + 0x174]
mov esi, ebp
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
cmp ebx, dword [edi + 0x7c]
jae 0x49880e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4988b1
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 + 0x4ccca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 6
je 0x4988fe
cmp edx, 9
je 0x4988fe
cmp edx, 0xa
je 0x4988fe
cmp edx, 0xb
je 0x4988fe
cmp edx, 0xc
je 0x4988fe
cmp edx, 0xd
je 0x4988fe
xor eax, eax
jmp 0x498903
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498872
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.00491dc0
add esp, 0x14
test eax, eax
jne 0x497077
mov edi, dword [esp + 0x174]
mov esi, ebp
nop
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
cmp ebx, dword [edi + 0x7c]
jae 0x49880e
movzx edx, word [ebx]
add ebx, 2
mov eax, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4989d3
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 + 0x4ccca8]
mov eax, edx
and eax, 0x7f
shl ecx, 7
add ecx, eax
movzx eax, word [ecx*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
mov eax, dword [eax*4 + 0x4bfde0]
cmp eax, 1
je 0x498a13
cmp eax, 3
je 0x498a13
cmp edx, 0x5f
je 0x498a13
xor eax, eax
jmp 0x498a18
mov eax, 1
cmp eax, dword [esp + 0x38]
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498990
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.00491dc0
add esp, 0x14
cmp edi, 0x16
jne 0x498bdd
test eax, eax
jne 0x497077
mov edi, dword [esp + 0x174]
mov esi, ebp
nop dword [eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
mov esi, dword [edi + 0x7c]
cmp ebx, esi
jae 0x49880e
movzx ecx, word [ebx]
lea edx, [ebx + 2]
mov eax, ecx
mov ebx, edx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498af7
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 2
je case.default.0x49378b
cmp ebx, esi
jae 0x498b9a
nop dword [eax]
movzx ecx, word [ebx]
mov edx, 1
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498b65
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 + 0x4ccca8]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x4c02c8]
movzx eax, byte [eax*8 + 0x4cbbc9]
cmp dword [eax*4 + 0x4bfde0], 2
jne 0x498b9a
lea ebx, [ebx + edx*2]
cmp ebx, esi
jb 0x498b30
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498ab0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
test eax, eax
jne 0x497077
mov esi, ebp
nop word [eax + eax]
cmp esi, dword [esp + 0x20]
jge case.default.0x49378b
mov esi, dword [esp + 0x174]
mov ecx, dword [esi + 0x7c]
cmp ebx, ecx
jae 0x498f40
cmp edi, 0xc
jne 0x498c5e
mov edx, dword [esi + 0x18]
lea eax, [esi + 0x1c]
test edx, edx
je 0x498c33
push 1
push eax
push ecx
mov ecx, ebx
call fcn.0049b0d0
add esp, 0xc
test eax, eax
jne case.default.0x49378b
jmp 0x498c5e
mov edx, dword [eax]
lea eax, [edx + edx]
sub ecx, eax
cmp ebx, ecx
ja 0x498c5e
mov ax, word [ebx]
cmp ax, word [esi + 0x2c]
jne 0x498c5e
cmp edx, 1
je case.default.0x49378b
mov ax, word [ebx + 2]
cmp ax, word [esi + 0x2e]
je case.default.0x49378b
movzx ecx, word [ebx]
add ebx, 2
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x498c8e
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.0x493aec
jmp dword [eax*4 + 0x499a50]
cmp ecx, 0x85
ja 0x498cd9
je case.0x498cb7.11
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49378b
jmp dword [ecx*4 + 0x499a90]
cmp ebx, dword [esi + 0x7c]
jae case.0x498c9a.12
cmp word [ebx], 0xa
jne case.0x498c9a.12
add ebx, 2
jmp case.0x498c9a.12
sub ecx, 0x2028
je case.0x498cb7.11
sub ecx, 1
jne case.default.0x49378b
cmp dword [esi + 0x68], 0
jne case.default.0x49378b
jmp case.0x498c9a.12
cmp ecx, 0x2000
ja 0x498d3d
je case.default.0x49378b
cmp ecx, 0xa0
ja 0x498d26
je case.default.0x49378b
cmp ecx, 9
je case.default.0x49378b
cmp ecx, 0x20
jmp 0x498ee1
cmp ecx, 0x1680
je case.default.0x49378b
cmp ecx, 0x180e
jmp 0x498ee1
cmp ecx, 0x3000
ja case.0x498c9a.12
je case.default.0x49378b
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.0x498c9a.12
movzx eax, byte [ecx + 0x499aa8]
jmp dword [eax*4 + 0x499aa0]
cmp ecx, 0x2000
ja 0x498dbc
je case.0x498c9a.12
cmp ecx, 0xa0
ja 0x498d9f
je case.0x498c9a.12
cmp ecx, 9
je case.0x498c9a.12
cmp ecx, 0x20
jne case.default.0x49378b
jmp case.0x498c9a.12
cmp ecx, 0x1680
je case.0x498c9a.12
cmp ecx, 0x180e
jne case.default.0x49378b
jmp case.0x498c9a.12
cmp ecx, 0x3000
ja case.default.0x49378b
je case.0x498c9a.12
add ecx, 0xffffdfff
cmp ecx, 0x5e
ja case.default.0x49378b
movzx eax, byte [ecx + 0x499b10]
jmp dword [eax*4 + 0x499b08]
cmp ecx, 0x85
ja 0x498e0c
je case.default.0x49378b
add ecx, 0xfffffff6
cmp ecx, 3
ja case.0x498c9a.12
jmp dword [ecx*4 + 0x499b70]
sub ecx, 0x2028
je case.default.0x49378b
sub ecx, 1
jmp 0x498ee1
cmp ecx, 0x85
ja 0x498e41
je case.0x498c9a.12
add ecx, 0xfffffff6
cmp ecx, 3
ja case.default.0x49378b
jmp dword [ecx*4 + 0x499b80]
sub ecx, 0x2028
je case.0x498c9a.12
sub ecx, 1
jne case.default.0x49378b
jmp case.0x498c9a.12
cmp ecx, 0x100
jae case.0x498c9a.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jne case.default.0x49378b
jmp case.0x498c9a.12
cmp ecx, 0x100
jae case.default.0x49378b
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 4
jmp 0x498ee1
cmp ecx, 0x100
jae case.0x498c9a.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jne case.default.0x49378b
jmp case.0x498c9a.12
cmp ecx, 0x100
jae case.default.0x49378b
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 1
jmp 0x498ee1
cmp ecx, 0x100
jae case.0x498c9a.12
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
jne case.default.0x49378b
jmp case.0x498c9a.12
cmp ecx, 0x100
jae case.default.0x49378b
mov eax, dword [esi + 0x3c]
test byte [ecx + eax], 0x10
je case.default.0x49378b
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.00491dc0
add esp, 0x14
test eax, eax
je 0x498bf0
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.0x49378b
cmp ebx, dword [esi + 0x88]
jbe case.default.0x49378b
mov dword [esi + 0x64], 1
cmp eax, 1
jle case.default.0x49378b
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 0x498fd2
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 + 0x4bfe60]
push dword [esp + 0x17c]
push dword [esp + 0x17c]
lea edx, [ecx + eax*2]
mov ecx, ebx
call fcn.00491dc0
mov edx, dword [esp + 0x188]
mov esi, eax
add esp, 0x14
cmp esi, 0xfffffc1c
je 0x499079
mov ecx, dword [esp + 0x14]
cmp esi, 0xfffffc20
jne 0x499044
movzx eax, word [ecx + 2]
lea eax, [ecx + eax*2]
cmp dword [edx + 0x80], eax
jae 0x499044
cmp word [ecx], 0x71
je 0x499040
cmp word [eax], 0x71
jne 0x499044
xor esi, esi
jmp 0x499048
test esi, esi
jne 0x4990a4
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 0x499079
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x174]
jmp 0x498fc0
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 0x4990fa
mov edx, dword [esp + 0x14]
movzx eax, word [edx]
mov ecx, eax
cmp eax, 0x7b
je 0x4990e8
cmp ecx, 0x71
jne 0x4990e0
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 0x4990d0
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 + 0x4bfe60]
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.00491dc0
mov esi, eax
add esp, 0x14
cmp esi, 1
je 0x49916d
cmp esi, 0xfffffc19
je 0x49916d
cmp esi, 0xfffffc1b
jne 0x499189
cmp dword [ebp + 0xb0], 0
jne 0x499189
mov dword [ebp + 0xb0], edi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x158
ret
cmp esi, 0xfffffc1f
jne 0x4990a4
mov edx, dword [ebp + 0x80]
mov ecx, edi
call fcn.0049b030
test eax, eax
jne 0x4990a4
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 + 0x4bfe60]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00491dc0
mov ecx, eax
add esp, 0x14
test ecx, ecx
je 0x499222
cmp ecx, 0xfffffc1d
je 0x499222
cmp ecx, 0xfffffc1e
je 0x499222
cmp ecx, 0xfffffc1f
je 0x499222
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 + 0x4bfe60]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00491dc0
add esp, 0x14
test eax, eax
je 0x49926e
cmp eax, 0xfffffc20
jne 0x497077
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 + 0x4bfe60]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00491dc0
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x4992da
cmp ecx, 0xfffffc19
jne 0x4992e9
cmp dword [ebp + 0xb0], 0
jne 0x4992e9
mov dword [ebp + 0xb0], esi
test ecx, ecx
je 0x49926e
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 + 0x4bfe60]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00491dc0
add esp, 0x14
test eax, eax
je 0x499349
cmp eax, 0xfffffc1d
je 0x499349
cmp eax, 0xfffffc20
jne 0x497077
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 + 0x4bfe60]
push ebp
push edi
push dword [esp + 0x17c]
lea edx, [esi + eax*2]
call fcn.00491dc0
add esp, 0x14
test eax, eax
je 0x49940f
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 + 0x4bfe60]
movzx eax, word [edx + 2]
add ecx, eax
push edi
push dword [esp + 0x17c]
lea edx, [edx + ecx*2]
mov ecx, ebx
call fcn.00491dc0
add esp, 0x14
cmp eax, 1
je 0x4993f4
cmp eax, 0xfffffc19
jne 0x499403
cmp dword [ebp + 0xb0], 0
jne 0x499403
mov dword [ebp + 0xb0], esi
test eax, eax
jne 0x497077
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 0x499465
cmp edx, 0x99
je 0x499465
cmp dword [ebp + 0xa8], 0
jne 0x499465
cmp dword [ebp + 0x5c], 0
jne case.default.0x49378b
cmp dword [ebp + 0x60], 0
je 0x499465
mov ecx, dword [ebp + 0x98]
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
cmp esi, eax
je case.default.0x49378b
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