40b005:	eb 10                	jmp    0x40b017
40b007:	be 05 40 00 80       	mov    $0x80004005,%esi
40b00c:	56                   	push   %esi
40b00d:	68 14 31 40 00       	push   $0x403114
40b012:	68 d4 00 00 00       	push   $0xd4
40b017:	68 78 30 40 00       	push   $0x403078
40b01c:	51                   	push   %ecx
40b01d:	e8 b0 5f 00 00       	call   0x410fd2
40b022:	33 ff                	xor    %edi,%edi
40b024:	39 7c 24 10          	cmp    %edi,0x10(%esp)
40b028:	76 27                	jbe    0x40b051
40b02a:	85 db                	test   %ebx,%ebx
40b02c:	74 1c                	je     0x40b04a
40b02e:	83 3c bb 00          	cmpl   $0x0,(%ebx,%edi,4)
40b032:	74 16                	je     0x40b04a
40b034:	ff 34 bb             	push   (%ebx,%edi,4)
40b037:	6a 00                	push   $0x0
40b039:	ff 15 e0 60 41 00    	call   *0x4160e0
40b03f:	50                   	push   %eax
40b040:	ff 15 e4 60 41 00    	call   *0x4160e4
40b046:	83 24 bb 00          	andl   $0x0,(%ebx,%edi,4)
40b04a:	47                   	inc    %edi
40b04b:	3b 7c 24 10          	cmp    0x10(%esp),%edi
40b04f:	72 d9                	jb     0x40b02a
40b051:	33 ff                	xor    %edi,%edi
40b053:	85 db                	test   %ebx,%ebx
40b055:	74 0f                	je     0x40b066
40b057:	53                   	push   %ebx
40b058:	57                   	push   %edi
40b059:	ff 15 e0 60 41 00    	call   *0x4160e0
40b05f:	50                   	push   %eax
40b060:	ff 15 e4 60 41 00    	call   *0x4160e4
40b066:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
40b06b:	74 0e                	je     0x40b07b
40b06d:	ff 74 24 18          	push   0x18(%esp)
40b071:	ff 15 04 62 41 00    	call   *0x416204
40b077:	89 7c 24 18          	mov    %edi,0x18(%esp)
40b07b:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
40b080:	74 0e                	je     0x40b090
40b082:	ff 74 24 1c          	push   0x1c(%esp)
40b086:	ff 15 04 62 41 00    	call   *0x416204
40b08c:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
40b090:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
40b095:	74 0e                	je     0x40b0a5
40b097:	ff 74 24 20          	push   0x20(%esp)
40b09b:	ff 15 04 62 41 00    	call   *0x416204
40b0a1:	89 7c 24 20          	mov    %edi,0x20(%esp)
40b0a5:	85 f6                	test   %esi,%esi
40b0a7:	79 17                	jns    0x40b0c0
40b0a9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40b0ac:	83 3b 00             	cmpl   $0x0,(%ebx)
40b0af:	74 0a                	je     0x40b0bb
40b0b1:	ff 33                	push   (%ebx)
40b0b3:	ff 15 8c 61 41 00    	call   *0x41618c
40b0b9:	89 3b                	mov    %edi,(%ebx)
40b0bb:	8b 45 10             	mov    0x10(%ebp),%eax
40b0be:	89 38                	mov    %edi,(%eax)
40b0c0:	57                   	push   %edi
40b0c1:	ff 15 b8 61 41 00    	call   *0x4161b8
40b0c7:	5f                   	pop    %edi
40b0c8:	8b c6                	mov    %esi,%eax
40b0ca:	5e                   	pop    %esi
40b0cb:	5b                   	pop    %ebx
40b0cc:	8b e5                	mov    %ebp,%esp
40b0ce:	5d                   	pop    %ebp
40b0cf:	c2 0c 00             	ret    $0xc
40b0d2:	8b ff                	mov    %edi,%edi
40b0d4:	55                   	push   %ebp
40b0d5:	8b ec                	mov    %esp,%ebp
40b0d7:	8b 45 0c             	mov    0xc(%ebp),%eax
40b0da:	56                   	push   %esi
40b0db:	33 f6                	xor    %esi,%esi
40b0dd:	85 c0                	test   %eax,%eax
40b0df:	74 07                	je     0x40b0e8
40b0e1:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
40b0e6:	76 05                	jbe    0x40b0ed
40b0e8:	be 57 00 07 80       	mov    $0x80070057,%esi
40b0ed:	85 f6                	test   %esi,%esi
40b0ef:	78 37                	js     0x40b128
40b0f1:	53                   	push   %ebx
40b0f2:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b0f5:	33 f6                	xor    %esi,%esi
40b0f7:	57                   	push   %edi
40b0f8:	8d 78 ff             	lea    -0x1(%eax),%edi
40b0fb:	8d 45 14             	lea    0x14(%ebp),%eax
40b0fe:	50                   	push   %eax
40b0ff:	ff 75 10             	push   0x10(%ebp)
40b102:	57                   	push   %edi
40b103:	53                   	push   %ebx
40b104:	ff 15 a8 62 41 00    	call   *0x4162a8
40b10a:	83 c4 10             	add    $0x10,%esp
40b10d:	85 c0                	test   %eax,%eax
40b10f:	78 08                	js     0x40b119
40b111:	3b c7                	cmp    %edi,%eax
40b113:	77 04                	ja     0x40b119
40b115:	75 0d                	jne    0x40b124
40b117:	eb 05                	jmp    0x40b11e
40b119:	be 7a 00 07 80       	mov    $0x8007007a,%esi
40b11e:	33 c0                	xor    %eax,%eax
40b120:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
40b124:	5f                   	pop    %edi
40b125:	5b                   	pop    %ebx
40b126:	eb 0c                	jmp    0x40b134
40b128:	85 c0                	test   %eax,%eax
40b12a:	74 08                	je     0x40b134
40b12c:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b12f:	33 c0                	xor    %eax,%eax
40b131:	66 89 01             	mov    %ax,(%ecx)
40b134:	8b c6                	mov    %esi,%eax
40b136:	5e                   	pop    %esi
40b137:	5d                   	pop    %ebp
40b138:	c3                   	ret
40b139:	8b ff                	mov    %edi,%edi
40b13b:	55                   	push   %ebp
40b13c:	8b ec                	mov    %esp,%ebp
40b13e:	8b 55 08             	mov    0x8(%ebp),%edx
40b141:	53                   	push   %ebx
40b142:	33 db                	xor    %ebx,%ebx
40b144:	85 c9                	test   %ecx,%ecx
40b146:	74 3a                	je     0x40b182
40b148:	56                   	push   %esi
40b149:	57                   	push   %edi
40b14a:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
40b14f:	8b f7                	mov    %edi,%esi
40b151:	66 39 19             	cmp    %bx,(%ecx)
40b154:	74 08                	je     0x40b15e
40b156:	83 c1 02             	add    $0x2,%ecx
40b159:	83 ee 01             	sub    $0x1,%esi
40b15c:	75 f3                	jne    0x40b151
40b15e:	8b c6                	mov    %esi,%eax
40b160:	f7 d8                	neg    %eax
40b162:	1b c0                	sbb    %eax,%eax
40b164:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
40b169:	05 57 00 07 80       	add    $0x80070057,%eax
40b16e:	85 d2                	test   %edx,%edx
40b170:	74 0c                	je     0x40b17e
40b172:	85 f6                	test   %esi,%esi
40b174:	74 06                	je     0x40b17c
40b176:	2b fe                	sub    %esi,%edi
40b178:	89 3a                	mov    %edi,(%edx)
40b17a:	eb 02                	jmp    0x40b17e
40b17c:	89 1a                	mov    %ebx,(%edx)
40b17e:	5f                   	pop    %edi
40b17f:	5e                   	pop    %esi
40b180:	eb 05                	jmp    0x40b187
40b182:	b8 57 00 07 80       	mov    $0x80070057,%eax
40b187:	85 c0                	test   %eax,%eax
40b189:	79 06                	jns    0x40b191
40b18b:	85 d2                	test   %edx,%edx
40b18d:	74 02                	je     0x40b191
40b18f:	89 1a                	mov    %ebx,(%edx)
40b191:	5b                   	pop    %ebx
40b192:	5d                   	pop    %ebp
40b193:	c2 04 00             	ret    $0x4
40b196:	8b ff                	mov    %edi,%edi
40b198:	55                   	push   %ebp
40b199:	8b ec                	mov    %esp,%ebp
40b19b:	83 e4 f8             	and    $0xfffffff8,%esp
40b19e:	83 ec 0c             	sub    $0xc,%esp
40b1a1:	53                   	push   %ebx
40b1a2:	56                   	push   %esi
40b1a3:	57                   	push   %edi
40b1a4:	bb 08 02 00 00       	mov    $0x208,%ebx
40b1a9:	89 54 24 14          	mov    %edx,0x14(%esp)
40b1ad:	53                   	push   %ebx
40b1ae:	6a 08                	push   $0x8
40b1b0:	89 4c 24 18          	mov    %ecx,0x18(%esp)
40b1b4:	33 f6                	xor    %esi,%esi
40b1b6:	ff 15 e0 60 41 00    	call   *0x4160e0
40b1bc:	50                   	push   %eax
40b1bd:	ff 15 dc 60 41 00    	call   *0x4160dc
40b1c3:	8b f8                	mov    %eax,%edi
40b1c5:	85 ff                	test   %edi,%edi
40b1c7:	75 1f                	jne    0x40b1e8
40b1c9:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40b1ce:	50                   	push   %eax
40b1cf:	68 a4 31 40 00       	push   $0x4031a4
40b1d4:	6a 18                	push   $0x18
40b1d6:	68 c8 31 40 00       	push   $0x4031c8
40b1db:	51                   	push   %ecx
40b1dc:	8b f0                	mov    %eax,%esi
40b1de:	e8 ef 5d 00 00       	call   0x410fd2
40b1e3:	e9 31 01 00 00       	jmp    0x40b319
40b1e8:	53                   	push   %ebx
40b1e9:	6a 08                	push   $0x8
40b1eb:	ff 15 e0 60 41 00    	call   *0x4160e0
40b1f1:	50                   	push   %eax
40b1f2:	ff 15 dc 60 41 00    	call   *0x4160dc
40b1f8:	8b d8                	mov    %eax,%ebx
40b1fa:	85 db                	test   %ebx,%ebx
40b1fc:	75 14                	jne    0x40b212
40b1fe:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40b203:	50                   	push   %eax
40b204:	68 a4 31 40 00       	push   $0x4031a4
40b209:	8b f0                	mov    %eax,%esi
40b20b:	6a 19                	push   $0x19
40b20d:	e9 d8 00 00 00       	jmp    0x40b2ea
40b212:	6a 01                	push   $0x1
40b214:	6a 25                	push   $0x25
40b216:	53                   	push   %ebx
40b217:	6a 00                	push   $0x0
40b219:	ff 15 c8 61 41 00    	call   *0x4161c8
40b21f:	85 c0                	test   %eax,%eax
40b221:	75 1d                	jne    0x40b240
40b223:	50                   	push   %eax
40b224:	68 a4 31 40 00       	push   $0x4031a4
40b229:	6a 1e                	push   $0x1e
40b22b:	68 c8 31 40 00       	push   $0x4031c8
40b230:	51                   	push   %ecx
40b231:	e8 9c 5d 00 00       	call   0x410fd2
40b236:	be 05 40 00 80       	mov    $0x80004005,%esi
40b23b:	e9 b5 00 00 00       	jmp    0x40b2f5
40b240:	39 74 24 14          	cmp    %esi,0x14(%esp)
40b244:	75 39                	jne    0x40b27f
40b246:	39 74 24 10          	cmp    %esi,0x10(%esp)
40b24a:	75 12                	jne    0x40b25e
40b24c:	be ff ff 00 80       	mov    $0x8000ffff,%esi
40b251:	56                   	push   %esi
40b252:	68 a4 31 40 00       	push   $0x4031a4
40b257:	6a 31                	push   $0x31
40b259:	e9 8c 00 00 00       	jmp    0x40b2ea
40b25e:	68 28 32 40 00       	push   $0x403228
40b263:	ba 04 01 00 00       	mov    $0x104,%edx
40b268:	8b cf                	mov    %edi,%ecx
40b26a:	e8 51 e7 ff ff       	call   0x4099c0
40b26f:	8b f0                	mov    %eax,%esi
40b271:	85 f6                	test   %esi,%esi
40b273:	79 50                	jns    0x40b2c5
40b275:	56                   	push   %esi
40b276:	68 a4 31 40 00       	push   $0x4031a4
40b27b:	6a 37                	push   $0x37
40b27d:	eb 6b                	jmp    0x40b2ea
40b27f:	39 75 08             	cmp    %esi,0x8(%ebp)
40b282:	75 41                	jne    0x40b2c5
40b284:	ba 04 01 00 00       	mov    $0x104,%edx
40b289:	8b cf                	mov    %edi,%ecx
40b28b:	39 74 24 10          	cmp    %esi,0x10(%esp)
40b28f:	74 1a                	je     0x40b2ab
40b291:	68 60 32 40 00       	push   $0x403260
40b296:	e8 25 e7 ff ff       	call   0x4099c0
40b29b:	8b f0                	mov    %eax,%esi
40b29d:	85 f6                	test   %esi,%esi
40b29f:	79 24                	jns    0x40b2c5
40b2a1:	56                   	push   %esi
40b2a2:	68 a4 31 40 00       	push   $0x4031a4
40b2a7:	6a 50                	push   $0x50
40b2a9:	eb 3f                	jmp    0x40b2ea
40b2ab:	68 74 32 40 00       	push   $0x403274
40b2b0:	e8 0b e7 ff ff       	call   0x4099c0
40b2b5:	8b f0                	mov    %eax,%esi
40b2b7:	85 f6                	test   %esi,%esi
40b2b9:	79 0a                	jns    0x40b2c5
40b2bb:	56                   	push   %esi
40b2bc:	68 a4 31 40 00       	push   $0x4031a4
40b2c1:	6a 57                	push   $0x57
40b2c3:	eb 25                	jmp    0x40b2ea
40b2c5:	6a 01                	push   $0x1
40b2c7:	53                   	push   %ebx
40b2c8:	57                   	push   %edi
40b2c9:	68 44 34 40 00       	push   $0x403444
40b2ce:	6a 00                	push   $0x0
40b2d0:	6a 00                	push   $0x0
40b2d2:	ff 15 c4 61 41 00    	call   *0x4161c4
40b2d8:	83 f8 20             	cmp    $0x20,%eax
40b2db:	7f 18                	jg     0x40b2f5
40b2dd:	be 05 40 00 80       	mov    $0x80004005,%esi
40b2e2:	56                   	push   %esi
40b2e3:	68 a4 31 40 00       	push   $0x4031a4
40b2e8:	6a 70                	push   $0x70
40b2ea:	68 c8 31 40 00       	push   $0x4031c8
40b2ef:	51                   	push   %ecx
40b2f0:	e8 dd 5c 00 00       	call   0x410fd2
40b2f5:	57                   	push   %edi
40b2f6:	6a 00                	push   $0x0
40b2f8:	ff 15 e0 60 41 00    	call   *0x4160e0
40b2fe:	50                   	push   %eax
40b2ff:	ff 15 e4 60 41 00    	call   *0x4160e4
40b305:	85 db                	test   %ebx,%ebx
40b307:	74 10                	je     0x40b319
40b309:	53                   	push   %ebx
40b30a:	6a 00                	push   $0x0
40b30c:	ff 15 e0 60 41 00    	call   *0x4160e0
40b312:	50                   	push   %eax
40b313:	ff 15 e4 60 41 00    	call   *0x4160e4
40b319:	5f                   	pop    %edi
40b31a:	8b c6                	mov    %esi,%eax
40b31c:	5e                   	pop    %esi
40b31d:	5b                   	pop    %ebx
40b31e:	8b e5                	mov    %ebp,%esp
40b320:	5d                   	pop    %ebp
40b321:	c2 04 00             	ret    $0x4
40b324:	8b ff                	mov    %edi,%edi
40b326:	53                   	push   %ebx
40b327:	56                   	push   %esi
40b328:	be 08 02 00 00       	mov    $0x208,%esi
40b32d:	56                   	push   %esi
40b32e:	6a 08                	push   $0x8
40b330:	ff 15 e0 60 41 00    	call   *0x4160e0
40b336:	50                   	push   %eax
40b337:	ff 15 dc 60 41 00    	call   *0x4160dc
40b33d:	8b d8                	mov    %eax,%ebx
40b33f:	85 db                	test   %ebx,%ebx
40b341:	75 22                	jne    0x40b365
40b343:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40b348:	50                   	push   %eax
40b349:	68 90 32 40 00       	push   $0x403290
40b34e:	68 8b 00 00 00       	push   $0x8b
40b353:	68 c8 31 40 00       	push   $0x4031c8
40b358:	51                   	push   %ecx
40b359:	8b f0                	mov    %eax,%esi
40b35b:	e8 72 5c 00 00       	call   0x410fd2
40b360:	e9 d5 00 00 00       	jmp    0x40b43a
40b365:	57                   	push   %edi
40b366:	56                   	push   %esi
40b367:	6a 08                	push   $0x8
40b369:	ff 15 e0 60 41 00    	call   *0x4160e0
40b36f:	50                   	push   %eax
40b370:	ff 15 dc 60 41 00    	call   *0x4160dc
40b376:	8b f8                	mov    %eax,%edi
40b378:	85 ff                	test   %edi,%edi
40b37a:	75 14                	jne    0x40b390
40b37c:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
40b381:	50                   	push   %eax
40b382:	68 90 32 40 00       	push   $0x403290
40b387:	8b f0                	mov    %eax,%esi
40b389:	68 8c 00 00 00       	push   $0x8c
40b38e:	eb 7a                	jmp    0x40b40a
40b390:	6a 01                	push   $0x1
40b392:	6a 25                	push   $0x25
40b394:	57                   	push   %edi
40b395:	6a 00                	push   $0x0
40b397:	ff 15 c8 61 41 00    	call   *0x4161c8
40b39d:	85 c0                	test   %eax,%eax
40b39f:	75 1d                	jne    0x40b3be
40b3a1:	50                   	push   %eax
40b3a2:	68 90 32 40 00       	push   $0x403290
40b3a7:	68 91 00 00 00       	push   $0x91
40b3ac:	68 c8 31 40 00       	push   $0x4031c8
40b3b1:	51                   	push   %ecx
40b3b2:	e8 1b 5c 00 00       	call   0x410fd2
40b3b7:	be 05 40 00 80       	mov    $0x80004005,%esi
40b3bc:	eb 57                	jmp    0x40b415
40b3be:	68 c0 32 40 00       	push   $0x4032c0
40b3c3:	ba 04 01 00 00       	mov    $0x104,%edx
40b3c8:	8b cb                	mov    %ebx,%ecx
40b3ca:	e8 f1 e5 ff ff       	call   0x4099c0
40b3cf:	8b f0                	mov    %eax,%esi
40b3d1:	85 f6                	test   %esi,%esi
40b3d3:	79 0d                	jns    0x40b3e2
40b3d5:	56                   	push   %esi