401195:	89 5c 24 10          	mov    %ebx,0x10(%esp)
401199:	b8 0f 00 00 00       	mov    $0xf,%eax
40119e:	89 46 1c             	mov    %eax,0x1c(%esi)
4011a1:	89 5e 18             	mov    %ebx,0x18(%esi)
4011a4:	88 5e 08             	mov    %bl,0x8(%esi)
4011a7:	89 46 38             	mov    %eax,0x38(%esi)
4011aa:	89 5e 34             	mov    %ebx,0x34(%esi)
4011ad:	88 5e 24             	mov    %bl,0x24(%esi)
4011b0:	89 46 54             	mov    %eax,0x54(%esi)
4011b3:	89 5e 50             	mov    %ebx,0x50(%esi)
4011b6:	88 5e 40             	mov    %bl,0x40(%esi)
4011b9:	89 46 70             	mov    %eax,0x70(%esi)
4011bc:	89 5e 6c             	mov    %ebx,0x6c(%esi)
4011bf:	88 5e 5c             	mov    %bl,0x5c(%esi)
4011c2:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4011c6:	50                   	push   %eax
4011c7:	56                   	push   %esi
4011c8:	c6 44 24 18 04       	movb   $0x4,0x18(%esp)
4011cd:	e8 86 34 00 00       	call   0x404658
4011d2:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4011d6:	83 c4 08             	add    $0x8,%esp
4011d9:	8b c6                	mov    %esi,%eax
4011db:	5e                   	pop    %esi
4011dc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4011e3:	5b                   	pop    %ebx
4011e4:	83 c4 0c             	add    $0xc,%esp
4011e7:	c2 08 00             	ret    $0x8
4011ea:	cc                   	int3
4011eb:	cc                   	int3
4011ec:	cc                   	int3
4011ed:	cc                   	int3
4011ee:	cc                   	int3
4011ef:	cc                   	int3
4011f0:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4011f6:	6a ff                	push   $0xffffffff
4011f8:	68 b4 97 41 00       	push   $0x4197b4
4011fd:	50                   	push   %eax
4011fe:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
401205:	53                   	push   %ebx
401206:	55                   	push   %ebp
401207:	56                   	push   %esi
401208:	8b 74 24 1c          	mov    0x1c(%esp),%esi
40120c:	57                   	push   %edi
40120d:	56                   	push   %esi
40120e:	c7 44 24 1c 04 00 00 	movl   $0x4,0x1c(%esp)
401215:	00
401216:	e8 d4 32 00 00       	call   0x4044ef
40121b:	bd 10 00 00 00       	mov    $0x10,%ebp
401220:	83 c4 04             	add    $0x4,%esp
401223:	39 6e 70             	cmp    %ebp,0x70(%esi)
401226:	72 0c                	jb     0x401234
401228:	8b 46 5c             	mov    0x5c(%esi),%eax
40122b:	50                   	push   %eax
40122c:	e8 05 41 00 00       	call   0x405336
401231:	83 c4 04             	add    $0x4,%esp
401234:	33 db                	xor    %ebx,%ebx
401236:	bf 0f 00 00 00       	mov    $0xf,%edi
40123b:	89 7e 70             	mov    %edi,0x70(%esi)
40123e:	89 5e 6c             	mov    %ebx,0x6c(%esi)
401241:	88 5e 5c             	mov    %bl,0x5c(%esi)
401244:	39 6e 54             	cmp    %ebp,0x54(%esi)
401247:	72 0c                	jb     0x401255
401249:	8b 46 40             	mov    0x40(%esi),%eax
40124c:	50                   	push   %eax
40124d:	e8 e4 40 00 00       	call   0x405336
401252:	83 c4 04             	add    $0x4,%esp
401255:	89 7e 54             	mov    %edi,0x54(%esi)
401258:	89 5e 50             	mov    %ebx,0x50(%esi)
40125b:	88 5e 40             	mov    %bl,0x40(%esi)
40125e:	39 6e 38             	cmp    %ebp,0x38(%esi)
401261:	72 0c                	jb     0x40126f
401263:	8b 46 24             	mov    0x24(%esi),%eax
401266:	50                   	push   %eax
401267:	e8 ca 40 00 00       	call   0x405336
40126c:	83 c4 04             	add    $0x4,%esp
40126f:	89 7e 38             	mov    %edi,0x38(%esi)
401272:	89 5e 34             	mov    %ebx,0x34(%esi)
401275:	88 5e 24             	mov    %bl,0x24(%esi)
401278:	39 6e 1c             	cmp    %ebp,0x1c(%esi)
40127b:	72 0c                	jb     0x401289
40127d:	8b 46 08             	mov    0x8(%esi),%eax
401280:	50                   	push   %eax
401281:	e8 b0 40 00 00       	call   0x405336
401286:	83 c4 04             	add    $0x4,%esp
401289:	89 7e 1c             	mov    %edi,0x1c(%esi)
40128c:	89 5e 18             	mov    %ebx,0x18(%esi)
40128f:	8b ce                	mov    %esi,%ecx
401291:	88 5e 08             	mov    %bl,0x8(%esi)
401294:	c7 44 24 18 ff ff ff 	movl   $0xffffffff,0x18(%esp)
40129b:	ff
40129c:	e8 95 34 00 00       	call   0x404736
4012a1:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4012a5:	5f                   	pop    %edi
4012a6:	5e                   	pop    %esi
4012a7:	5d                   	pop    %ebp
4012a8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4012af:	5b                   	pop    %ebx
4012b0:	83 c4 0c             	add    $0xc,%esp
4012b3:	c2 04 00             	ret    $0x4
4012b6:	cc                   	int3
4012b7:	cc                   	int3
4012b8:	cc                   	int3
4012b9:	cc                   	int3
4012ba:	cc                   	int3
4012bb:	cc                   	int3
4012bc:	cc                   	int3
4012bd:	cc                   	int3
4012be:	cc                   	int3
4012bf:	cc                   	int3
4012c0:	6a ff                	push   $0xffffffff
4012c2:	68 38 98 41 00       	push   $0x419838
4012c7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4012cd:	50                   	push   %eax
4012ce:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4012d5:	51                   	push   %ecx
4012d6:	56                   	push   %esi
4012d7:	57                   	push   %edi
4012d8:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4012dc:	8b f1                	mov    %ecx,%esi
4012de:	57                   	push   %edi
4012df:	89 74 24 0c          	mov    %esi,0xc(%esp)
4012e3:	e8 2a 3c 00 00       	call   0x404f12
4012e8:	33 d2                	xor    %edx,%edx
4012ea:	89 54 24 14          	mov    %edx,0x14(%esp)
4012ee:	6a ff                	push   $0xffffffff
4012f0:	8d 4e 0c             	lea    0xc(%esi),%ecx
4012f3:	c7 06 f4 8a 42 00    	movl   $0x428af4,(%esi)
4012f9:	8d 47 0c             	lea    0xc(%edi),%eax
4012fc:	52                   	push   %edx
4012fd:	c7 41 18 0f 00 00 00 	movl   $0xf,0x18(%ecx)
401304:	89 51 14             	mov    %edx,0x14(%ecx)
401307:	50                   	push   %eax
401308:	88 51 04             	mov    %dl,0x4(%ecx)
40130b:	e8 20 1e 00 00       	call   0x403130
401310:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
401314:	5f                   	pop    %edi
401315:	8b c6                	mov    %esi,%eax
401317:	5e                   	pop    %esi
401318:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40131f:	83 c4 10             	add    $0x10,%esp
401322:	c2 04 00             	ret    $0x4
401325:	cc                   	int3
401326:	cc                   	int3
401327:	cc                   	int3
401328:	cc                   	int3
401329:	cc                   	int3
40132a:	cc                   	int3
40132b:	cc                   	int3
40132c:	cc                   	int3
40132d:	cc                   	int3
40132e:	cc                   	int3
40132f:	cc                   	int3
401330:	51                   	push   %ecx
401331:	56                   	push   %esi
401332:	8b f1                	mov    %ecx,%esi
401334:	6a 00                	push   $0x0
401336:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40133a:	e8 cf 33 00 00       	call   0x40470e
40133f:	8b 46 04             	mov    0x4(%esi),%eax
401342:	83 f8 ff             	cmp    $0xffffffff,%eax
401345:	73 04                	jae    0x40134b
401347:	40                   	inc    %eax
401348:	89 46 04             	mov    %eax,0x4(%esi)
40134b:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40134f:	e8 e2 33 00 00       	call   0x404736
401354:	5e                   	pop    %esi
401355:	59                   	pop    %ecx
401356:	c3                   	ret
401357:	cc                   	int3
401358:	cc                   	int3
401359:	cc                   	int3
40135a:	cc                   	int3
40135b:	cc                   	int3
40135c:	cc                   	int3
40135d:	cc                   	int3
40135e:	cc                   	int3
40135f:	cc                   	int3
401360:	51                   	push   %ecx
401361:	56                   	push   %esi
401362:	57                   	push   %edi
401363:	8b f9                	mov    %ecx,%edi
401365:	6a 00                	push   $0x0
401367:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40136b:	e8 9e 33 00 00       	call   0x40470e
401370:	8b 47 04             	mov    0x4(%edi),%eax
401373:	85 c0                	test   %eax,%eax
401375:	76 09                	jbe    0x401380
401377:	83 f8 ff             	cmp    $0xffffffff,%eax
40137a:	73 04                	jae    0x401380
40137c:	48                   	dec    %eax
40137d:	89 47 04             	mov    %eax,0x4(%edi)
401380:	8b 77 04             	mov    0x4(%edi),%esi
401383:	f7 de                	neg    %esi
401385:	1b f6                	sbb    %esi,%esi
401387:	f7 d6                	not    %esi
401389:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40138d:	23 f7                	and    %edi,%esi
40138f:	e8 a2 33 00 00       	call   0x404736
401394:	5f                   	pop    %edi
401395:	8b c6                	mov    %esi,%eax
401397:	5e                   	pop    %esi
401398:	59                   	pop    %ecx
401399:	c3                   	ret
40139a:	cc                   	int3
40139b:	cc                   	int3
40139c:	cc                   	int3
40139d:	cc                   	int3
40139e:	cc                   	int3
40139f:	cc                   	int3
4013a0:	c7 01 14 a2 41 00    	movl   $0x41a214,(%ecx)
4013a6:	c3                   	ret
4013a7:	cc                   	int3
4013a8:	cc                   	int3
4013a9:	cc                   	int3
4013aa:	cc                   	int3
4013ab:	cc                   	int3
4013ac:	cc                   	int3
4013ad:	cc                   	int3
4013ae:	cc                   	int3
4013af:	cc                   	int3
4013b0:	51                   	push   %ecx
4013b1:	57                   	push   %edi
4013b2:	8b 39                	mov    (%ecx),%edi
4013b4:	85 ff                	test   %edi,%edi
4013b6:	74 3f                	je     0x4013f7
4013b8:	6a 00                	push   $0x0
4013ba:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4013be:	e8 4b 33 00 00       	call   0x40470e
4013c3:	8b 47 04             	mov    0x4(%edi),%eax
4013c6:	85 c0                	test   %eax,%eax
4013c8:	76 09                	jbe    0x4013d3
4013ca:	83 f8 ff             	cmp    $0xffffffff,%eax
4013cd:	73 04                	jae    0x4013d3
4013cf:	48                   	dec    %eax
4013d0:	89 47 04             	mov    %eax,0x4(%edi)
4013d3:	56                   	push   %esi
4013d4:	8b 77 04             	mov    0x4(%edi),%esi
4013d7:	f7 de                	neg    %esi
4013d9:	1b f6                	sbb    %esi,%esi
4013db:	f7 d6                	not    %esi
4013dd:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4013e1:	23 f7                	and    %edi,%esi
4013e3:	e8 4e 33 00 00       	call   0x404736
4013e8:	85 f6                	test   %esi,%esi
4013ea:	74 0a                	je     0x4013f6
4013ec:	8b 06                	mov    (%esi),%eax
4013ee:	8b 10                	mov    (%eax),%edx
4013f0:	6a 01                	push   $0x1
4013f2:	8b ce                	mov    %esi,%ecx
4013f4:	ff d2                	call   *%edx
4013f6:	5e                   	pop    %esi
4013f7:	5f                   	pop    %edi
4013f8:	59                   	pop    %ecx
4013f9:	c3                   	ret
4013fa:	cc                   	int3
4013fb:	cc                   	int3
4013fc:	cc                   	int3
4013fd:	cc                   	int3
4013fe:	cc                   	int3
4013ff:	cc                   	int3
401400:	51                   	push   %ecx
401401:	8b 00                	mov    (%eax),%eax
401403:	33 c9                	xor    %ecx,%ecx
401405:	6a ff                	push   $0xffffffff
401407:	89 4e 14             	mov    %ecx,0x14(%esi)
40140a:	51                   	push   %ecx
40140b:	83 c0 18             	add    $0x18,%eax
40140e:	c7 46 18 0f 00 00 00 	movl   $0xf,0x18(%esi)
401415:	89 4c 24 08          	mov    %ecx,0x8(%esp)
401419:	88 4e 04             	mov    %cl,0x4(%esi)
40141c:	50                   	push   %eax
40141d:	8b ce                	mov    %esi,%ecx
40141f:	e8 0c 1d 00 00       	call   0x403130
401424:	8b c6                	mov    %esi,%eax
401426:	59                   	pop    %ecx
401427:	c3                   	ret
401428:	cc                   	int3
401429:	cc                   	int3
40142a:	cc                   	int3
40142b:	cc                   	int3
40142c:	cc                   	int3
40142d:	cc                   	int3
40142e:	cc                   	int3
40142f:	cc                   	int3
401430:	f6 44 24 04 01       	testb  $0x1,0x4(%esp)
401435:	56                   	push   %esi
401436:	8b f1                	mov    %ecx,%esi
401438:	c7 06 14 a2 41 00    	movl   $0x41a214,(%esi)
40143e:	74 09                	je     0x401449
401440:	56                   	push   %esi
401441:	e8 f0 3e 00 00       	call   0x405336
401446:	83 c4 04             	add    $0x4,%esp
401449:	8b c6                	mov    %esi,%eax
40144b:	5e                   	pop    %esi
40144c:	c2 04 00             	ret    $0x4
40144f:	cc                   	int3
401450:	c7 00 14 a2 41 00    	movl   $0x41a214,(%eax)
401456:	c3                   	ret
401457:	cc                   	int3
401458:	cc                   	int3
401459:	cc                   	int3
40145a:	cc                   	int3
40145b:	cc                   	int3
40145c:	cc                   	int3
40145d:	cc                   	int3
40145e:	cc                   	int3
40145f:	cc                   	int3
401460:	6a ff                	push   $0xffffffff
401462:	68 38 98 41 00       	push   $0x419838
401467:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40146d:	50                   	push   %eax
40146e:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
401475:	51                   	push   %ecx
401476:	56                   	push   %esi
401477:	57                   	push   %edi
401478:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
40147c:	8b f1                	mov    %ecx,%esi
40147e:	57                   	push   %edi
40147f:	89 74 24 0c          	mov    %esi,0xc(%esp)
401483:	e8 8a 3a 00 00       	call   0x404f12
401488:	33 d2                	xor    %edx,%edx
40148a:	89 54 24 14          	mov    %edx,0x14(%esp)
40148e:	6a ff                	push   $0xffffffff
401490:	8d 4e 0c             	lea    0xc(%esi),%ecx
401493:	c7 06 2c a2 41 00    	movl   $0x41a22c,(%esi)
401499:	8d 47 0c             	lea    0xc(%edi),%eax
40149c:	52                   	push   %edx
40149d:	c7 41 18 0f 00 00 00 	movl   $0xf,0x18(%ecx)
4014a4:	89 51 14             	mov    %edx,0x14(%ecx)
4014a7:	50                   	push   %eax
4014a8:	88 51 04             	mov    %dl,0x4(%ecx)
4014ab:	e8 80 1c 00 00       	call   0x403130
4014b0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4014b4:	5f                   	pop    %edi
4014b5:	8b c6                	mov    %esi,%eax
4014b7:	5e                   	pop    %esi
4014b8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4014bf:	83 c4 10             	add    $0x10,%esp
4014c2:	c2 04 00             	ret    $0x4
4014c5:	cc                   	int3
4014c6:	cc                   	int3
4014c7:	cc                   	int3
4014c8:	cc                   	int3
4014c9:	cc                   	int3
4014ca:	cc                   	int3
4014cb:	cc                   	int3
4014cc:	cc                   	int3
4014cd:	cc                   	int3
4014ce:	cc                   	int3
4014cf:	cc                   	int3