509fa7:	cc                   	int3
509fa8:	cc                   	int3
509fa9:	cc                   	int3
509faa:	cc                   	int3
509fab:	cc                   	int3
509fac:	cc                   	int3
509fad:	cc                   	int3
509fae:	cc                   	int3
509faf:	cc                   	int3
509fb0:	8b 01                	mov    (%ecx),%eax
509fb2:	c3                   	ret
509fb3:	cc                   	int3
509fb4:	cc                   	int3
509fb5:	cc                   	int3
509fb6:	cc                   	int3
509fb7:	cc                   	int3
509fb8:	cc                   	int3
509fb9:	cc                   	int3
509fba:	cc                   	int3
509fbb:	cc                   	int3
509fbc:	cc                   	int3
509fbd:	cc                   	int3
509fbe:	cc                   	int3
509fbf:	cc                   	int3
509fc0:	8b 51 08             	mov    0x8(%ecx),%edx
509fc3:	b8 4f ec c4 4e       	mov    $0x4ec4ec4f,%eax
509fc8:	2b 51 04             	sub    0x4(%ecx),%edx
509fcb:	f7 ea                	imul   %edx
509fcd:	c1 fa 04             	sar    $0x4,%edx
509fd0:	8b c2                	mov    %edx,%eax
509fd2:	c1 e8 1f             	shr    $0x1f,%eax
509fd5:	03 c2                	add    %edx,%eax
509fd7:	c3                   	ret
509fd8:	cc                   	int3
509fd9:	cc                   	int3
509fda:	cc                   	int3
509fdb:	cc                   	int3
509fdc:	cc                   	int3
509fdd:	cc                   	int3
509fde:	cc                   	int3
509fdf:	cc                   	int3
509fe0:	68 58 20 bd 00       	push   $0xbd2058
509fe5:	e8 2c f8 f1 ff       	call   0x429816
509fea:	cc                   	int3
509feb:	cc                   	int3
509fec:	cc                   	int3
509fed:	cc                   	int3
509fee:	cc                   	int3
509fef:	cc                   	int3
509ff0:	e9 6f 04 f2 ff       	jmp    0x42a464
509ff5:	cc                   	int3
509ff6:	cc                   	int3
509ff7:	cc                   	int3
509ff8:	cc                   	int3
509ff9:	cc                   	int3
509ffa:	cc                   	int3
509ffb:	cc                   	int3
509ffc:	cc                   	int3
509ffd:	cc                   	int3
509ffe:	cc                   	int3
509fff:	cc                   	int3
50a000:	8b 44 24 04          	mov    0x4(%esp),%eax
50a004:	85 c0                	test   %eax,%eax
50a006:	75 03                	jne    0x50a00b
50a008:	c2 04 00             	ret    $0x4
50a00b:	3d c4 4e ec 04       	cmp    $0x4ec4ec4,%eax
50a010:	77 3b                	ja     0x50a04d
50a012:	6b c0 34             	imul   $0x34,%eax,%eax
50a015:	3d 00 10 00 00       	cmp    $0x1000,%eax
50a01a:	72 22                	jb     0x50a03e
50a01c:	8d 48 23             	lea    0x23(%eax),%ecx
50a01f:	3b c8                	cmp    %eax,%ecx
50a021:	76 2f                	jbe    0x50a052
50a023:	51                   	push   %ecx
50a024:	e8 54 09 f2 ff       	call   0x42a97d
50a029:	8b c8                	mov    %eax,%ecx
50a02b:	83 c4 04             	add    $0x4,%esp
50a02e:	85 c9                	test   %ecx,%ecx
50a030:	74 25                	je     0x50a057
50a032:	8d 41 23             	lea    0x23(%ecx),%eax
50a035:	83 e0 e0             	and    $0xffffffe0,%eax
50a038:	89 48 fc             	mov    %ecx,-0x4(%eax)
50a03b:	c2 04 00             	ret    $0x4
50a03e:	50                   	push   %eax
50a03f:	e8 39 09 f2 ff       	call   0x42a97d
50a044:	83 c4 04             	add    $0x4,%esp
50a047:	85 c0                	test   %eax,%eax
50a049:	75 bd                	jne    0x50a008
50a04b:	eb 0f                	jmp    0x50a05c
50a04d:	e8 cc 7e ef ff       	call   0x401f1e
50a052:	e8 c7 7e ef ff       	call   0x401f1e
50a057:	e8 31 39 f3 ff       	call   0x43d98d
50a05c:	e8 2c 39 f3 ff       	call   0x43d98d
50a061:	cc                   	int3
50a062:	cc                   	int3
50a063:	cc                   	int3
50a064:	cc                   	int3
50a065:	cc                   	int3
50a066:	cc                   	int3
50a067:	cc                   	int3
50a068:	cc                   	int3
50a069:	cc                   	int3
50a06a:	cc                   	int3
50a06b:	cc                   	int3
50a06c:	cc                   	int3
50a06d:	cc                   	int3
50a06e:	cc                   	int3
50a06f:	cc                   	int3
50a070:	cc                   	int3
50a071:	cc                   	int3
50a072:	cc                   	int3
50a073:	cc                   	int3
50a074:	cc                   	int3
50a075:	cc                   	int3
50a076:	cc                   	int3
50a077:	cc                   	int3
50a078:	cc                   	int3
50a079:	cc                   	int3
50a07a:	cc                   	int3
50a07b:	cc                   	int3
50a07c:	cc                   	int3
50a07d:	cc                   	int3
50a07e:	cc                   	int3
50a07f:	cc                   	int3
50a080:	8b 44 24 04          	mov    0x4(%esp),%eax
50a084:	8b 09                	mov    (%ecx),%ecx
50a086:	89 08                	mov    %ecx,(%eax)
50a088:	c2 04 00             	ret    $0x4
50a08b:	cc                   	int3
50a08c:	cc                   	int3
50a08d:	cc                   	int3
50a08e:	cc                   	int3
50a08f:	cc                   	int3
50a090:	8b 44 24 04          	mov    0x4(%esp),%eax
50a094:	8b 09                	mov    (%ecx),%ecx
50a096:	89 08                	mov    %ecx,(%eax)
50a098:	c2 04 00             	ret    $0x4
50a09b:	cc                   	int3
50a09c:	cc                   	int3
50a09d:	cc                   	int3
50a09e:	cc                   	int3
50a09f:	cc                   	int3
50a0a0:	8b 51 08             	mov    0x8(%ecx),%edx
50a0a3:	b8 4f ec c4 4e       	mov    $0x4ec4ec4f,%eax
50a0a8:	2b 11                	sub    (%ecx),%edx
50a0aa:	f7 ea                	imul   %edx
50a0ac:	c1 fa 04             	sar    $0x4,%edx
50a0af:	8b c2                	mov    %edx,%eax
50a0b1:	c1 e8 1f             	shr    $0x1f,%eax
50a0b4:	03 c2                	add    %edx,%eax
50a0b6:	c3                   	ret
50a0b7:	cc                   	int3
50a0b8:	cc                   	int3
50a0b9:	cc                   	int3
50a0ba:	cc                   	int3
50a0bb:	cc                   	int3
50a0bc:	cc                   	int3
50a0bd:	cc                   	int3
50a0be:	cc                   	int3
50a0bf:	cc                   	int3
50a0c0:	56                   	push   %esi
50a0c1:	8b f1                	mov    %ecx,%esi
50a0c3:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
50a0c7:	75 0a                	jne    0x50a0d3
50a0c9:	6a 01                	push   $0x1
50a0cb:	e8 b8 78 ef ff       	call   0x401988
50a0d0:	83 c4 04             	add    $0x4,%esp
50a0d3:	ff 76 04             	push   0x4(%esi)
50a0d6:	ff 36                	push   (%esi)
50a0d8:	e8 7f c7 ef ff       	call   0x40685c
50a0dd:	83 c4 08             	add    $0x8,%esp
50a0e0:	85 c0                	test   %eax,%eax
50a0e2:	74 09                	je     0x50a0ed
50a0e4:	50                   	push   %eax
50a0e5:	e8 da e4 f1 ff       	call   0x4285c4
50a0ea:	83 c4 04             	add    $0x4,%esp
50a0ed:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
50a0f4:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
50a0fa:	5e                   	pop    %esi
50a0fb:	c3                   	ret
50a0fc:	cc                   	int3
50a0fd:	cc                   	int3
50a0fe:	cc                   	int3
50a0ff:	cc                   	int3
50a100:	cc                   	int3
50a101:	cc                   	int3
50a102:	cc                   	int3
50a103:	cc                   	int3
50a104:	cc                   	int3
50a105:	cc                   	int3
50a106:	cc                   	int3
50a107:	cc                   	int3
50a108:	cc                   	int3
50a109:	cc                   	int3
50a10a:	cc                   	int3
50a10b:	cc                   	int3
50a10c:	cc                   	int3
50a10d:	cc                   	int3
50a10e:	cc                   	int3
50a10f:	cc                   	int3
50a110:	8b 44 24 04          	mov    0x4(%esp),%eax
50a114:	8b 49 04             	mov    0x4(%ecx),%ecx
50a117:	89 08                	mov    %ecx,(%eax)
50a119:	c2 04 00             	ret    $0x4
50a11c:	cc                   	int3
50a11d:	cc                   	int3
50a11e:	cc                   	int3
50a11f:	cc                   	int3
50a120:	8b 44 24 04          	mov    0x4(%esp),%eax
50a124:	8b 49 04             	mov    0x4(%ecx),%ecx
50a127:	89 08                	mov    %ecx,(%eax)
50a129:	c2 04 00             	ret    $0x4
50a12c:	cc                   	int3
50a12d:	cc                   	int3
50a12e:	cc                   	int3
50a12f:	cc                   	int3
50a130:	8b 01                	mov    (%ecx),%eax
50a132:	8b d0                	mov    %eax,%edx
50a134:	57                   	push   %edi
50a135:	8b 7c 24 0c          	mov    0xc(%esp),%edi
50a139:	8b 48 04             	mov    0x4(%eax),%ecx
50a13c:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
50a140:	75 18                	jne    0x50a15a
50a142:	56                   	push   %esi
50a143:	8b 37                	mov    (%edi),%esi
50a145:	39 71 10             	cmp    %esi,0x10(%ecx)
50a148:	73 05                	jae    0x50a14f
50a14a:	8b 49 08             	mov    0x8(%ecx),%ecx
50a14d:	eb 04                	jmp    0x50a153
50a14f:	8b d1                	mov    %ecx,%edx
50a151:	8b 09                	mov    (%ecx),%ecx
50a153:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
50a157:	74 ec                	je     0x50a145
50a159:	5e                   	pop    %esi
50a15a:	3b d0                	cmp    %eax,%edx
50a15c:	74 11                	je     0x50a16f
50a15e:	8b 0f                	mov    (%edi),%ecx
50a160:	3b 4a 10             	cmp    0x10(%edx),%ecx
50a163:	72 0a                	jb     0x50a16f
50a165:	8b 44 24 08          	mov    0x8(%esp),%eax
50a169:	5f                   	pop    %edi
50a16a:	89 10                	mov    %edx,(%eax)
50a16c:	c2 08 00             	ret    $0x8
50a16f:	8b 4c 24 08          	mov    0x8(%esp),%ecx
50a173:	5f                   	pop    %edi
50a174:	89 01                	mov    %eax,(%ecx)
50a176:	8b c1                	mov    %ecx,%eax
50a178:	c2 08 00             	ret    $0x8
50a17b:	cc                   	int3
50a17c:	cc                   	int3
50a17d:	cc                   	int3
50a17e:	cc                   	int3
50a17f:	cc                   	int3
50a180:	cc                   	int3
50a181:	cc                   	int3
50a182:	cc                   	int3
50a183:	cc                   	int3
50a184:	cc                   	int3
50a185:	cc                   	int3
50a186:	cc                   	int3
50a187:	cc                   	int3
50a188:	cc                   	int3
50a189:	cc                   	int3
50a18a:	cc                   	int3
50a18b:	cc                   	int3
50a18c:	cc                   	int3
50a18d:	cc                   	int3
50a18e:	cc                   	int3
50a18f:	cc                   	int3
50a190:	8b 01                	mov    (%ecx),%eax
50a192:	c3                   	ret
50a193:	cc                   	int3
50a194:	cc                   	int3
50a195:	cc                   	int3
50a196:	cc                   	int3
50a197:	cc                   	int3
50a198:	cc                   	int3
50a199:	cc                   	int3
50a19a:	cc                   	int3
50a19b:	cc                   	int3
50a19c:	cc                   	int3
50a19d:	cc                   	int3
50a19e:	cc                   	int3
50a19f:	cc                   	int3
50a1a0:	8b 01                	mov    (%ecx),%eax
50a1a2:	c3                   	ret
50a1a3:	cc                   	int3
50a1a4:	cc                   	int3
50a1a5:	cc                   	int3
50a1a6:	cc                   	int3
50a1a7:	cc                   	int3
50a1a8:	cc                   	int3
50a1a9:	cc                   	int3
50a1aa:	cc                   	int3
50a1ab:	cc                   	int3
50a1ac:	cc                   	int3
50a1ad:	cc                   	int3
50a1ae:	cc                   	int3
50a1af:	cc                   	int3
50a1b0:	8b 01                	mov    (%ecx),%eax
50a1b2:	c3                   	ret
50a1b3:	cc                   	int3
50a1b4:	cc                   	int3
50a1b5:	cc                   	int3
50a1b6:	cc                   	int3
50a1b7:	cc                   	int3
50a1b8:	cc                   	int3
50a1b9:	cc                   	int3
50a1ba:	cc                   	int3
50a1bb:	cc                   	int3
50a1bc:	cc                   	int3
50a1bd:	cc                   	int3
50a1be:	cc                   	int3
50a1bf:	cc                   	int3
50a1c0:	8b 01                	mov    (%ecx),%eax
50a1c2:	c3                   	ret
50a1c3:	cc                   	int3
50a1c4:	cc                   	int3
50a1c5:	cc                   	int3
50a1c6:	cc                   	int3
50a1c7:	cc                   	int3
50a1c8:	cc                   	int3
50a1c9:	cc                   	int3
50a1ca:	cc                   	int3
50a1cb:	cc                   	int3
50a1cc:	cc                   	int3
50a1cd:	cc                   	int3
50a1ce:	cc                   	int3
50a1cf:	cc                   	int3
50a1d0:	8b 01                	mov    (%ecx),%eax
50a1d2:	c3                   	ret
50a1d3:	cc                   	int3
50a1d4:	cc                   	int3
50a1d5:	cc                   	int3
50a1d6:	cc                   	int3
50a1d7:	cc                   	int3
50a1d8:	cc                   	int3
50a1d9:	cc                   	int3
50a1da:	cc                   	int3
50a1db:	cc                   	int3
50a1dc:	cc                   	int3
50a1dd:	cc                   	int3
50a1de:	cc                   	int3
50a1df:	cc                   	int3
50a1e0:	8b 01                	mov    (%ecx),%eax
50a1e2:	c3                   	ret
50a1e3:	cc                   	int3
50a1e4:	cc                   	int3
50a1e5:	cc                   	int3
50a1e6:	cc                   	int3