4052a6:	89 4e 10             	mov    %ecx,0x10(%esi)
4052a9:	72 04                	jb     0x4052af
4052ab:	8b 06                	mov    (%esi),%eax
4052ad:	eb 02                	jmp    0x4052b1
4052af:	8b c6                	mov    %esi,%eax
4052b1:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
4052b5:	eb 45                	jmp    0x4052fc
4052b7:	85 d2                	test   %edx,%edx
4052b9:	74 41                	je     0x4052fc
4052bb:	8b 46 14             	mov    0x14(%esi),%eax
4052be:	53                   	push   %ebx
4052bf:	83 f8 10             	cmp    $0x10,%eax
4052c2:	72 04                	jb     0x4052c8
4052c4:	8b 1e                	mov    (%esi),%ebx
4052c6:	eb 02                	jmp    0x4052ca
4052c8:	8b de                	mov    %esi,%ebx
4052ca:	2b fa                	sub    %edx,%edi
4052cc:	03 d9                	add    %ecx,%ebx
4052ce:	89 7d fc             	mov    %edi,-0x4(%ebp)
4052d1:	29 4d fc             	sub    %ecx,-0x4(%ebp)
4052d4:	74 13                	je     0x4052e9
4052d6:	ff 75 fc             	push   -0x4(%ebp)
4052d9:	8d 04 13             	lea    (%ebx,%edx,1),%eax
4052dc:	50                   	push   %eax
4052dd:	53                   	push   %ebx
4052de:	e8 49 94 00 00       	call   0x40e72c
4052e3:	8b 46 14             	mov    0x14(%esi),%eax
4052e6:	83 c4 0c             	add    $0xc,%esp
4052e9:	89 7e 10             	mov    %edi,0x10(%esi)
4052ec:	5b                   	pop    %ebx
4052ed:	83 f8 10             	cmp    $0x10,%eax
4052f0:	72 04                	jb     0x4052f6
4052f2:	8b 06                	mov    (%esi),%eax
4052f4:	eb 02                	jmp    0x4052f8
4052f6:	8b c6                	mov    %esi,%eax
4052f8:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
4052fc:	5f                   	pop    %edi
4052fd:	8b c6                	mov    %esi,%eax
4052ff:	5e                   	pop    %esi
405300:	c9                   	leave
405301:	c2 08 00             	ret    $0x8
405304:	8b ce                	mov    %esi,%ecx
405306:	e8 cd fc ff ff       	call   0x404fd8
40530b:	cc                   	int3
40530c:	8b ff                	mov    %edi,%edi
40530e:	55                   	push   %ebp
40530f:	8b ec                	mov    %esp,%ebp
405311:	8b 45 08             	mov    0x8(%ebp),%eax
405314:	39 41 10             	cmp    %eax,0x10(%ecx)
405317:	72 19                	jb     0x405332
405319:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
40531d:	89 41 10             	mov    %eax,0x10(%ecx)
405320:	72 04                	jb     0x405326
405322:	8b 11                	mov    (%ecx),%edx
405324:	eb 02                	jmp    0x405328
405326:	8b d1                	mov    %ecx,%edx
405328:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)
40532c:	8b c1                	mov    %ecx,%eax
40532e:	5d                   	pop    %ebp
40532f:	c2 04 00             	ret    $0x4
405332:	e8 a1 fc ff ff       	call   0x404fd8
405337:	cc                   	int3
405338:	8b ff                	mov    %edi,%edi
40533a:	55                   	push   %ebp
40533b:	8b ec                	mov    %esp,%ebp
40533d:	33 c0                	xor    %eax,%eax
40533f:	39 45 08             	cmp    %eax,0x8(%ebp)
405342:	74 0d                	je     0x405351
405344:	ff 75 08             	push   0x8(%ebp)
405347:	e8 7c 8b 00 00       	call   0x40dec8
40534c:	59                   	pop    %ecx
40534d:	85 c0                	test   %eax,%eax
40534f:	74 04                	je     0x405355
405351:	5d                   	pop    %ebp
405352:	c2 04 00             	ret    $0x4
405355:	e8 b7 8c 00 00       	call   0x40e011
40535a:	cc                   	int3
40535b:	8b ff                	mov    %edi,%edi
40535d:	55                   	push   %ebp
40535e:	8b ec                	mov    %esp,%ebp
405360:	8b 45 0c             	mov    0xc(%ebp),%eax
405363:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
405367:	72 02                	jb     0x40536b
405369:	8b 00                	mov    (%eax),%eax
40536b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40536e:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
405372:	72 02                	jb     0x405376
405374:	8b 09                	mov    (%ecx),%ecx
405376:	50                   	push   %eax
405377:	51                   	push   %ecx
405378:	ff 15 00 21 41 00    	call   *0x412100
40537e:	85 c0                	test   %eax,%eax
405380:	0f 9f c0             	setg   %al
405383:	5d                   	pop    %ebp
405384:	c2 08 00             	ret    $0x8
405387:	8b ff                	mov    %edi,%edi
405389:	55                   	push   %ebp
40538a:	8b ec                	mov    %esp,%ebp
40538c:	83 ec 28             	sub    $0x28,%esp
40538f:	a1 54 13 41 00       	mov    0x411354,%eax
405394:	33 c5                	xor    %ebp,%eax
405396:	89 45 f8             	mov    %eax,-0x8(%ebp)
405399:	8b 45 0c             	mov    0xc(%ebp),%eax
40539c:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
4053a0:	53                   	push   %ebx
4053a1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4053a4:	56                   	push   %esi
4053a5:	57                   	push   %edi
4053a6:	8b f9                	mov    %ecx,%edi
4053a8:	c7 45 f4 07 00 00 00 	movl   $0x7,-0xc(%ebp)
4053af:	8b 4d 10             	mov    0x10(%ebp),%ecx
4053b2:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4053b5:	33 c9                	xor    %ecx,%ecx
4053b7:	66 89 4d e0          	mov    %cx,-0x20(%ebp)
4053bb:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4053be:	50                   	push   %eax
4053bf:	e8 dd 10 00 00       	call   0x4064a1
4053c4:	8d 45 e0             	lea    -0x20(%ebp),%eax
4053c7:	50                   	push   %eax
4053c8:	8d 45 d8             	lea    -0x28(%ebp),%eax
4053cb:	50                   	push   %eax
4053cc:	8d 4f 08             	lea    0x8(%edi),%ecx
4053cf:	e8 62 0b 00 00       	call   0x405f36
4053d4:	8b 75 d8             	mov    -0x28(%ebp),%esi
4053d7:	3b 77 08             	cmp    0x8(%edi),%esi
4053da:	74 11                	je     0x4053ed
4053dc:	8d 46 10             	lea    0x10(%esi),%eax
4053df:	50                   	push   %eax
4053e0:	8d 45 e0             	lea    -0x20(%ebp),%eax
4053e3:	50                   	push   %eax
4053e4:	e8 72 ff ff ff       	call   0x40535b
4053e9:	84 c0                	test   %al,%al
4053eb:	74 03                	je     0x4053f0
4053ed:	8b 77 08             	mov    0x8(%edi),%esi
4053f0:	6a 00                	push   $0x0
4053f2:	6a 01                	push   $0x1
4053f4:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4053f7:	e8 f4 10 00 00       	call   0x4064f0
4053fc:	3b 77 08             	cmp    0x8(%edi),%esi
4053ff:	75 5d                	jne    0x40545e
405401:	8b 45 dc             	mov    -0x24(%ebp),%eax
405404:	85 c0                	test   %eax,%eax
405406:	74 56                	je     0x40545e
405408:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
40540c:	33 c9                	xor    %ecx,%ecx
40540e:	66 89 4d e0          	mov    %cx,-0x20(%ebp)
405412:	8d 4d e0             	lea    -0x20(%ebp),%ecx
405415:	50                   	push   %eax
405416:	c7 45 f4 07 00 00 00 	movl   $0x7,-0xc(%ebp)
40541d:	e8 7f 10 00 00       	call   0x4064a1
405422:	8d 45 e0             	lea    -0x20(%ebp),%eax
405425:	50                   	push   %eax
405426:	8d 45 dc             	lea    -0x24(%ebp),%eax
405429:	50                   	push   %eax
40542a:	8d 4f 08             	lea    0x8(%edi),%ecx
40542d:	e8 04 0b 00 00       	call   0x405f36
405432:	8b 75 dc             	mov    -0x24(%ebp),%esi
405435:	3b 77 08             	cmp    0x8(%edi),%esi
405438:	74 11                	je     0x40544b
40543a:	8d 46 10             	lea    0x10(%esi),%eax
40543d:	50                   	push   %eax
40543e:	8d 45 e0             	lea    -0x20(%ebp),%eax
405441:	50                   	push   %eax
405442:	e8 14 ff ff ff       	call   0x40535b
405447:	84 c0                	test   %al,%al
405449:	74 03                	je     0x40544e
40544b:	8b 77 08             	mov    0x8(%edi),%esi
40544e:	6a 00                	push   $0x0
405450:	6a 01                	push   $0x1
405452:	8d 4d e0             	lea    -0x20(%ebp),%ecx
405455:	89 33                	mov    %esi,(%ebx)
405457:	e8 94 10 00 00       	call   0x4064f0
40545c:	eb 02                	jmp    0x405460
40545e:	89 33                	mov    %esi,(%ebx)
405460:	8b 4d f8             	mov    -0x8(%ebp),%ecx
405463:	8b c3                	mov    %ebx,%eax
405465:	5f                   	pop    %edi
405466:	5e                   	pop    %esi
405467:	33 cd                	xor    %ebp,%ecx
405469:	5b                   	pop    %ebx
40546a:	e8 31 8f 00 00       	call   0x40e3a0
40546f:	c9                   	leave
405470:	c2 0c 00             	ret    $0xc
405473:	8b ff                	mov    %edi,%edi
405475:	55                   	push   %ebp
405476:	8b ec                	mov    %esp,%ebp
405478:	83 e4 f8             	and    $0xfffffff8,%esp
40547b:	51                   	push   %ecx
40547c:	56                   	push   %esi
40547d:	6a 00                	push   $0x0
40547f:	ff 75 08             	push   0x8(%ebp)
405482:	8d 44 24 0c          	lea    0xc(%esp),%eax
405486:	8b f1                	mov    %ecx,%esi
405488:	50                   	push   %eax
405489:	e8 f9 fe ff ff       	call   0x405387
40548e:	8b 00                	mov    (%eax),%eax
405490:	3b 46 08             	cmp    0x8(%esi),%eax
405493:	74 06                	je     0x40549b
405495:	80 78 28 00          	cmpb   $0x0,0x28(%eax)
405499:	74 24                	je     0x4054bf
40549b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40549f:	74 22                	je     0x4054c3
4054a1:	6a 00                	push   $0x0
4054a3:	ff 75 0c             	push   0xc(%ebp)
4054a6:	8d 44 24 0c          	lea    0xc(%esp),%eax
4054aa:	8b ce                	mov    %esi,%ecx
4054ac:	50                   	push   %eax
4054ad:	e8 d5 fe ff ff       	call   0x405387
4054b2:	8b 00                	mov    (%eax),%eax
4054b4:	3b 46 08             	cmp    0x8(%esi),%eax
4054b7:	74 0a                	je     0x4054c3
4054b9:	80 78 28 00          	cmpb   $0x0,0x28(%eax)
4054bd:	75 04                	jne    0x4054c3
4054bf:	b0 01                	mov    $0x1,%al
4054c1:	eb 02                	jmp    0x4054c5
4054c3:	32 c0                	xor    %al,%al
4054c5:	5e                   	pop    %esi
4054c6:	8b e5                	mov    %ebp,%esp
4054c8:	5d                   	pop    %ebp
4054c9:	c2 08 00             	ret    $0x8
4054cc:	8b ff                	mov    %edi,%edi
4054ce:	53                   	push   %ebx
4054cf:	56                   	push   %esi
4054d0:	33 db                	xor    %ebx,%ebx
4054d2:	8b f1                	mov    %ecx,%esi
4054d4:	53                   	push   %ebx
4054d5:	68 98 21 40 00       	push   $0x402198
4054da:	e8 94 ff ff ff       	call   0x405473
4054df:	84 c0                	test   %al,%al
4054e1:	75 15                	jne    0x4054f8
4054e3:	68 9c 21 40 00       	push   $0x40219c
4054e8:	68 a8 21 40 00       	push   $0x4021a8
4054ed:	8b ce                	mov    %esi,%ecx
4054ef:	e8 7f ff ff ff       	call   0x405473
4054f4:	84 c0                	test   %al,%al
4054f6:	74 02                	je     0x4054fa
4054f8:	b3 01                	mov    $0x1,%bl
4054fa:	5e                   	pop    %esi
4054fb:	8a c3                	mov    %bl,%al
4054fd:	5b                   	pop    %ebx
4054fe:	c3                   	ret
4054ff:	cc                   	int3
405500:	8b ff                	mov    %edi,%edi
405502:	55                   	push   %ebp
405503:	8b ec                	mov    %esp,%ebp
405505:	56                   	push   %esi
405506:	8b f1                	mov    %ecx,%esi
405508:	8d 4e 10             	lea    0x10(%esi),%ecx
40550b:	e8 97 09 00 00       	call   0x405ea7
405510:	8d 4e 08             	lea    0x8(%esi),%ecx
405513:	e8 d3 09 00 00       	call   0x405eeb
405518:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40551c:	c7 06 e0 15 40 00    	movl   $0x4015e0,(%esi)
405522:	74 08                	je     0x40552c
405524:	56                   	push   %esi
405525:	ff 15 e4 21 41 00    	call   *0x4121e4
40552b:	59                   	pop    %ecx
40552c:	8b c6                	mov    %esi,%eax
40552e:	5e                   	pop    %esi
40552f:	5d                   	pop    %ebp
405530:	c2 04 00             	ret    $0x4
405533:	8b ff                	mov    %edi,%edi
405535:	56                   	push   %esi
405536:	8b f1                	mov    %ecx,%esi
405538:	6a f5                	push   $0xfffffff5
40553a:	83 66 08 00          	andl   $0x0,0x8(%esi)
40553e:	c7 06 e0 15 40 00    	movl   $0x4015e0,(%esi)
405544:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
40554b:	c7 06 cc 15 40 00    	movl   $0x4015cc,(%esi)
405551:	ff 15 cc 20 41 00    	call   *0x4120cc
405557:	6a f4                	push   $0xfffffff4
405559:	89 46 10             	mov    %eax,0x10(%esi)
40555c:	ff 15 cc 20 41 00    	call   *0x4120cc
405562:	89 46 14             	mov    %eax,0x14(%esi)
405565:	8b c6                	mov    %esi,%eax
405567:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
40556b:	5e                   	pop    %esi
40556c:	c3                   	ret
40556d:	cc                   	int3
40556e:	cc                   	int3
40556f:	cc                   	int3
405570:	8b ff                	mov    %edi,%edi
405572:	55                   	push   %ebp
405573:	8b ec                	mov    %esp,%ebp
405575:	56                   	push   %esi
405576:	8b f1                	mov    %ecx,%esi
405578:	e8 15 00 00 00       	call   0x405592
40557d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405581:	74 08                	je     0x40558b
405583:	56                   	push   %esi
405584:	ff 15 e4 21 41 00    	call   *0x4121e4
40558a:	59                   	pop    %ecx
40558b:	8b c6                	mov    %esi,%eax
40558d:	5e                   	pop    %esi
40558e:	5d                   	pop    %ebp
40558f:	c2 04 00             	ret    $0x4
405592:	8b ff                	mov    %edi,%edi
405594:	56                   	push   %esi
405595:	8b f1                	mov    %ecx,%esi
405597:	8b 4e 08             	mov    0x8(%esi),%ecx
40559a:	85 c9                	test   %ecx,%ecx
40559c:	74 05                	je     0x4055a3
40559e:	e8 90 0b 00 00       	call   0x406133
4055a3:	83 66 08 00          	andl   $0x0,0x8(%esi)
4055a7:	c7 06 e0 15 40 00    	movl   $0x4015e0,(%esi)
4055ad:	5e                   	pop    %esi
4055ae:	c3                   	ret
4055af:	8b ff                	mov    %edi,%edi
4055b1:	56                   	push   %esi
4055b2:	8b f1                	mov    %ecx,%esi
4055b4:	e8 7a ff ff ff       	call   0x405533
4055b9:	c7 06 bc 15 40 00    	movl   $0x4015bc,(%esi)
4055bf:	33 d2                	xor    %edx,%edx
4055c1:	89 56 28             	mov    %edx,0x28(%esi)
4055c4:	33 c0                	xor    %eax,%eax
4055c6:	6a 07                	push   $0x7
4055c8:	59                   	pop    %ecx
4055c9:	89 4e 2c             	mov    %ecx,0x2c(%esi)
4055cc:	66 89 46 18          	mov    %ax,0x18(%esi)
4055d0:	89 4e 44             	mov    %ecx,0x44(%esi)
4055d3:	89 56 40             	mov    %edx,0x40(%esi)
4055d6:	66 89 46 30          	mov    %ax,0x30(%esi)
4055da:	8b c6                	mov    %esi,%eax
4055dc:	89 56 48             	mov    %edx,0x48(%esi)
4055df:	89 56 4c             	mov    %edx,0x4c(%esi)
4055e2:	89 56 50             	mov    %edx,0x50(%esi)
4055e5:	88 56 54             	mov    %dl,0x54(%esi)
4055e8:	5e                   	pop    %esi
4055e9:	c3                   	ret
4055ea:	cc                   	int3
4055eb:	cc                   	int3
4055ec:	cc                   	int3
4055ed:	cc                   	int3
4055ee:	cc                   	int3
4055ef:	cc                   	int3
4055f0:	8b ff                	mov    %edi,%edi
4055f2:	55                   	push   %ebp
4055f3:	8b ec                	mov    %esp,%ebp
4055f5:	56                   	push   %esi
4055f6:	8b f1                	mov    %ecx,%esi
4055f8:	e8 97 55 00 00       	call   0x40ab94
4055fd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
405601:	74 08                	je     0x40560b
405603:	56                   	push   %esi
405604:	ff 15 e4 21 41 00    	call   *0x4121e4
40560a:	59                   	pop    %ecx
40560b:	8b c6                	mov    %esi,%eax
40560d:	5e                   	pop    %esi
40560e:	5d                   	pop    %ebp
40560f:	c2 04 00             	ret    $0x4