491f1a:	74 01                	je     0x491f1d
491f1c:	40                   	inc    %eax
491f1d:	6a 00                	push   $0x0
491f1f:	8d 55 ec             	lea    -0x14(%ebp),%edx
491f22:	52                   	push   %edx
491f23:	50                   	push   %eax
491f24:	6a 03                	push   $0x3
491f26:	8b 45 fc             	mov    -0x4(%ebp),%eax
491f29:	50                   	push   %eax
491f2a:	a1 40 70 6a 00       	mov    0x6a7040,%eax
491f2f:	8b 00                	mov    (%eax),%eax
491f31:	50                   	push   %eax
491f32:	a1 e0 6e 6a 00       	mov    0x6a6ee0,%eax
491f37:	8b 00                	mov    (%eax),%eax
491f39:	ff d0                	call   *%eax
491f3b:	e9 ec 03 00 00       	jmp    0x49232c
491f40:	55                   	push   %ebp
491f41:	e8 16 ff ff ff       	call   0x491e5c
491f46:	59                   	pop    %ecx
491f47:	8b d8                	mov    %eax,%ebx
491f49:	81 fb ff ff ff 1f    	cmp    $0x1fffffff,%ebx
491f4f:	75 46                	jne    0x491f97
491f51:	8b 45 0c             	mov    0xc(%ebp),%eax
491f54:	83 e0 02             	and    $0x2,%eax
491f57:	84 c0                	test   %al,%al
491f59:	74 07                	je     0x491f62
491f5b:	b8 08 04 00 00       	mov    $0x408,%eax
491f60:	eb 02                	jmp    0x491f64
491f62:	33 c0                	xor    %eax,%eax
491f64:	8b 55 0c             	mov    0xc(%ebp),%edx
491f67:	83 e2 01             	and    $0x1,%edx
491f6a:	84 d2                	test   %dl,%dl
491f6c:	74 05                	je     0x491f73
491f6e:	0d 00 04 00 00       	or     $0x400,%eax
491f73:	8b 55 0c             	mov    0xc(%ebp),%edx
491f76:	83 e2 10             	and    $0x10,%edx
491f79:	84 d2                	test   %dl,%dl
491f7b:	74 05                	je     0x491f82
491f7d:	0d 00 02 00 00       	or     $0x200,%eax
491f82:	50                   	push   %eax
491f83:	6a 04                	push   $0x4
491f85:	8d 45 ec             	lea    -0x14(%ebp),%eax
491f88:	50                   	push   %eax
491f89:	8b 45 fc             	mov    -0x4(%ebp),%eax
491f8c:	50                   	push   %eax
491f8d:	e8 86 59 f7 ff       	call   0x407918
491f92:	e9 95 03 00 00       	jmp    0x49232c
491f97:	6a ff                	push   $0xffffffff
491f99:	6a ff                	push   $0xffffffff
491f9b:	8d 45 ec             	lea    -0x14(%ebp),%eax
491f9e:	50                   	push   %eax
491f9f:	e8 e4 5b f7 ff       	call   0x407b88
491fa4:	6a 01                	push   $0x1
491fa6:	8d 55 ec             	lea    -0x14(%ebp),%edx
491fa9:	8b cb                	mov    %ebx,%ecx
491fab:	8b 45 fc             	mov    -0x4(%ebp),%eax
491fae:	e8 79 6e ff ff       	call   0x488e2c
491fb3:	8b 45 0c             	mov    0xc(%ebp),%eax
491fb6:	83 e0 14             	and    $0x14,%eax
491fb9:	84 c0                	test   %al,%al
491fbb:	74 12                	je     0x491fcf
491fbd:	8d 55 ec             	lea    -0x14(%ebp),%edx
491fc0:	b9 0f 00 00 80       	mov    $0x8000000f,%ecx
491fc5:	8b 45 fc             	mov    -0x4(%ebp),%eax
491fc8:	e8 17 6e ff ff       	call   0x488de4
491fcd:	eb 31                	jmp    0x492000
491fcf:	8b 45 0c             	mov    0xc(%ebp),%eax
491fd2:	83 e0 02             	and    $0x2,%eax
491fd5:	84 c0                	test   %al,%al
491fd7:	74 17                	je     0x491ff0
491fd9:	68 0f 00 00 80       	push   $0x8000000f
491fde:	8d 55 ec             	lea    -0x14(%ebp),%edx
491fe1:	b9 05 00 00 80       	mov    $0x80000005,%ecx
491fe6:	8b 45 fc             	mov    -0x4(%ebp),%eax
491fe9:	e8 1a 70 ff ff       	call   0x489008
491fee:	eb 10                	jmp    0x492000
491ff0:	8d 55 ec             	lea    -0x14(%ebp),%edx
491ff3:	b9 05 00 00 80       	mov    $0x80000005,%ecx
491ff8:	8b 45 fc             	mov    -0x4(%ebp),%eax
491ffb:	e8 e4 6d ff ff       	call   0x488de4
492000:	8b 45 0c             	mov    0xc(%ebp),%eax
492003:	83 e0 03             	and    $0x3,%eax
492006:	84 c0                	test   %al,%al
492008:	0f 84 1e 03 00 00    	je     0x49232c
49200e:	8b 45 ec             	mov    -0x14(%ebp),%eax
492011:	03 45 f4             	add    -0xc(%ebp),%eax
492014:	d1 f8                	sar    $1,%eax
492016:	79 03                	jns    0x49201b
492018:	83 d0 00             	adc    $0x0,%eax
49201b:	48                   	dec    %eax
49201c:	89 45 e8             	mov    %eax,-0x18(%ebp)
49201f:	8b 75 f0             	mov    -0x10(%ebp),%esi
492022:	03 75 f8             	add    -0x8(%ebp),%esi
492025:	d1 fe                	sar    $1,%esi
492027:	79 03                	jns    0x49202c
492029:	83 d6 00             	adc    $0x0,%esi
49202c:	46                   	inc    %esi
49202d:	8b 45 0c             	mov    0xc(%ebp),%eax
492030:	83 e0 04             	and    $0x4,%eax
492033:	84 c0                	test   %al,%al
492035:	74 07                	je     0x49203e
492037:	bb 11 00 00 80       	mov    $0x80000011,%ebx
49203c:	eb 16                	jmp    0x492054
49203e:	8b 45 0c             	mov    0xc(%ebp),%eax
492041:	83 e0 02             	and    $0x2,%eax
492044:	84 c0                	test   %al,%al
492046:	74 07                	je     0x49204f
492048:	bb 10 00 00 80       	mov    $0x80000010,%ebx
49204d:	eb 05                	jmp    0x492054
49204f:	bb 12 00 00 80       	mov    $0x80000012,%ebx
492054:	53                   	push   %ebx
492055:	53                   	push   %ebx
492056:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
492059:	8b 45 e8             	mov    -0x18(%ebp),%eax
49205c:	83 e8 02             	sub    $0x2,%eax
49205f:	8b d6                	mov    %esi,%edx
492061:	e8 e6 85 f8 ff       	call   0x41a64c
492066:	8b 45 a4             	mov    -0x5c(%ebp),%eax
492069:	89 45 ac             	mov    %eax,-0x54(%ebp)
49206c:	8b 45 a8             	mov    -0x58(%ebp),%eax
49206f:	89 45 b0             	mov    %eax,-0x50(%ebp)
492072:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
492075:	8d 56 02             	lea    0x2(%esi),%edx
492078:	8b 45 e8             	mov    -0x18(%ebp),%eax
49207b:	e8 cc 85 f8 ff       	call   0x41a64c
492080:	8b 45 9c             	mov    -0x64(%ebp),%eax
492083:	89 45 b4             	mov    %eax,-0x4c(%ebp)
492086:	8b 45 a0             	mov    -0x60(%ebp),%eax
492089:	89 45 b8             	mov    %eax,-0x48(%ebp)
49208c:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
49208f:	8b fe                	mov    %esi,%edi
492091:	83 ef 02             	sub    $0x2,%edi
492094:	8b d7                	mov    %edi,%edx
492096:	8b 45 e8             	mov    -0x18(%ebp),%eax
492099:	83 c0 04             	add    $0x4,%eax
49209c:	e8 ab 85 f8 ff       	call   0x41a64c
4920a1:	8b 45 94             	mov    -0x6c(%ebp),%eax
4920a4:	89 45 bc             	mov    %eax,-0x44(%ebp)
4920a7:	8b 45 98             	mov    -0x68(%ebp),%eax
4920aa:	89 45 c0             	mov    %eax,-0x40(%ebp)
4920ad:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
4920b0:	8b d6                	mov    %esi,%edx
4920b2:	83 ea 04             	sub    $0x4,%edx
4920b5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4920b8:	83 c0 04             	add    $0x4,%eax
4920bb:	e8 8c 85 f8 ff       	call   0x41a64c
4920c0:	8b 45 8c             	mov    -0x74(%ebp),%eax
4920c3:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4920c6:	8b 45 90             	mov    -0x70(%ebp),%eax
4920c9:	89 45 c8             	mov    %eax,-0x38(%ebp)
4920cc:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
4920cf:	8b d6                	mov    %esi,%edx
4920d1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4920d4:	e8 73 85 f8 ff       	call   0x41a64c
4920d9:	8b 45 84             	mov    -0x7c(%ebp),%eax
4920dc:	89 45 cc             	mov    %eax,-0x34(%ebp)
4920df:	8b 45 88             	mov    -0x78(%ebp),%eax
4920e2:	89 45 d0             	mov    %eax,-0x30(%ebp)
4920e5:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
4920eb:	8b d7                	mov    %edi,%edx
4920ed:	8b 45 e8             	mov    -0x18(%ebp),%eax
4920f0:	83 e8 02             	sub    $0x2,%eax
4920f3:	e8 54 85 f8 ff       	call   0x41a64c
4920f8:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
4920fe:	89 45 d4             	mov    %eax,-0x2c(%ebp)
492101:	8b 45 80             	mov    -0x80(%ebp),%eax
492104:	89 45 d8             	mov    %eax,-0x28(%ebp)
492107:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
49210d:	8b 45 e8             	mov    -0x18(%ebp),%eax
492110:	83 e8 02             	sub    $0x2,%eax
492113:	8b d6                	mov    %esi,%edx
492115:	e8 32 85 f8 ff       	call   0x41a64c
49211a:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
492120:	89 45 dc             	mov    %eax,-0x24(%ebp)
492123:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
492129:	89 45 e0             	mov    %eax,-0x20(%ebp)
49212c:	8d 55 ac             	lea    -0x54(%ebp),%edx
49212f:	b9 06 00 00 00       	mov    $0x6,%ecx
492134:	8b 45 fc             	mov    -0x4(%ebp),%eax
492137:	e8 28 6e ff ff       	call   0x488f64
49213c:	e9 eb 01 00 00       	jmp    0x49232c
492141:	a1 70 72 6a 00       	mov    0x6a7270,%eax
492146:	80 38 00             	cmpb   $0x0,(%eax)
492149:	74 62                	je     0x4921ad
49214b:	8b 45 0c             	mov    0xc(%ebp),%eax
49214e:	83 e0 01             	and    $0x1,%eax
492151:	84 c0                	test   %al,%al
492153:	74 07                	je     0x49215c
492155:	b8 05 00 00 00       	mov    $0x5,%eax
49215a:	eb 05                	jmp    0x492161
49215c:	b8 01 00 00 00       	mov    $0x1,%eax
492161:	8b 55 0c             	mov    0xc(%ebp),%edx
492164:	83 e2 04             	and    $0x4,%edx
492167:	84 d2                	test   %dl,%dl
492169:	74 05                	je     0x492170
49216b:	83 c0 03             	add    $0x3,%eax
49216e:	eb 1a                	jmp    0x49218a
492170:	8b 55 0c             	mov    0xc(%ebp),%edx
492173:	83 e2 10             	and    $0x10,%edx
492176:	84 d2                	test   %dl,%dl
492178:	74 05                	je     0x49217f
49217a:	83 c0 02             	add    $0x2,%eax
49217d:	eb 0b                	jmp    0x49218a
49217f:	8b 55 0c             	mov    0xc(%ebp),%edx
492182:	83 e2 08             	and    $0x8,%edx
492185:	84 d2                	test   %dl,%dl
492187:	74 01                	je     0x49218a
492189:	40                   	inc    %eax
49218a:	6a 00                	push   $0x0
49218c:	8d 55 ec             	lea    -0x14(%ebp),%edx
49218f:	52                   	push   %edx
492190:	50                   	push   %eax
492191:	6a 02                	push   $0x2
492193:	8b 45 fc             	mov    -0x4(%ebp),%eax
492196:	50                   	push   %eax
492197:	a1 40 70 6a 00       	mov    0x6a7040,%eax
49219c:	8b 00                	mov    (%eax),%eax
49219e:	50                   	push   %eax
49219f:	a1 e0 6e 6a 00       	mov    0x6a6ee0,%eax
4921a4:	8b 00                	mov    (%eax),%eax
4921a6:	ff d0                	call   *%eax
4921a8:	e9 7f 01 00 00       	jmp    0x49232c
4921ad:	55                   	push   %ebp
4921ae:	e8 a9 fc ff ff       	call   0x491e5c
4921b3:	59                   	pop    %ecx
4921b4:	8b d8                	mov    %eax,%ebx
4921b6:	81 fb ff ff ff 1f    	cmp    $0x1fffffff,%ebx
4921bc:	75 38                	jne    0x4921f6
4921be:	b8 04 00 00 00       	mov    $0x4,%eax
4921c3:	8b 55 0c             	mov    0xc(%ebp),%edx
4921c6:	83 e2 01             	and    $0x1,%edx
4921c9:	84 d2                	test   %dl,%dl
4921cb:	74 05                	je     0x4921d2
4921cd:	0d 00 04 00 00       	or     $0x400,%eax
4921d2:	8b 55 0c             	mov    0xc(%ebp),%edx
4921d5:	83 e2 10             	and    $0x10,%edx
4921d8:	84 d2                	test   %dl,%dl
4921da:	74 05                	je     0x4921e1
4921dc:	0d 00 02 00 00       	or     $0x200,%eax
4921e1:	50                   	push   %eax
4921e2:	6a 04                	push   $0x4
4921e4:	8d 45 ec             	lea    -0x14(%ebp),%eax
4921e7:	50                   	push   %eax
4921e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4921eb:	50                   	push   %eax
4921ec:	e8 27 57 f7 ff       	call   0x407918
4921f1:	e9 36 01 00 00       	jmp    0x49232c
4921f6:	8b c3                	mov    %ebx,%eax
4921f8:	e8 73 6b ff ff       	call   0x488d70
4921fd:	8b f0                	mov    %eax,%esi
4921ff:	8b 45 0c             	mov    0xc(%ebp),%eax
492202:	83 e0 14             	and    $0x14,%eax
492205:	84 c0                	test   %al,%al
492207:	74 07                	je     0x492210
492209:	bb 0f 00 00 80       	mov    $0x8000000f,%ebx
49220e:	eb 05                	jmp    0x492215
492210:	bb 05 00 00 80       	mov    $0x80000005,%ebx
492215:	8b c3                	mov    %ebx,%eax
492217:	e8 94 6b ff ff       	call   0x488db0
49221c:	8b d8                	mov    %eax,%ebx
49221e:	6a ff                	push   $0xffffffff
492220:	6a ff                	push   $0xffffffff
492222:	8d 45 ec             	lea    -0x14(%ebp),%eax
492225:	50                   	push   %eax
492226:	e8 5d 59 f7 ff       	call   0x407b88
49222b:	ff 45 ec             	incl   -0x14(%ebp)
49222e:	ff 4d f8             	decl   -0x8(%ebp)
492231:	56                   	push   %esi
492232:	8b 45 fc             	mov    -0x4(%ebp),%eax
492235:	50                   	push   %eax
492236:	e8 c5 54 f7 ff       	call   0x407700
49223b:	8b f8                	mov    %eax,%edi
49223d:	53                   	push   %ebx
49223e:	8b 45 fc             	mov    -0x4(%ebp),%eax
492241:	50                   	push   %eax
492242:	e8 b9 54 f7 ff       	call   0x407700
492247:	89 45 e4             	mov    %eax,-0x1c(%ebp)
49224a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
49224d:	2b 4d f0             	sub    -0x10(%ebp),%ecx
492250:	83 e9 02             	sub    $0x2,%ecx
492253:	51                   	push   %ecx
492254:	8b 45 f4             	mov    -0xc(%ebp),%eax
492257:	8b c8                	mov    %eax,%ecx
492259:	8b 55 ec             	mov    -0x14(%ebp),%edx
49225c:	2b ca                	sub    %edx,%ecx
49225e:	83 e9 02             	sub    $0x2,%ecx
492261:	51                   	push   %ecx
492262:	8b 4d f8             	mov    -0x8(%ebp),%ecx
492265:	51                   	push   %ecx
492266:	50                   	push   %eax
492267:	8b 45 f0             	mov    -0x10(%ebp),%eax
49226a:	50                   	push   %eax
49226b:	52                   	push   %edx
49226c:	8b 45 fc             	mov    -0x4(%ebp),%eax
49226f:	50                   	push   %eax
492270:	e8 73 54 f7 ff       	call   0x4076e8
492275:	57                   	push   %edi
492276:	8b 45 fc             	mov    -0x4(%ebp),%eax
492279:	50                   	push   %eax
49227a:	e8 81 54 f7 ff       	call   0x407700
49227f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
492282:	50                   	push   %eax
492283:	8b 45 fc             	mov    -0x4(%ebp),%eax
492286:	50                   	push   %eax
492287:	e8 74 54 f7 ff       	call   0x407700
49228c:	56                   	push   %esi
49228d:	e8 7e 52 f7 ff       	call   0x407510
492292:	53                   	push   %ebx
492293:	e8 78 52 f7 ff       	call   0x407510
492298:	8b 45 0c             	mov    0xc(%ebp),%eax
49229b:	83 e0 01             	and    $0x1,%eax
49229e:	84 c0                	test   %al,%al
4922a0:	0f 84 86 00 00 00    	je     0x49232c
4922a6:	6a fd                	push   $0xfffffffd
4922a8:	6a fd                	push   $0xfffffffd
4922aa:	8d 45 ec             	lea    -0x14(%ebp),%eax
4922ad:	50                   	push   %eax
4922ae:	e8 d5 58 f7 ff       	call   0x407b88
4922b3:	b8 12 00 00 80       	mov    $0x80000012,%eax
4922b8:	e8 b3 6a ff ff       	call   0x488d70
4922bd:	8b f0                	mov    %eax,%esi
4922bf:	b8 12 00 00 80       	mov    $0x80000012,%eax
4922c4:	e8 e7 6a ff ff       	call   0x488db0
4922c9:	8b d8                	mov    %eax,%ebx
4922cb:	56                   	push   %esi
4922cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4922cf:	50                   	push   %eax
4922d0:	e8 2b 54 f7 ff       	call   0x407700
4922d5:	8b f8                	mov    %eax,%edi
4922d7:	53                   	push   %ebx
4922d8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4922db:	50                   	push   %eax
4922dc:	e8 1f 54 f7 ff       	call   0x407700
4922e1:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4922e4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4922e7:	2b 4d f0             	sub    -0x10(%ebp),%ecx
4922ea:	51                   	push   %ecx
4922eb:	8b 45 f4             	mov    -0xc(%ebp),%eax
4922ee:	8b c8                	mov    %eax,%ecx
4922f0:	8b 55 ec             	mov    -0x14(%ebp),%edx
4922f3:	2b ca                	sub    %edx,%ecx
4922f5:	51                   	push   %ecx
4922f6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4922f9:	51                   	push   %ecx
4922fa:	50                   	push   %eax
4922fb:	8b 45 f0             	mov    -0x10(%ebp),%eax
4922fe:	50                   	push   %eax
4922ff:	52                   	push   %edx
492300:	8b 45 fc             	mov    -0x4(%ebp),%eax
492303:	50                   	push   %eax