407200:	74 06                	je     0x407208
407202:	56                   	push   %esi
407203:	e8 c4 f5 ff ff       	call   0x4067cc
407208:	8b c7                	mov    %edi,%eax
40720a:	e8 21 ca 00 00       	call   0x413c30
40720f:	c3                   	ret
407210:	53                   	push   %ebx
407211:	8d 95 e4 fd ff ff    	lea    -0x21c(%ebp),%edx
407217:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
40721d:	e8 90 01 00 00       	call   0x4073b2
407222:	8b f8                	mov    %eax,%edi
407224:	85 ff                	test   %edi,%edi
407226:	79 b2                	jns    0x4071da
407228:	ba 2e 01 00 00       	mov    $0x12e,%edx
40722d:	57                   	push   %edi
40722e:	51                   	push   %ecx
40722f:	8b 4d 04             	mov    0x4(%ebp),%ecx
407232:	e8 0f f5 ff ff       	call   0x406746
407237:	eb a3                	jmp    0x4071dc
407239:	8b ff                	mov    %edi,%edi
40723b:	55                   	push   %ebp
40723c:	8b ec                	mov    %esp,%ebp
40723e:	51                   	push   %ecx
40723f:	53                   	push   %ebx
407240:	8b d9                	mov    %ecx,%ebx
407242:	e8 2d ed ff ff       	call   0x405f74
407247:	84 c0                	test   %al,%al
407249:	74 07                	je     0x407252
40724b:	ff 0b                	decl   (%ebx)
40724d:	e9 8a 00 00 00       	jmp    0x4072dc
407252:	56                   	push   %esi
407253:	57                   	push   %edi
407254:	83 ec 0c             	sub    $0xc,%esp
407257:	8d 45 fc             	lea    -0x4(%ebp),%eax
40725a:	8d 7b 04             	lea    0x4(%ebx),%edi
40725d:	8b cf                	mov    %edi,%ecx
40725f:	50                   	push   %eax
407260:	e8 ac 02 00 00       	call   0x407511
407265:	8b 03                	mov    (%ebx),%eax
407267:	83 e8 01             	sub    $0x1,%eax
40726a:	89 03                	mov    %eax,(%ebx)
40726c:	75 5f                	jne    0x4072cd
40726e:	33 f6                	xor    %esi,%esi
407270:	8d 4b 08             	lea    0x8(%ebx),%ecx
407273:	56                   	push   %esi
407274:	e8 39 fe ff ff       	call   0x4070b2
407279:	56                   	push   %esi
40727a:	8d 4b 0c             	lea    0xc(%ebx),%ecx
40727d:	e8 30 fe ff ff       	call   0x4070b2
407282:	39 75 fc             	cmp    %esi,-0x4(%ebp)
407285:	74 1a                	je     0x4072a1
407287:	ff 15 44 b1 41 00    	call   *0x41b144
40728d:	ff 75 fc             	push   -0x4(%ebp)
407290:	8b f8                	mov    %eax,%edi
407292:	e8 5a f5 ff ff       	call   0x4067f1
407297:	57                   	push   %edi
407298:	ff 15 2c b1 41 00    	call   *0x41b12c
40729e:	8d 7b 04             	lea    0x4(%ebx),%edi
4072a1:	8d 4b 18             	lea    0x18(%ebx),%ecx
4072a4:	e8 13 02 00 00       	call   0x4074bc
4072a9:	8d 4b 08             	lea    0x8(%ebx),%ecx
4072ac:	e8 b2 00 00 00       	call   0x407363
4072b1:	39 37                	cmp    %esi,(%edi)
4072b3:	74 07                	je     0x4072bc
4072b5:	ff 37                	push   (%edi)
4072b7:	e8 10 f5 ff ff       	call   0x4067cc
4072bc:	53                   	push   %ebx
4072bd:	56                   	push   %esi
4072be:	ff 15 68 b1 41 00    	call   *0x41b168
4072c4:	50                   	push   %eax
4072c5:	ff 15 28 b1 41 00    	call   *0x41b128
4072cb:	eb 03                	jmp    0x4072d0
4072cd:	8b 75 fc             	mov    -0x4(%ebp),%esi
4072d0:	85 f6                	test   %esi,%esi
4072d2:	74 06                	je     0x4072da
4072d4:	56                   	push   %esi
4072d5:	e8 17 f5 ff ff       	call   0x4067f1
4072da:	5f                   	pop    %edi
4072db:	5e                   	pop    %esi
4072dc:	5b                   	pop    %ebx
4072dd:	c9                   	leave
4072de:	c3                   	ret
4072df:	8b ff                	mov    %edi,%edi
4072e1:	55                   	push   %ebp
4072e2:	8b ec                	mov    %esp,%ebp
4072e4:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
4072e8:	56                   	push   %esi
4072e9:	57                   	push   %edi
4072ea:	8b 7d 0c             	mov    0xc(%ebp),%edi
4072ed:	8b f1                	mov    %ecx,%esi
4072ef:	74 21                	je     0x407312
4072f1:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4072f5:	72 1b                	jb     0x407312
4072f7:	53                   	push   %ebx
4072f8:	8b 1e                	mov    (%esi),%ebx
4072fa:	85 ff                	test   %edi,%edi
4072fc:	74 0b                	je     0x407309
4072fe:	57                   	push   %edi
4072ff:	53                   	push   %ebx
407300:	56                   	push   %esi
407301:	e8 d8 c9 00 00       	call   0x413cde
407306:	83 c4 0c             	add    $0xc,%esp
407309:	53                   	push   %ebx
40730a:	ff 15 cc b2 41 00    	call   *0x41b2cc
407310:	59                   	pop    %ecx
407311:	5b                   	pop    %ebx
407312:	89 7e 10             	mov    %edi,0x10(%esi)
407315:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
40731c:	c6 04 37 00          	movb   $0x0,(%edi,%esi,1)
407320:	5f                   	pop    %edi
407321:	5e                   	pop    %esi
407322:	5d                   	pop    %ebp
407323:	c2 08 00             	ret    $0x8
407326:	8b ff                	mov    %edi,%edi
407328:	55                   	push   %ebp
407329:	8b ec                	mov    %esp,%ebp
40732b:	6a ff                	push   $0xffffffff
40732d:	68 67 41 41 00       	push   $0x414167
407332:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407338:	50                   	push   %eax
407339:	a1 18 51 41 00       	mov    0x415118,%eax
40733e:	33 c5                	xor    %ebp,%eax
407340:	50                   	push   %eax
407341:	8d 45 f4             	lea    -0xc(%ebp),%eax
407344:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40734a:	83 39 00             	cmpl   $0x0,(%ecx)
40734d:	74 07                	je     0x407356
40734f:	ff 31                	push   (%ecx)
407351:	e8 76 f4 ff ff       	call   0x4067cc
407356:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407359:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407360:	59                   	pop    %ecx
407361:	c9                   	leave
407362:	c3                   	ret
407363:	8b ff                	mov    %edi,%edi
407365:	55                   	push   %ebp
407366:	8b ec                	mov    %esp,%ebp
407368:	6a ff                	push   $0xffffffff
40736a:	68 c0 41 41 00       	push   $0x4141c0
40736f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407375:	50                   	push   %eax
407376:	56                   	push   %esi
407377:	a1 18 51 41 00       	mov    0x415118,%eax
40737c:	33 c5                	xor    %ebp,%eax
40737e:	50                   	push   %eax
40737f:	8d 45 f4             	lea    -0xc(%ebp),%eax
407382:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
407388:	8b f1                	mov    %ecx,%esi
40738a:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
40738e:	74 08                	je     0x407398
407390:	ff 76 04             	push   0x4(%esi)
407393:	e8 34 f4 ff ff       	call   0x4067cc
407398:	83 3e 00             	cmpl   $0x0,(%esi)
40739b:	74 07                	je     0x4073a4
40739d:	ff 36                	push   (%esi)
40739f:	e8 28 f4 ff ff       	call   0x4067cc
4073a4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4073a7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4073ae:	59                   	pop    %ecx
4073af:	5e                   	pop    %esi
4073b0:	c9                   	leave
4073b1:	c3                   	ret
4073b2:	8b ff                	mov    %edi,%edi
4073b4:	55                   	push   %ebp
4073b5:	8b ec                	mov    %esp,%ebp
4073b7:	83 e4 f8             	and    $0xfffffff8,%esp
4073ba:	83 ec 14             	sub    $0x14,%esp
4073bd:	8b 45 08             	mov    0x8(%ebp),%eax
4073c0:	53                   	push   %ebx
4073c1:	56                   	push   %esi
4073c2:	57                   	push   %edi
4073c3:	6a 40                	push   $0x40
4073c5:	89 54 24 18          	mov    %edx,0x18(%esp)
4073c9:	8b f1                	mov    %ecx,%esi
4073cb:	5a                   	pop    %edx
4073cc:	6a 08                	push   $0x8
4073ce:	33 ff                	xor    %edi,%edi
4073d0:	59                   	pop    %ecx
4073d1:	89 38                	mov    %edi,(%eax)
4073d3:	e8 be e7 ff ff       	call   0x405b96
4073d8:	8b d8                	mov    %eax,%ebx
4073da:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4073de:	85 db                	test   %ebx,%ebx
4073e0:	75 19                	jne    0x4073fb
4073e2:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
4073e7:	ba 42 01 00 00       	mov    $0x142,%edx
4073ec:	57                   	push   %edi
4073ed:	51                   	push   %ecx
4073ee:	8b 4d 04             	mov    0x4(%ebp),%ecx
4073f1:	e8 50 f3 ff ff       	call   0x406746
4073f6:	e9 b0 00 00 00       	jmp    0x4074ab
4073fb:	89 7c 24 18          	mov    %edi,0x18(%esp)
4073ff:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
407403:	f6 c3 03             	test   $0x3,%bl
407406:	0f 85 aa 00 00 00    	jne    0x4074b6
40740c:	57                   	push   %edi
40740d:	c1 e8 02             	shr    $0x2,%eax
407410:	50                   	push   %eax
407411:	51                   	push   %ecx
407412:	56                   	push   %esi
407413:	8d 4c 24 28          	lea    0x28(%esp),%ecx
407417:	e8 96 f4 ff ff       	call   0x4068b2
40741c:	8b f8                	mov    %eax,%edi
40741e:	85 ff                	test   %edi,%edi
407420:	79 15                	jns    0x407437
407422:	57                   	push   %edi
407423:	51                   	push   %ecx
407424:	8b 4d 04             	mov    0x4(%ebp),%ecx
407427:	ba 45 01 00 00       	mov    $0x145,%edx
40742c:	e8 15 f3 ff ff       	call   0x406746
407431:	8b 74 24 10          	mov    0x10(%esp),%esi
407435:	eb 57                	jmp    0x40748e
407437:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40743b:	8d 7b 10             	lea    0x10(%ebx),%edi
40743e:	6a 30                	push   $0x30
407440:	33 d2                	xor    %edx,%edx
407442:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
407448:	5e                   	pop    %esi
407449:	8b 01                	mov    (%ecx),%eax
40744b:	89 43 04             	mov    %eax,0x4(%ebx)
40744e:	8b 44 24 18          	mov    0x18(%esp),%eax
407452:	56                   	push   %esi
407453:	89 11                	mov    %edx,(%ecx)
407455:	52                   	push   %edx
407456:	89 43 08             	mov    %eax,0x8(%ebx)
407459:	8b 44 24 24          	mov    0x24(%esp),%eax
40745d:	57                   	push   %edi
40745e:	89 54 24 24          	mov    %edx,0x24(%esp)
407462:	89 43 0c             	mov    %eax,0xc(%ebx)
407465:	89 54 24 28          	mov    %edx,0x28(%esp)
407469:	e8 f3 cc 00 00       	call   0x414161
40746e:	83 c4 0c             	add    $0xc,%esp
407471:	66 89 37             	mov    %si,(%edi)
407474:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
40747b:	33 c0                	xor    %eax,%eax
40747d:	83 c7 08             	add    $0x8,%edi
407480:	33 f6                	xor    %esi,%esi
407482:	6a 0a                	push   $0xa
407484:	59                   	pop    %ecx
407485:	f3 ab                	rep stos %eax,%es:(%edi)
407487:	8b 45 08             	mov    0x8(%ebp),%eax
40748a:	33 ff                	xor    %edi,%edi
40748c:	89 18                	mov    %ebx,(%eax)
40748e:	8d 4c 24 18          	lea    0x18(%esp),%ecx
407492:	e8 cc fe ff ff       	call   0x407363
407497:	85 f6                	test   %esi,%esi
407499:	74 10                	je     0x4074ab
40749b:	56                   	push   %esi
40749c:	6a 00                	push   $0x0
40749e:	ff 15 68 b1 41 00    	call   *0x41b168
4074a4:	50                   	push   %eax
4074a5:	ff 15 28 b1 41 00    	call   *0x41b128
4074ab:	8b c7                	mov    %edi,%eax
4074ad:	5f                   	pop    %edi
4074ae:	5e                   	pop    %esi
4074af:	5b                   	pop    %ebx
4074b0:	8b e5                	mov    %ebp,%esp
4074b2:	5d                   	pop    %ebp
4074b3:	c2 04 00             	ret    $0x4
4074b6:	e8 fc f2 ff ff       	call   0x4067b7
4074bb:	cc                   	int3
4074bc:	8b ff                	mov    %edi,%edi
4074be:	55                   	push   %ebp
4074bf:	8b ec                	mov    %esp,%ebp
4074c1:	51                   	push   %ecx
4074c2:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4074c5:	8d 41 28             	lea    0x28(%ecx),%eax
4074c8:	57                   	push   %edi
4074c9:	8b 7d fc             	mov    -0x4(%ebp),%edi
4074cc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4074cf:	3b f8                	cmp    %eax,%edi
4074d1:	74 3b                	je     0x40750e
4074d3:	53                   	push   %ebx
4074d4:	56                   	push   %esi
4074d5:	8b 1f                	mov    (%edi),%ebx
4074d7:	85 db                	test   %ebx,%ebx
4074d9:	74 24                	je     0x4074ff
4074db:	8b f3                	mov    %ebx,%esi
4074dd:	8b 5b 04             	mov    0x4(%ebx),%ebx
4074e0:	8d 4e 08             	lea    0x8(%esi),%ecx
4074e3:	e8 65 f7 ff ff       	call   0x406c4d
4074e8:	56                   	push   %esi
4074e9:	6a 00                	push   $0x0
4074eb:	ff 15 68 b1 41 00    	call   *0x41b168
4074f1:	50                   	push   %eax
4074f2:	ff 15 28 b1 41 00    	call   *0x41b128
4074f8:	85 db                	test   %ebx,%ebx
4074fa:	75 df                	jne    0x4074db
4074fc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4074ff:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
407505:	83 c7 04             	add    $0x4,%edi
407508:	3b f8                	cmp    %eax,%edi
40750a:	75 c9                	jne    0x4074d5
40750c:	5e                   	pop    %esi
40750d:	5b                   	pop    %ebx
40750e:	5f                   	pop    %edi
40750f:	c9                   	leave
407510:	c3                   	ret
407511:	8b ff                	mov    %edi,%edi
407513:	55                   	push   %ebp
407514:	8b ec                	mov    %esp,%ebp
407516:	56                   	push   %esi
407517:	57                   	push   %edi
407518:	8b 39                	mov    (%ecx),%edi
40751a:	33 f6                	xor    %esi,%esi
40751c:	56                   	push   %esi
40751d:	6a ff                	push   $0xffffffff
40751f:	57                   	push   %edi
407520:	ff 15 4c b1 41 00    	call   *0x41b14c
407526:	b9 80 00 00 00       	mov    $0x80,%ecx
40752b:	3d 02 01 00 00       	cmp    $0x102,%eax
407530:	74 08                	je     0x40753a
407532:	85 c0                	test   %eax,%eax
407534:	74 0c                	je     0x407542
407536:	3b c1                	cmp    %ecx,%eax
407538:	75 15                	jne    0x40754f
40753a:	85 c0                	test   %eax,%eax
40753c:	74 04                	je     0x407542
40753e:	3b c1                	cmp    %ecx,%eax
407540:	75 02                	jne    0x407544
407542:	8b f7                	mov    %edi,%esi
407544:	8b 45 08             	mov    0x8(%ebp),%eax
407547:	5f                   	pop    %edi
407548:	89 30                	mov    %esi,(%eax)
40754a:	5e                   	pop    %esi
40754b:	5d                   	pop    %ebp
40754c:	c2 10 00             	ret    $0x10
40754f:	51                   	push   %ecx
407550:	8b 4d 04             	mov    0x4(%ebp),%ecx
407553:	e8 39 f2 ff ff       	call   0x406791
407558:	cc                   	int3
407559:	68 ac 27 40 00       	push   $0x4027ac
40755e:	e8 af bf 00 00       	call   0x413512
407563:	cc                   	int3
407564:	8b ff                	mov    %edi,%edi
407566:	55                   	push   %ebp
407567:	8b ec                	mov    %esp,%ebp
407569:	53                   	push   %ebx
40756a:	8b 5d 08             	mov    0x8(%ebp),%ebx
40756d:	56                   	push   %esi
40756e:	53                   	push   %ebx
40756f:	8b f1                	mov    %ecx,%esi
407571:	e8 78 00 00 00       	call   0x4075ee
407576:	84 c0                	test   %al,%al
407578:	74 1c                	je     0x407596
40757a:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
40757e:	72 04                	jb     0x407584
407580:	8b 06                	mov    (%esi),%eax
407582:	eb 02                	jmp    0x407586
407584:	8b c6                	mov    %esi,%eax