405308:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40530f:	8b c2                	mov    %edx,%eax
405311:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
405317:	72 14                	jb     0x40532d
405319:	8b 50 fc             	mov    -0x4(%eax),%edx
40531c:	83 c1 23             	add    $0x23,%ecx
40531f:	2b c2                	sub    %edx,%eax
405321:	83 c0 fc             	add    $0xfffffffc,%eax
405324:	83 f8 1f             	cmp    $0x1f,%eax
405327:	0f 87 d1 00 00 00    	ja     0x4053fe
40532d:	51                   	push   %ecx
40532e:	52                   	push   %edx
40532f:	e8 da 65 01 00       	call   0x41b90e
405334:	83 c4 08             	add    $0x8,%esp
405337:	84 db                	test   %bl,%bl
405339:	74 62                	je     0x40539d
40533b:	8d 4f 4c             	lea    0x4c(%edi),%ecx
40533e:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
405344:	3b c8                	cmp    %eax,%ecx
405346:	74 53                	je     0x40539b
405348:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
40534f:	8b d0                	mov    %eax,%edx
405351:	8b b5 e0 fd ff ff    	mov    -0x220(%ebp),%esi
405357:	0f 43 95 d0 fd ff ff 	cmovae -0x230(%ebp),%edx
40535e:	8b 41 14             	mov    0x14(%ecx),%eax
405361:	3b f0                	cmp    %eax,%esi
405363:	77 22                	ja     0x405387
405365:	8b f9                	mov    %ecx,%edi
405367:	83 f8 08             	cmp    $0x8,%eax
40536a:	72 02                	jb     0x40536e
40536c:	8b 39                	mov    (%ecx),%edi
40536e:	8d 04 36             	lea    (%esi,%esi,1),%eax
405371:	89 71 10             	mov    %esi,0x10(%ecx)
405374:	50                   	push   %eax
405375:	52                   	push   %edx
405376:	57                   	push   %edi
405377:	e8 d4 80 01 00       	call   0x41d450
40537c:	83 c4 0c             	add    $0xc,%esp
40537f:	33 c0                	xor    %eax,%eax
405381:	66 89 04 77          	mov    %ax,(%edi,%esi,2)
405385:	eb 14                	jmp    0x40539b
405387:	52                   	push   %edx
405388:	c6 85 cc fd ff ff 00 	movb   $0x0,-0x234(%ebp)
40538f:	ff b5 cc fd ff ff    	push   -0x234(%ebp)
405395:	56                   	push   %esi
405396:	e8 75 d2 ff ff       	call   0x402610
40539b:	b3 01                	mov    $0x1,%bl
40539d:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
4053a3:	83 f9 08             	cmp    $0x8,%ecx
4053a6:	72 31                	jb     0x4053d9
4053a8:	8b 95 d0 fd ff ff    	mov    -0x230(%ebp),%edx
4053ae:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4053b5:	8b c2                	mov    %edx,%eax
4053b7:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4053bd:	72 10                	jb     0x4053cf
4053bf:	8b 50 fc             	mov    -0x4(%eax),%edx
4053c2:	83 c1 23             	add    $0x23,%ecx
4053c5:	2b c2                	sub    %edx,%eax
4053c7:	83 c0 fc             	add    $0xfffffffc,%eax
4053ca:	83 f8 1f             	cmp    $0x1f,%eax
4053cd:	77 34                	ja     0x405403
4053cf:	51                   	push   %ecx
4053d0:	52                   	push   %edx
4053d1:	e8 38 65 01 00       	call   0x41b90e
4053d6:	83 c4 08             	add    $0x8,%esp
4053d9:	8a c3                	mov    %bl,%al
4053db:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4053de:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4053e5:	59                   	pop    %ecx
4053e6:	5f                   	pop    %edi
4053e7:	5e                   	pop    %esi
4053e8:	5b                   	pop    %ebx
4053e9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4053ec:	33 cd                	xor    %ebp,%ecx
4053ee:	e8 dd 64 01 00       	call   0x41b8d0
4053f3:	8b e5                	mov    %ebp,%esp
4053f5:	5d                   	pop    %ebp
4053f6:	c2 04 00             	ret    $0x4
4053f9:	e8 81 b6 01 00       	call   0x420a7f
4053fe:	e8 7c b6 01 00       	call   0x420a7f
405403:	e8 77 b6 01 00       	call   0x420a7f
405408:	cc                   	int3
405409:	cc                   	int3
40540a:	cc                   	int3
40540b:	cc                   	int3
40540c:	cc                   	int3
40540d:	cc                   	int3
40540e:	cc                   	int3
40540f:	cc                   	int3
405410:	55                   	push   %ebp
405411:	8b ec                	mov    %esp,%ebp
405413:	6a ff                	push   $0xffffffff
405415:	68 fd d5 43 00       	push   $0x43d5fd
40541a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405420:	50                   	push   %eax
405421:	83 ec 48             	sub    $0x48,%esp
405424:	a1 14 40 45 00       	mov    0x454014,%eax
405429:	33 c5                	xor    %ebp,%eax
40542b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40542e:	53                   	push   %ebx
40542f:	56                   	push   %esi
405430:	57                   	push   %edi
405431:	50                   	push   %eax
405432:	8d 45 f4             	lea    -0xc(%ebp),%eax
405435:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40543b:	8b f9                	mov    %ecx,%edi
40543d:	80 7f 6c 00          	cmpb   $0x0,0x6c(%edi)
405441:	75 07                	jne    0x40544a
405443:	32 c0                	xor    %al,%al
405445:	e9 f6 01 00 00       	jmp    0x405640
40544a:	8d 47 4c             	lea    0x4c(%edi),%eax
40544d:	50                   	push   %eax
40544e:	8d 4d c8             	lea    -0x38(%ebp),%ecx
405451:	e8 6a ce ff ff       	call   0x4022c0
405456:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40545d:	8d 5f 34             	lea    0x34(%edi),%ebx
405460:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
405464:	75 16                	jne    0x40547c
405466:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40546a:	8b c3                	mov    %ebx,%eax
40546c:	72 02                	jb     0x405470
40546e:	8b 03                	mov    (%ebx),%eax
405470:	50                   	push   %eax
405471:	8b cf                	mov    %edi,%ecx
405473:	e8 b8 fc ff ff       	call   0x405130
405478:	84 c0                	test   %al,%al
40547a:	74 1e                	je     0x40549a
40547c:	83 7f 68 00          	cmpl   $0x0,0x68(%edi)
405480:	8d 4f 68             	lea    0x68(%edi),%ecx
405483:	75 1c                	jne    0x4054a1
405485:	8b 07                	mov    (%edi),%eax
405487:	51                   	push   %ecx
405488:	8b 30                	mov    (%eax),%esi
40548a:	8b ce                	mov    %esi,%ecx
40548c:	ff 15 3c f2 43 00    	call   *0x43f23c
405492:	8b cf                	mov    %edi,%ecx
405494:	ff d6                	call   *%esi
405496:	84 c0                	test   %al,%al
405498:	75 07                	jne    0x4054a1
40549a:	32 db                	xor    %bl,%bl
40549c:	e9 67 01 00 00       	jmp    0x405608
4054a1:	83 bf 90 00 00 00 00 	cmpl   $0x0,0x90(%edi)
4054a8:	75 1f                	jne    0x4054c9
4054aa:	6a 04                	push   $0x4
4054ac:	e8 2d 64 01 00       	call   0x41b8de
4054b1:	83 c4 04             	add    $0x4,%esp
4054b4:	89 45 ac             	mov    %eax,-0x54(%ebp)
4054b7:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4054bd:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4054c3:	89 87 90 00 00 00    	mov    %eax,0x90(%edi)
4054c9:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4054cd:	72 02                	jb     0x4054d1
4054cf:	8b 1b                	mov    (%ebx),%ebx
4054d1:	8b cb                	mov    %ebx,%ecx
4054d3:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
4054da:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
4054e1:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
4054e8:	8d 51 02             	lea    0x2(%ecx),%edx
4054eb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4054f0:	66 8b 01             	mov    (%ecx),%ax
4054f3:	83 c1 02             	add    $0x2,%ecx
4054f6:	66 85 c0             	test   %ax,%ax
4054f9:	75 f5                	jne    0x4054f0
4054fb:	2b ca                	sub    %edx,%ecx
4054fd:	d1 f9                	sar    $1,%ecx
4054ff:	51                   	push   %ecx
405500:	53                   	push   %ebx
405501:	8d 4d b0             	lea    -0x50(%ebp),%ecx
405504:	e8 07 d0 ff ff       	call   0x402510
405509:	8b b7 90 00 00 00    	mov    0x90(%edi),%esi
40550f:	83 3e 00             	cmpl   $0x0,(%esi)
405512:	75 3f                	jne    0x405553
405514:	83 7d c4 08          	cmpl   $0x8,-0x3c(%ebp)
405518:	8d 45 b0             	lea    -0x50(%ebp),%eax
40551b:	0f 43 45 b0          	cmovae -0x50(%ebp),%eax
40551f:	50                   	push   %eax
405520:	6a 00                	push   $0x0
405522:	6a 00                	push   $0x0
405524:	ff 15 cc f0 43 00    	call   *0x43f0cc
40552a:	89 06                	mov    %eax,(%esi)
40552c:	85 c0                	test   %eax,%eax
40552e:	75 23                	jne    0x405553
405530:	ff 15 60 f0 43 00    	call   *0x43f060
405536:	83 f8 05             	cmp    $0x5,%eax
405539:	75 18                	jne    0x405553
40553b:	83 7d c4 08          	cmpl   $0x8,-0x3c(%ebp)
40553f:	8d 45 b0             	lea    -0x50(%ebp),%eax
405542:	0f 43 45 b0          	cmovae -0x50(%ebp),%eax
405546:	50                   	push   %eax
405547:	6a 00                	push   $0x0
405549:	6a 00                	push   $0x0
40554b:	ff 15 d8 f0 43 00    	call   *0x43f0d8
405551:	89 06                	mov    %eax,(%esi)
405553:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
405556:	83 f9 08             	cmp    $0x8,%ecx
405559:	72 32                	jb     0x40558d
40555b:	8b 55 b0             	mov    -0x50(%ebp),%edx
40555e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405565:	8b c2                	mov    %edx,%eax
405567:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40556d:	72 14                	jb     0x405583
40556f:	8b 50 fc             	mov    -0x4(%eax),%edx
405572:	83 c1 23             	add    $0x23,%ecx
405575:	2b c2                	sub    %edx,%eax
405577:	83 c0 fc             	add    $0xfffffffc,%eax
40557a:	83 f8 1f             	cmp    $0x1f,%eax
40557d:	0f 87 d9 00 00 00    	ja     0x40565c
405583:	51                   	push   %ecx
405584:	52                   	push   %edx
405585:	e8 84 63 01 00       	call   0x41b90e
40558a:	83 c4 08             	add    $0x8,%esp
40558d:	8d 45 e0             	lea    -0x20(%ebp),%eax
405590:	50                   	push   %eax
405591:	e8 ee 14 02 00       	call   0x426a84
405596:	8b 4d e0             	mov    -0x20(%ebp),%ecx
405599:	83 c4 04             	add    $0x4,%esp
40559c:	80 bf d1 00 00 00 00 	cmpb   $0x0,0xd1(%edi)
4055a3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4055a6:	89 8f f0 00 00 00    	mov    %ecx,0xf0(%edi)
4055ac:	89 87 f4 00 00 00    	mov    %eax,0xf4(%edi)
4055b2:	89 8f f8 00 00 00    	mov    %ecx,0xf8(%edi)
4055b8:	89 87 fc 00 00 00    	mov    %eax,0xfc(%edi)
4055be:	74 3b                	je     0x4055fb
4055c0:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4055c6:	8b 00                	mov    (%eax),%eax
4055c8:	85 c0                	test   %eax,%eax
4055ca:	74 2f                	je     0x4055fb
4055cc:	68 d0 07 00 00       	push   $0x7d0
4055d1:	50                   	push   %eax
4055d2:	ff 15 d0 f0 43 00    	call   *0x43f0d0
4055d8:	85 c0                	test   %eax,%eax
4055da:	74 07                	je     0x4055e3
4055dc:	3d 80 00 00 00       	cmp    $0x80,%eax
4055e1:	75 18                	jne    0x4055fb
4055e3:	51                   	push   %ecx
4055e4:	8b cf                	mov    %edi,%ecx
4055e6:	e8 25 fa 00 00       	call   0x415010
4055eb:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4055f1:	ff 30                	push   (%eax)
4055f3:	ff 15 d4 f0 43 00    	call   *0x43f0d4
4055f9:	eb 07                	jmp    0x405602
4055fb:	c6 87 d1 00 00 00 00 	movb   $0x0,0xd1(%edi)
405602:	c6 47 6d 01          	movb   $0x1,0x6d(%edi)
405606:	b3 01                	mov    $0x1,%bl
405608:	8b 4d dc             	mov    -0x24(%ebp),%ecx
40560b:	83 f9 08             	cmp    $0x8,%ecx
40560e:	72 2e                	jb     0x40563e
405610:	8b 55 c8             	mov    -0x38(%ebp),%edx
405613:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40561a:	8b c2                	mov    %edx,%eax
40561c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
405622:	72 10                	jb     0x405634
405624:	8b 50 fc             	mov    -0x4(%eax),%edx
405627:	83 c1 23             	add    $0x23,%ecx
40562a:	2b c2                	sub    %edx,%eax
40562c:	83 c0 fc             	add    $0xfffffffc,%eax
40562f:	83 f8 1f             	cmp    $0x1f,%eax
405632:	77 2d                	ja     0x405661
405634:	51                   	push   %ecx
405635:	52                   	push   %edx
405636:	e8 d3 62 01 00       	call   0x41b90e
40563b:	83 c4 08             	add    $0x8,%esp
40563e:	8a c3                	mov    %bl,%al
405640:	8b 4d f4             	mov    -0xc(%ebp),%ecx
405643:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40564a:	59                   	pop    %ecx
40564b:	5f                   	pop    %edi
40564c:	5e                   	pop    %esi
40564d:	5b                   	pop    %ebx
40564e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405651:	33 cd                	xor    %ebp,%ecx
405653:	e8 78 62 01 00       	call   0x41b8d0
405658:	8b e5                	mov    %ebp,%esp
40565a:	5d                   	pop    %ebp
40565b:	c3                   	ret
40565c:	e8 1e b4 01 00       	call   0x420a7f
405661:	e8 19 b4 01 00       	call   0x420a7f
405666:	cc                   	int3
405667:	cc                   	int3
405668:	cc                   	int3
405669:	cc                   	int3
40566a:	cc                   	int3
40566b:	cc                   	int3
40566c:	cc                   	int3
40566d:	cc                   	int3
40566e:	cc                   	int3
40566f:	cc                   	int3
405670:	56                   	push   %esi
405671:	8b f1                	mov    %ecx,%esi
405673:	8b 46 68             	mov    0x68(%esi),%eax
405676:	85 c0                	test   %eax,%eax
405678:	74 13                	je     0x40568d
40567a:	83 f8 ff             	cmp    $0xffffffff,%eax
40567d:	74 0e                	je     0x40568d
40567f:	50                   	push   %eax
405680:	ff 15 68 f0 43 00    	call   *0x43f068
405686:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
40568d:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
405693:	85 c0                	test   %eax,%eax
405695:	74 37                	je     0x4056ce
405697:	8b 00                	mov    (%eax),%eax
405699:	85 c0                	test   %eax,%eax
40569b:	74 0c                	je     0x4056a9
40569d:	83 f8 ff             	cmp    $0xffffffff,%eax
4056a0:	74 07                	je     0x4056a9
4056a2:	50                   	push   %eax
4056a3:	ff 15 68 f0 43 00    	call   *0x43f068
4056a9:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
4056af:	85 c0                	test   %eax,%eax
4056b1:	74 11                	je     0x4056c4
4056b3:	6a 04                	push   $0x4
4056b5:	50                   	push   %eax
4056b6:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4056bc:	e8 4d 62 01 00       	call   0x41b90e
4056c1:	83 c4 08             	add    $0x8,%esp
4056c4:	c7 86 90 00 00 00 00 	movl   $0x0,0x90(%esi)
4056cb:	00 00 00
4056ce:	c6 46 6d 00          	movb   $0x0,0x6d(%esi)
4056d2:	b0 01                	mov    $0x1,%al
4056d4:	5e                   	pop    %esi
4056d5:	c3                   	ret
4056d6:	cc                   	int3
4056d7:	cc                   	int3
4056d8:	cc                   	int3
4056d9:	cc                   	int3
4056da:	cc                   	int3
4056db:	cc                   	int3
4056dc:	cc                   	int3
4056dd:	cc                   	int3
4056de:	cc                   	int3
4056df:	cc                   	int3
4056e0:	55                   	push   %ebp
4056e1:	8b ec                	mov    %esp,%ebp
4056e3:	83 ec 08             	sub    $0x8,%esp
4056e6:	a1 14 40 45 00       	mov    0x454014,%eax
4056eb:	33 c5                	xor    %ebp,%eax
4056ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
4056f0:	53                   	push   %ebx
4056f1:	56                   	push   %esi
4056f2:	57                   	push   %edi
4056f3:	8b 7d 08             	mov    0x8(%ebp),%edi
4056f6:	8b d9                	mov    %ecx,%ebx
4056f8:	8b f7                	mov    %edi,%esi
4056fa:	8d 4e 02             	lea    0x2(%esi),%ecx
4056fd:	0f 1f 00             	nopl   (%eax)
405700:	66 8b 06             	mov    (%esi),%ax
405703:	83 c6 02             	add    $0x2,%esi
405706:	66 85 c0             	test   %ax,%ax
405709:	75 f5                	jne    0x405700
40570b:	6a 02                	push   $0x2