403447:	c7 06 a4 74 41 00    	movl   $0x4174a4,(%esi)
40344d:	8b c6                	mov    %esi,%eax
40344f:	5e                   	pop    %esi
403450:	c2 04 00             	ret    $0x4
403453:	6a 44                	push   $0x44
403455:	b8 f4 5b 41 00       	mov    $0x415bf4,%eax
40345a:	e8 8c 33 00 00       	call   0x4067eb
40345f:	68 c8 74 41 00       	push   $0x4174c8
403464:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403467:	e8 b4 ef ff ff       	call   0x402420
40346c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403470:	8d 45 d8             	lea    -0x28(%ebp),%eax
403473:	50                   	push   %eax
403474:	8d 4d b0             	lea    -0x50(%ebp),%ecx
403477:	e8 70 fe ff ff       	call   0x4032ec
40347c:	68 f0 a3 41 00       	push   $0x41a3f0
403481:	8d 45 b0             	lea    -0x50(%ebp),%eax
403484:	50                   	push   %eax
403485:	c7 45 b0 b0 74 41 00 	movl   $0x4174b0,-0x50(%ebp)
40348c:	e8 b1 2b 00 00       	call   0x406042
403491:	cc                   	int3
403492:	56                   	push   %esi
403493:	ff 74 24 08          	push   0x8(%esp)
403497:	8b f1                	mov    %ecx,%esi
403499:	e8 63 ff ff ff       	call   0x403401
40349e:	c7 06 b0 74 41 00    	movl   $0x4174b0,(%esi)
4034a4:	8b c6                	mov    %esi,%eax
4034a6:	5e                   	pop    %esi
4034a7:	c2 04 00             	ret    $0x4
4034aa:	e9 6a 36 00 00       	jmp    0x406b19
4034af:	0f be 44 24 0c       	movsbl 0xc(%esp),%eax
4034b4:	ff 74 24 08          	push   0x8(%esp)
4034b8:	50                   	push   %eax
4034b9:	ff 74 24 0c          	push   0xc(%esp)
4034bd:	e8 8e 26 00 00       	call   0x405b50
4034c2:	83 c4 0c             	add    $0xc,%esp
4034c5:	c3                   	ret
4034c6:	55                   	push   %ebp
4034c7:	8b ec                	mov    %esp,%ebp
4034c9:	83 ec 10             	sub    $0x10,%esp
4034cc:	56                   	push   %esi
4034cd:	8d 45 f0             	lea    -0x10(%ebp),%eax
4034d0:	57                   	push   %edi
4034d1:	50                   	push   %eax
4034d2:	e8 57 19 00 00       	call   0x404e2e
4034d7:	8b f0                	mov    %eax,%esi
4034d9:	8b 45 08             	mov    0x8(%ebp),%eax
4034dc:	8b f8                	mov    %eax,%edi
4034de:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4034df:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4034e0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4034e1:	59                   	pop    %ecx
4034e2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4034e3:	5f                   	pop    %edi
4034e4:	5e                   	pop    %esi
4034e5:	c9                   	leave
4034e6:	c2 04 00             	ret    $0x4
4034e9:	55                   	push   %ebp
4034ea:	8b ec                	mov    %esp,%ebp
4034ec:	51                   	push   %ecx
4034ed:	56                   	push   %esi
4034ee:	8b f1                	mov    %ecx,%esi
4034f0:	83 3e 00             	cmpl   $0x0,(%esi)
4034f3:	75 24                	jne    0x403519
4034f5:	6a 00                	push   $0x0
4034f7:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4034fa:	e8 77 1a 00 00       	call   0x404f76
4034ff:	83 3e 00             	cmpl   $0x0,(%esi)
403502:	75 0d                	jne    0x403511
403504:	ff 05 30 d8 41 00    	incl   0x41d830
40350a:	a1 30 d8 41 00       	mov    0x41d830,%eax
40350f:	89 06                	mov    %eax,(%esi)
403511:	8d 4d fc             	lea    -0x4(%ebp),%ecx
403514:	e8 7e 1a 00 00       	call   0x404f97
403519:	8b 06                	mov    (%esi),%eax
40351b:	5e                   	pop    %esi
40351c:	c9                   	leave
40351d:	c3                   	ret
40351e:	55                   	push   %ebp
40351f:	8b ec                	mov    %esp,%ebp
403521:	51                   	push   %ecx
403522:	56                   	push   %esi
403523:	8b f1                	mov    %ecx,%esi
403525:	6a 00                	push   $0x0
403527:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40352a:	e8 47 1a 00 00       	call   0x404f76
40352f:	8b 46 04             	mov    0x4(%esi),%eax
403532:	83 f8 ff             	cmp    $0xffffffff,%eax
403535:	73 04                	jae    0x40353b
403537:	40                   	inc    %eax
403538:	89 46 04             	mov    %eax,0x4(%esi)
40353b:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40353e:	e8 54 1a 00 00       	call   0x404f97
403543:	5e                   	pop    %esi
403544:	c9                   	leave
403545:	c3                   	ret
403546:	55                   	push   %ebp
403547:	8b ec                	mov    %esp,%ebp
403549:	51                   	push   %ecx
40354a:	56                   	push   %esi
40354b:	57                   	push   %edi
40354c:	8b f9                	mov    %ecx,%edi
40354e:	6a 00                	push   $0x0
403550:	8d 4d fc             	lea    -0x4(%ebp),%ecx
403553:	e8 1e 1a 00 00       	call   0x404f76
403558:	8b 47 04             	mov    0x4(%edi),%eax
40355b:	85 c0                	test   %eax,%eax
40355d:	76 09                	jbe    0x403568
40355f:	83 f8 ff             	cmp    $0xffffffff,%eax
403562:	73 04                	jae    0x403568
403564:	48                   	dec    %eax
403565:	89 47 04             	mov    %eax,0x4(%edi)
403568:	8b 77 04             	mov    0x4(%edi),%esi
40356b:	f7 de                	neg    %esi
40356d:	1b f6                	sbb    %esi,%esi
40356f:	f7 d6                	not    %esi
403571:	8d 4d fc             	lea    -0x4(%ebp),%ecx
403574:	23 f7                	and    %edi,%esi
403576:	e8 1c 1a 00 00       	call   0x404f97
40357b:	5f                   	pop    %edi
40357c:	8b c6                	mov    %esi,%eax
40357e:	5e                   	pop    %esi
40357f:	c9                   	leave
403580:	c3                   	ret
403581:	56                   	push   %esi
403582:	8b f1                	mov    %ecx,%esi
403584:	e8 47 1c 00 00       	call   0x4051d0
403589:	89 06                	mov    %eax,(%esi)
40358b:	e8 74 1a 00 00       	call   0x405004
403590:	8b c8                	mov    %eax,%ecx
403592:	e8 87 ff ff ff       	call   0x40351e
403597:	8b c6                	mov    %esi,%eax
403599:	5e                   	pop    %esi
40359a:	c3                   	ret
40359b:	8b 44 24 04          	mov    0x4(%esp),%eax
40359f:	56                   	push   %esi
4035a0:	8b f1                	mov    %ecx,%esi
4035a2:	8b 08                	mov    (%eax),%ecx
4035a4:	89 0e                	mov    %ecx,(%esi)
4035a6:	e8 73 ff ff ff       	call   0x40351e
4035ab:	8b c6                	mov    %esi,%eax
4035ad:	5e                   	pop    %esi
4035ae:	c2 04 00             	ret    $0x4
4035b1:	8b 09                	mov    (%ecx),%ecx
4035b3:	85 c9                	test   %ecx,%ecx
4035b5:	74 11                	je     0x4035c8
4035b7:	e8 8a ff ff ff       	call   0x403546
4035bc:	85 c0                	test   %eax,%eax
4035be:	74 08                	je     0x4035c8
4035c0:	8b 10                	mov    (%eax),%edx
4035c2:	6a 01                	push   $0x1
4035c4:	8b c8                	mov    %eax,%ecx
4035c6:	ff 12                	call   *(%edx)
4035c8:	c3                   	ret
4035c9:	8b 09                	mov    (%ecx),%ecx
4035cb:	56                   	push   %esi
4035cc:	8b 74 24 08          	mov    0x8(%esp),%esi
4035d0:	3b 71 0c             	cmp    0xc(%ecx),%esi
4035d3:	73 08                	jae    0x4035dd
4035d5:	8b 41 08             	mov    0x8(%ecx),%eax
4035d8:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4035db:	eb 02                	jmp    0x4035df
4035dd:	33 c0                	xor    %eax,%eax
4035df:	85 c0                	test   %eax,%eax
4035e1:	75 19                	jne    0x4035fc
4035e3:	38 41 14             	cmp    %al,0x14(%ecx)
4035e6:	74 14                	je     0x4035fc
4035e8:	e8 17 1a 00 00       	call   0x405004
4035ed:	3b 70 0c             	cmp    0xc(%eax),%esi
4035f0:	73 08                	jae    0x4035fa
4035f2:	8b 40 08             	mov    0x8(%eax),%eax
4035f5:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4035f8:	eb 02                	jmp    0x4035fc
4035fa:	33 c0                	xor    %eax,%eax
4035fc:	5e                   	pop    %esi
4035fd:	c2 04 00             	ret    $0x4
403600:	f6 44 24 04 01       	testb  $0x1,0x4(%esp)
403605:	56                   	push   %esi
403606:	8b f1                	mov    %ecx,%esi
403608:	c7 06 e4 74 41 00    	movl   $0x4174e4,(%esi)
40360e:	74 07                	je     0x403617
403610:	56                   	push   %esi
403611:	e8 19 24 00 00       	call   0x405a2f
403616:	59                   	pop    %ecx
403617:	8b c6                	mov    %esi,%eax
403619:	5e                   	pop    %esi
40361a:	c2 04 00             	ret    $0x4
40361d:	55                   	push   %ebp
40361e:	8b ec                	mov    %esp,%ebp
403620:	83 ec 10             	sub    $0x10,%esp
403623:	53                   	push   %ebx
403624:	56                   	push   %esi
403625:	57                   	push   %edi
403626:	8d 45 f0             	lea    -0x10(%ebp),%eax
403629:	8b d9                	mov    %ecx,%ebx
40362b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40362e:	50                   	push   %eax
40362f:	e8 92 fe ff ff       	call   0x4034c6
403634:	8b f0                	mov    %eax,%esi
403636:	8d 7b 08             	lea    0x8(%ebx),%edi
403639:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40363a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40363b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40363c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40363d:	e8 c8 18 00 00       	call   0x404f0a
403642:	5f                   	pop    %edi
403643:	5e                   	pop    %esi
403644:	89 43 18             	mov    %eax,0x18(%ebx)
403647:	89 53 1c             	mov    %edx,0x1c(%ebx)
40364a:	5b                   	pop    %ebx
40364b:	c9                   	leave
40364c:	c2 04 00             	ret    $0x4
40364f:	55                   	push   %ebp
403650:	8b ec                	mov    %esp,%ebp
403652:	51                   	push   %ecx
403653:	ff 71 24             	push   0x24(%ecx)
403656:	8b 4d 08             	mov    0x8(%ebp),%ecx
403659:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40365d:	e8 39 ff ff ff       	call   0x40359b
403662:	8b 45 08             	mov    0x8(%ebp),%eax
403665:	c9                   	leave
403666:	c2 04 00             	ret    $0x4
403669:	56                   	push   %esi
40366a:	8b f1                	mov    %ecx,%esi
40366c:	56                   	push   %esi
40366d:	c7 06 ec 74 41 00    	movl   $0x4174ec,(%esi)
403673:	e8 f4 1c 00 00       	call   0x40536c
403678:	f6 44 24 0c 01       	testb  $0x1,0xc(%esp)
40367d:	59                   	pop    %ecx
40367e:	74 07                	je     0x403687
403680:	56                   	push   %esi
403681:	e8 a9 23 00 00       	call   0x405a2f
403686:	59                   	pop    %ecx
403687:	8b c6                	mov    %esi,%eax
403689:	5e                   	pop    %esi
40368a:	c2 04 00             	ret    $0x4
40368d:	51                   	push   %ecx
40368e:	c7 01 ec 74 41 00    	movl   $0x4174ec,(%ecx)
403694:	e8 d3 1c 00 00       	call   0x40536c
403699:	59                   	pop    %ecx
40369a:	c3                   	ret
40369b:	56                   	push   %esi
40369c:	8b f1                	mov    %ecx,%esi
40369e:	8b 06                	mov    (%esi),%eax
4036a0:	83 f8 fe             	cmp    $0xfffffffe,%eax
4036a3:	74 28                	je     0x4036cd
4036a5:	85 c0                	test   %eax,%eax
4036a7:	75 05                	jne    0x4036ae
4036a9:	e8 c6 3f 00 00       	call   0x407674
4036ae:	8b 06                	mov    (%esi),%eax
4036b0:	83 78 18 10          	cmpl   $0x10,0x18(%eax)
4036b4:	72 05                	jb     0x4036bb
4036b6:	8b 48 04             	mov    0x4(%eax),%ecx
4036b9:	eb 03                	jmp    0x4036be
4036bb:	8d 48 04             	lea    0x4(%eax),%ecx
4036be:	8b 40 14             	mov    0x14(%eax),%eax
4036c1:	03 c1                	add    %ecx,%eax
4036c3:	39 46 04             	cmp    %eax,0x4(%esi)
4036c6:	72 05                	jb     0x4036cd
4036c8:	e8 a7 3f 00 00       	call   0x407674
4036cd:	8b 46 04             	mov    0x4(%esi),%eax
4036d0:	5e                   	pop    %esi
4036d1:	c3                   	ret
4036d2:	8d 41 04             	lea    0x4(%ecx),%eax
4036d5:	8b 48 fc             	mov    -0x4(%eax),%ecx
4036d8:	8b 49 04             	mov    0x4(%ecx),%ecx
4036db:	c7 44 01 fc f4 74 41 	movl   $0x4174f4,-0x4(%ecx,%eax,1)
4036e2:	00
4036e3:	50                   	push   %eax
4036e4:	c7 00 ec 74 41 00    	movl   $0x4174ec,(%eax)
4036ea:	e8 7d 1c 00 00       	call   0x40536c
4036ef:	59                   	pop    %ecx
4036f0:	c3                   	ret
4036f1:	8b 15 a0 d8 41 00    	mov    0x41d8a0,%edx
4036f7:	85 d2                	test   %edx,%edx
4036f9:	56                   	push   %esi
4036fa:	be 30 d7 41 00       	mov    $0x41d730,%esi
4036ff:	8b c1                	mov    %ecx,%eax
403701:	89 35 a4 d8 41 00    	mov    %esi,0x41d8a4
403707:	74 09                	je     0x403712
403709:	8b 0a                	mov    (%edx),%ecx
40370b:	8b 49 04             	mov    0x4(%ecx),%ecx
40370e:	89 74 11 2c          	mov    %esi,0x2c(%ecx,%edx,1)
403712:	8b 15 a8 d8 41 00    	mov    0x41d8a8,%edx
403718:	85 d2                	test   %edx,%edx
40371a:	74 0f                	je     0x40372b
40371c:	8b 0a                	mov    (%edx),%ecx
40371e:	8b 49 04             	mov    0x4(%ecx),%ecx
403721:	8b 35 a4 d8 41 00    	mov    0x41d8a4,%esi
403727:	89 74 11 2c          	mov    %esi,0x2c(%ecx,%edx,1)
40372b:	8b 15 ac d8 41 00    	mov    0x41d8ac,%edx
403731:	85 d2                	test   %edx,%edx
403733:	74 0f                	je     0x403744
403735:	8b 0a                	mov    (%edx),%ecx
403737:	8b 49 04             	mov    0x4(%ecx),%ecx
40373a:	8b 35 a4 d8 41 00    	mov    0x41d8a4,%esi
403740:	89 74 11 2c          	mov    %esi,0x2c(%ecx,%edx,1)
403744:	5e                   	pop    %esi
403745:	c3                   	ret
403746:	56                   	push   %esi
403747:	8b f1                	mov    %ecx,%esi
403749:	57                   	push   %edi
40374a:	8b 7e 38             	mov    0x38(%esi),%edi
40374d:	85 ff                	test   %edi,%edi
40374f:	c7 06 04 75 41 00    	movl   $0x417504,(%esi)
403755:	74 0e                	je     0x403765
403757:	8b cf                	mov    %edi,%ecx
403759:	e8 53 fe ff ff       	call   0x4035b1
40375e:	57                   	push   %edi
40375f:	e8 cb 22 00 00       	call   0x405a2f
403764:	59                   	pop    %ecx
403765:	5f                   	pop    %edi
403766:	8d 4e 04             	lea    0x4(%esi),%ecx
403769:	5e                   	pop    %esi
40376a:	e9 51 fb ff ff       	jmp    0x4032c0
40376f:	8b 44 24 10          	mov    0x10(%esp),%eax
403773:	03 c0                	add    %eax,%eax
403775:	50                   	push   %eax
403776:	ff 74 24 10          	push   0x10(%esp)
40377a:	8b 44 24 10          	mov    0x10(%esp),%eax
40377e:	03 c0                	add    %eax,%eax
403780:	50                   	push   %eax
403781:	ff 74 24 10          	push   0x10(%esp)
403785:	e8 aa 22 00 00       	call   0x405a34
40378a:	83 c4 10             	add    $0x10,%esp
40378d:	c3                   	ret
40378e:	55                   	push   %ebp
40378f:	8b ec                	mov    %esp,%ebp
403791:	ff 75 14             	push   0x14(%ebp)
403794:	ff 75 10             	push   0x10(%ebp)
403797:	ff 75 0c             	push   0xc(%ebp)
40379a:	ff 75 08             	push   0x8(%ebp)
40379d:	e8 cd ff ff ff       	call   0x40376f
4037a2:	8b 45 08             	mov    0x8(%ebp),%eax
4037a5:	83 c4 10             	add    $0x10,%esp
4037a8:	5d                   	pop    %ebp
4037a9:	c3                   	ret
4037aa:	66 0d ff ff          	or     $0xffff,%ax
4037ae:	c2 04 00             	ret    $0x4
4037b1:	66 0d ff ff          	or     $0xffff,%ax
4037b5:	c3                   	ret
4037b6:	ff 74 24 08          	push   0x8(%esp)
4037ba:	8b 01                	mov    (%ecx),%eax
4037bc:	6a ff                	push   $0xffffffff
4037be:	ff 74 24 0c          	push   0xc(%esp)
4037c2:	ff 50 1c             	call   *0x1c(%eax)
4037c5:	c2 08 00             	ret    $0x8
4037c8:	8b c1                	mov    %ecx,%eax
4037ca:	c2 08 00             	ret    $0x8
4037cd:	c2 04 00             	ret    $0x4