4011a5:	ff 36                	push   (%esi)
4011a7:	e8 4c 3d 00 00       	call   0x404ef8
4011ac:	59                   	pop    %ecx
4011ad:	83 66 10 00          	andl   $0x0,0x10(%esi)
4011b1:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
4011b8:	c6 06 00             	movb   $0x0,(%esi)
4011bb:	5e                   	pop    %esi
4011bc:	c3                   	ret
4011bd:	55                   	push   %ebp
4011be:	8b ec                	mov    %esp,%ebp
4011c0:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4011c4:	56                   	push   %esi
4011c5:	57                   	push   %edi
4011c6:	8b 7d 0c             	mov    0xc(%ebp),%edi
4011c9:	8b f1                	mov    %ecx,%esi
4011cb:	74 20                	je     0x4011ed
4011cd:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4011d1:	72 1a                	jb     0x4011ed
4011d3:	53                   	push   %ebx
4011d4:	8b 1e                	mov    (%esi),%ebx
4011d6:	85 ff                	test   %edi,%edi
4011d8:	74 0b                	je     0x4011e5
4011da:	57                   	push   %edi
4011db:	53                   	push   %ebx
4011dc:	56                   	push   %esi
4011dd:	e8 be 44 00 00       	call   0x4056a0
4011e2:	83 c4 0c             	add    $0xc,%esp
4011e5:	53                   	push   %ebx
4011e6:	e8 0d 3d 00 00       	call   0x404ef8
4011eb:	59                   	pop    %ecx
4011ec:	5b                   	pop    %ebx
4011ed:	89 7e 10             	mov    %edi,0x10(%esi)
4011f0:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
4011f7:	c6 04 37 00          	movb   $0x0,(%edi,%esi,1)
4011fb:	5f                   	pop    %edi
4011fc:	5e                   	pop    %esi
4011fd:	5d                   	pop    %ebp
4011fe:	c2 08 00             	ret    $0x8
401201:	55                   	push   %ebp
401202:	8b ec                	mov    %esp,%ebp
401204:	53                   	push   %ebx
401205:	8b 5d 08             	mov    0x8(%ebp),%ebx
401208:	56                   	push   %esi
401209:	53                   	push   %ebx
40120a:	8b f1                	mov    %ecx,%esi
40120c:	e8 60 01 00 00       	call   0x401371
401211:	84 c0                	test   %al,%al
401213:	74 1c                	je     0x401231
401215:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
401219:	72 04                	jb     0x40121f
40121b:	8b 06                	mov    (%esi),%eax
40121d:	eb 02                	jmp    0x401221
40121f:	8b c6                	mov    %esi,%eax
401221:	ff 75 0c             	push   0xc(%ebp)
401224:	2b d8                	sub    %eax,%ebx
401226:	53                   	push   %ebx
401227:	56                   	push   %esi
401228:	8b ce                	mov    %esi,%ecx
40122a:	e8 4b 00 00 00       	call   0x40127a
40122f:	eb 43                	jmp    0x401274
401231:	57                   	push   %edi
401232:	8b 7d 0c             	mov    0xc(%ebp),%edi
401235:	6a 00                	push   $0x0
401237:	57                   	push   %edi
401238:	8b ce                	mov    %esi,%ecx
40123a:	e8 cf 00 00 00       	call   0x40130e
40123f:	84 c0                	test   %al,%al
401241:	74 2e                	je     0x401271
401243:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
401247:	72 04                	jb     0x40124d
401249:	8b 06                	mov    (%esi),%eax
40124b:	eb 02                	jmp    0x40124f
40124d:	8b c6                	mov    %esi,%eax
40124f:	85 ff                	test   %edi,%edi
401251:	74 0b                	je     0x40125e
401253:	57                   	push   %edi
401254:	53                   	push   %ebx
401255:	50                   	push   %eax
401256:	e8 45 44 00 00       	call   0x4056a0
40125b:	83 c4 0c             	add    $0xc,%esp
40125e:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
401262:	89 7e 10             	mov    %edi,0x10(%esi)
401265:	72 04                	jb     0x40126b
401267:	8b 06                	mov    (%esi),%eax
401269:	eb 02                	jmp    0x40126d
40126b:	8b c6                	mov    %esi,%eax
40126d:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
401271:	8b c6                	mov    %esi,%eax
401273:	5f                   	pop    %edi
401274:	5e                   	pop    %esi
401275:	5b                   	pop    %ebx
401276:	5d                   	pop    %ebp
401277:	c2 08 00             	ret    $0x8
40127a:	55                   	push   %ebp
40127b:	8b ec                	mov    %esp,%ebp
40127d:	8b 45 0c             	mov    0xc(%ebp),%eax
401280:	53                   	push   %ebx
401281:	8b 5d 08             	mov    0x8(%ebp),%ebx
401284:	56                   	push   %esi
401285:	57                   	push   %edi
401286:	8b 7b 10             	mov    0x10(%ebx),%edi
401289:	8b f1                	mov    %ecx,%esi
40128b:	3b f8                	cmp    %eax,%edi
40128d:	72 74                	jb     0x401303
40128f:	2b f8                	sub    %eax,%edi
401291:	39 7d 10             	cmp    %edi,0x10(%ebp)
401294:	0f 42 7d 10          	cmovb  0x10(%ebp),%edi
401298:	3b f3                	cmp    %ebx,%esi
40129a:	75 17                	jne    0x4012b3
40129c:	03 c7                	add    %edi,%eax
40129e:	50                   	push   %eax
40129f:	e8 08 01 00 00       	call   0x4013ac
4012a4:	8b 45 0c             	mov    0xc(%ebp),%eax
4012a7:	50                   	push   %eax
4012a8:	6a 00                	push   $0x0
4012aa:	8b ce                	mov    %esi,%ecx
4012ac:	e8 2a 01 00 00       	call   0x4013db
4012b1:	eb 47                	jmp    0x4012fa
4012b3:	6a 00                	push   $0x0
4012b5:	57                   	push   %edi
4012b6:	e8 53 00 00 00       	call   0x40130e
4012bb:	84 c0                	test   %al,%al
4012bd:	74 3b                	je     0x4012fa
4012bf:	83 7b 14 10          	cmpl   $0x10,0x14(%ebx)
4012c3:	72 02                	jb     0x4012c7
4012c5:	8b 1b                	mov    (%ebx),%ebx
4012c7:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4012cb:	72 04                	jb     0x4012d1
4012cd:	8b 0e                	mov    (%esi),%ecx
4012cf:	eb 02                	jmp    0x4012d3
4012d1:	8b ce                	mov    %esi,%ecx
4012d3:	85 ff                	test   %edi,%edi
4012d5:	74 10                	je     0x4012e7
4012d7:	8b 45 0c             	mov    0xc(%ebp),%eax
4012da:	57                   	push   %edi
4012db:	03 c3                	add    %ebx,%eax
4012dd:	50                   	push   %eax
4012de:	51                   	push   %ecx
4012df:	e8 bc 43 00 00       	call   0x4056a0
4012e4:	83 c4 0c             	add    $0xc,%esp
4012e7:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4012eb:	89 7e 10             	mov    %edi,0x10(%esi)
4012ee:	72 04                	jb     0x4012f4
4012f0:	8b 06                	mov    (%esi),%eax
4012f2:	eb 02                	jmp    0x4012f6
4012f4:	8b c6                	mov    %esi,%eax
4012f6:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
4012fa:	5f                   	pop    %edi
4012fb:	8b c6                	mov    %esi,%eax
4012fd:	5e                   	pop    %esi
4012fe:	5b                   	pop    %ebx
4012ff:	5d                   	pop    %ebp
401300:	c2 0c 00             	ret    $0xc
401303:	68 e0 d3 41 00       	push   $0x41d3e0
401308:	e8 7b 21 00 00       	call   0x403488
40130d:	cc                   	int3
40130e:	55                   	push   %ebp
40130f:	8b ec                	mov    %esp,%ebp
401311:	56                   	push   %esi
401312:	8b 75 08             	mov    0x8(%ebp),%esi
401315:	83 fe fe             	cmp    $0xfffffffe,%esi
401318:	77 4c                	ja     0x401366
40131a:	39 71 14             	cmp    %esi,0x14(%ecx)
40131d:	73 0b                	jae    0x40132a
40131f:	ff 71 10             	push   0x10(%ecx)
401322:	56                   	push   %esi
401323:	e8 35 01 00 00       	call   0x40145d
401328:	eb 2f                	jmp    0x401359
40132a:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40132e:	74 17                	je     0x401347
401330:	83 fe 10             	cmp    $0x10,%esi
401333:	73 12                	jae    0x401347
401335:	8b 41 10             	mov    0x10(%ecx),%eax
401338:	3b f0                	cmp    %eax,%esi
40133a:	0f 42 c6             	cmovb  %esi,%eax
40133d:	50                   	push   %eax
40133e:	6a 01                	push   $0x1
401340:	e8 78 fe ff ff       	call   0x4011bd
401345:	eb 12                	jmp    0x401359
401347:	85 f6                	test   %esi,%esi
401349:	75 0e                	jne    0x401359
40134b:	21 71 10             	and    %esi,0x10(%ecx)
40134e:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
401352:	72 02                	jb     0x401356
401354:	8b 09                	mov    (%ecx),%ecx
401356:	c6 01 00             	movb   $0x0,(%ecx)
401359:	33 c0                	xor    %eax,%eax
40135b:	3b c6                	cmp    %esi,%eax
40135d:	1b c0                	sbb    %eax,%eax
40135f:	f7 d8                	neg    %eax
401361:	5e                   	pop    %esi
401362:	5d                   	pop    %ebp
401363:	c2 08 00             	ret    $0x8
401366:	68 f8 d3 41 00       	push   $0x41d3f8
40136b:	e8 ea 20 00 00       	call   0x40345a
401370:	cc                   	int3
401371:	55                   	push   %ebp
401372:	8b ec                	mov    %esp,%ebp
401374:	8b 55 08             	mov    0x8(%ebp),%edx
401377:	85 d2                	test   %edx,%edx
401379:	74 2b                	je     0x4013a6
40137b:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
40137f:	72 04                	jb     0x401385
401381:	8b 01                	mov    (%ecx),%eax
401383:	eb 02                	jmp    0x401387
401385:	8b c1                	mov    %ecx,%eax
401387:	3b d0                	cmp    %eax,%edx
401389:	72 1b                	jb     0x4013a6
40138b:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
40138f:	56                   	push   %esi
401390:	72 04                	jb     0x401396
401392:	8b 31                	mov    (%ecx),%esi
401394:	eb 02                	jmp    0x401398
401396:	8b f1                	mov    %ecx,%esi
401398:	8b 41 10             	mov    0x10(%ecx),%eax
40139b:	03 c6                	add    %esi,%eax
40139d:	5e                   	pop    %esi
40139e:	3b c2                	cmp    %edx,%eax
4013a0:	76 04                	jbe    0x4013a6
4013a2:	b0 01                	mov    $0x1,%al
4013a4:	eb 02                	jmp    0x4013a8
4013a6:	32 c0                	xor    %al,%al
4013a8:	5d                   	pop    %ebp
4013a9:	c2 04 00             	ret    $0x4
4013ac:	55                   	push   %ebp
4013ad:	8b ec                	mov    %esp,%ebp
4013af:	8b 45 08             	mov    0x8(%ebp),%eax
4013b2:	39 41 10             	cmp    %eax,0x10(%ecx)
4013b5:	72 19                	jb     0x4013d0
4013b7:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4013bb:	89 41 10             	mov    %eax,0x10(%ecx)
4013be:	72 04                	jb     0x4013c4
4013c0:	8b 11                	mov    (%ecx),%edx
4013c2:	eb 02                	jmp    0x4013c6
4013c4:	8b d1                	mov    %ecx,%edx
4013c6:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)
4013ca:	8b c1                	mov    %ecx,%eax
4013cc:	5d                   	pop    %ebp
4013cd:	c2 04 00             	ret    $0x4
4013d0:	68 e0 d3 41 00       	push   $0x41d3e0
4013d5:	e8 ae 20 00 00       	call   0x403488
4013da:	cc                   	int3
4013db:	55                   	push   %ebp
4013dc:	8b ec                	mov    %esp,%ebp
4013de:	56                   	push   %esi
4013df:	8b f1                	mov    %ecx,%esi
4013e1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4013e4:	57                   	push   %edi
4013e5:	8b 7e 10             	mov    0x10(%esi),%edi
4013e8:	3b f9                	cmp    %ecx,%edi
4013ea:	72 66                	jb     0x401452
4013ec:	8b 55 0c             	mov    0xc(%ebp),%edx
4013ef:	8b c7                	mov    %edi,%eax
4013f1:	2b c1                	sub    %ecx,%eax
4013f3:	3b c2                	cmp    %edx,%eax
4013f5:	77 15                	ja     0x40140c
4013f7:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4013fb:	89 4e 10             	mov    %ecx,0x10(%esi)
4013fe:	72 04                	jb     0x401404
401400:	8b 06                	mov    (%esi),%eax
401402:	eb 02                	jmp    0x401406
401404:	8b c6                	mov    %esi,%eax
401406:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
40140a:	eb 3e                	jmp    0x40144a
40140c:	85 d2                	test   %edx,%edx
40140e:	74 3a                	je     0x40144a
401410:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
401414:	72 04                	jb     0x40141a
401416:	8b 06                	mov    (%esi),%eax
401418:	eb 02                	jmp    0x40141c
40141a:	8b c6                	mov    %esi,%eax
40141c:	2b fa                	sub    %edx,%edi
40141e:	53                   	push   %ebx
40141f:	8d 1c 08             	lea    (%eax,%ecx,1),%ebx
401422:	8b c7                	mov    %edi,%eax
401424:	2b c1                	sub    %ecx,%eax
401426:	74 0e                	je     0x401436
401428:	50                   	push   %eax
401429:	8d 04 13             	lea    (%ebx,%edx,1),%eax
40142c:	50                   	push   %eax
40142d:	53                   	push   %ebx
40142e:	e8 1d 33 00 00       	call   0x404750
401433:	83 c4 0c             	add    $0xc,%esp
401436:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
40143a:	89 7e 10             	mov    %edi,0x10(%esi)
40143d:	5b                   	pop    %ebx
40143e:	72 04                	jb     0x401444
401440:	8b 06                	mov    (%esi),%eax
401442:	eb 02                	jmp    0x401446
401444:	8b c6                	mov    %esi,%eax
401446:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
40144a:	5f                   	pop    %edi
40144b:	8b c6                	mov    %esi,%eax
40144d:	5e                   	pop    %esi
40144e:	5d                   	pop    %ebp
40144f:	c2 08 00             	ret    $0x8
401452:	68 e0 d3 41 00       	push   $0x41d3e0
401457:	e8 2c 20 00 00       	call   0x403488
40145c:	cc                   	int3
40145d:	6a 0c                	push   $0xc
40145f:	b8 38 7c 41 00       	mov    $0x417c38,%eax
401464:	e8 f9 49 00 00       	call   0x405e62
401469:	8b f1                	mov    %ecx,%esi
40146b:	89 75 e8             	mov    %esi,-0x18(%ebp)
40146e:	8b 7d 08             	mov    0x8(%ebp),%edi
401471:	83 cf 0f             	or     $0xf,%edi
401474:	83 ff fe             	cmp    $0xfffffffe,%edi
401477:	76 05                	jbe    0x40147e
401479:	8b 7d 08             	mov    0x8(%ebp),%edi
40147c:	eb 2a                	jmp    0x4014a8
40147e:	33 d2                	xor    %edx,%edx
401480:	8b c7                	mov    %edi,%eax
401482:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
401489:	f7 75 ec             	divl   -0x14(%ebp)
40148c:	8b 5e 14             	mov    0x14(%esi),%ebx
40148f:	8b cb                	mov    %ebx,%ecx
401491:	d1 e9                	shr    $1,%ecx
401493:	3b c8                	cmp    %eax,%ecx
401495:	76 11                	jbe    0x4014a8
401497:	6a fe                	push   $0xfffffffe
401499:	58                   	pop    %eax
40149a:	2b c1                	sub    %ecx,%eax
40149c:	3b d8                	cmp    %eax,%ebx
40149e:	77 05                	ja     0x4014a5
4014a0:	8d 3c 19             	lea    (%ecx,%ebx,1),%edi
4014a3:	eb 03                	jmp    0x4014a8
4014a5:	6a fe                	push   $0xfffffffe
4014a7:	5f                   	pop    %edi
4014a8:	33 db                	xor    %ebx,%ebx
4014aa:	8d 47 01             	lea    0x1(%edi),%eax
4014ad:	53                   	push   %ebx
4014ae:	50                   	push   %eax
4014af:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4014b2:	e8 af 00 00 00       	call   0x401566
4014b7:	59                   	pop    %ecx
4014b8:	59                   	pop    %ecx
4014b9:	8b c8                	mov    %eax,%ecx
4014bb:	89 45 ec             	mov    %eax,-0x14(%ebp)
4014be:	eb 2f                	jmp    0x4014ef
4014c0:	8b 45 08             	mov    0x8(%ebp),%eax
4014c3:	89 65 f0             	mov    %esp,-0x10(%ebp)
4014c6:	89 45 08             	mov    %eax,0x8(%ebp)
4014c9:	40                   	inc    %eax
4014ca:	6a 00                	push   $0x0
4014cc:	50                   	push   %eax
4014cd:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4014d1:	e8 90 00 00 00       	call   0x401566
4014d6:	59                   	pop    %ecx
4014d7:	89 45 ec             	mov    %eax,-0x14(%ebp)
4014da:	59                   	pop    %ecx