4525f1:	68 58 47 60 00       	push   $0x604758
4525f6:	e8 65 8e 16 00       	call   0x5bb460
4525fb:	83 c4 0c             	add    $0xc,%esp
4525fe:	84 c0                	test   %al,%al
452600:	75 01                	jne    0x452603
452602:	cc                   	int3
452603:	83 be 34 01 00 00 00 	cmpl   $0x0,0x134(%esi)
45260a:	7c 31                	jl     0x45263d
45260c:	83 be 2c 01 00 00 00 	cmpl   $0x0,0x12c(%esi)
452613:	74 1e                	je     0x452633
452615:	e8 56 45 17 00       	call   0x5c6b70
45261a:	6a 00                	push   $0x0
45261c:	ff b6 2c 01 00 00    	push   0x12c(%esi)
452622:	8b c8                	mov    %eax,%ecx
452624:	8b 10                	mov    (%eax),%edx
452626:	ff 52 1c             	call   *0x1c(%edx)
452629:	c7 86 2c 01 00 00 00 	movl   $0x0,0x12c(%esi)
452630:	00 00 00
452633:	c7 86 30 01 00 00 00 	movl   $0x0,0x130(%esi)
45263a:	00 00 00
45263d:	8d 8e c4 00 00 00    	lea    0xc4(%esi),%ecx
452643:	e8 28 ff ff ff       	call   0x452570
452648:	8d 4e 74             	lea    0x74(%esi),%ecx
45264b:	e8 20 ff ff ff       	call   0x452570
452650:	8d 4e 4c             	lea    0x4c(%esi),%ecx
452653:	e8 c8 50 17 00       	call   0x5c7720
452658:	8d 4e 10             	lea    0x10(%esi),%ecx
45265b:	e8 50 4e 17 00       	call   0x5c74b0
452660:	8b 7e 0c             	mov    0xc(%esi),%edi
452663:	85 ff                	test   %edi,%edi
452665:	74 26                	je     0x45268d
452667:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
45266e:	83 c8 ff             	or     $0xffffffff,%eax
452671:	f0 0f c1 07          	lock xadd %eax,(%edi)
452675:	48                   	dec    %eax
452676:	75 15                	jne    0x45268d
452678:	8b cf                	mov    %edi,%ecx
45267a:	e8 f1 30 00 00       	call   0x455770
45267f:	68 20 01 00 00       	push   $0x120
452684:	57                   	push   %edi
452685:	e8 cb eb 17 00       	call   0x5d1255
45268a:	83 c4 08             	add    $0x8,%esp
45268d:	5f                   	pop    %edi
45268e:	5e                   	pop    %esi
45268f:	8b e5                	mov    %ebp,%esp
452691:	5d                   	pop    %ebp
452692:	c3                   	ret
452693:	cc                   	int3
452694:	cc                   	int3
452695:	cc                   	int3
452696:	cc                   	int3
452697:	cc                   	int3
452698:	cc                   	int3
452699:	cc                   	int3
45269a:	cc                   	int3
45269b:	cc                   	int3
45269c:	cc                   	int3
45269d:	cc                   	int3
45269e:	cc                   	int3
45269f:	cc                   	int3
4526a0:	55                   	push   %ebp
4526a1:	8b ec                	mov    %esp,%ebp
4526a3:	56                   	push   %esi
4526a4:	8b 75 08             	mov    0x8(%ebp),%esi
4526a7:	57                   	push   %edi
4526a8:	8b f9                	mov    %ecx,%edi
4526aa:	8b 06                	mov    (%esi),%eax
4526ac:	8b 56 04             	mov    0x4(%esi),%edx
4526af:	89 07                	mov    %eax,(%edi)
4526b1:	8d 4f 10             	lea    0x10(%edi),%ecx
4526b4:	89 57 04             	mov    %edx,0x4(%edi)
4526b7:	8b 46 08             	mov    0x8(%esi),%eax
4526ba:	8b 56 0c             	mov    0xc(%esi),%edx
4526bd:	89 47 08             	mov    %eax,0x8(%edi)
4526c0:	89 57 0c             	mov    %edx,0xc(%edi)
4526c3:	ff 76 1c             	push   0x1c(%esi)
4526c6:	ff 76 10             	push   0x10(%esi)
4526c9:	e8 d2 05 00 00       	call   0x452ca0
4526ce:	8b 46 20             	mov    0x20(%esi),%eax
4526d1:	89 47 20             	mov    %eax,0x20(%edi)
4526d4:	8b 46 24             	mov    0x24(%esi),%eax
4526d7:	89 47 24             	mov    %eax,0x24(%edi)
4526da:	8b 46 28             	mov    0x28(%esi),%eax
4526dd:	89 47 28             	mov    %eax,0x28(%edi)
4526e0:	8b 46 2c             	mov    0x2c(%esi),%eax
4526e3:	89 47 2c             	mov    %eax,0x2c(%edi)
4526e6:	8b 46 30             	mov    0x30(%esi),%eax
4526e9:	89 47 30             	mov    %eax,0x30(%edi)
4526ec:	8b 46 34             	mov    0x34(%esi),%eax
4526ef:	89 47 34             	mov    %eax,0x34(%edi)
4526f2:	8b 46 38             	mov    0x38(%esi),%eax
4526f5:	89 47 38             	mov    %eax,0x38(%edi)
4526f8:	8b 46 3c             	mov    0x3c(%esi),%eax
4526fb:	89 47 3c             	mov    %eax,0x3c(%edi)
4526fe:	0f b6 46 40          	movzbl 0x40(%esi),%eax
452702:	88 47 40             	mov    %al,0x40(%edi)
452705:	0f b6 46 41          	movzbl 0x41(%esi),%eax
452709:	88 47 41             	mov    %al,0x41(%edi)
45270c:	0f b6 46 42          	movzbl 0x42(%esi),%eax
452710:	88 47 42             	mov    %al,0x42(%edi)
452713:	0f b6 46 43          	movzbl 0x43(%esi),%eax
452717:	88 47 43             	mov    %al,0x43(%edi)
45271a:	8b 46 44             	mov    0x44(%esi),%eax
45271d:	89 47 44             	mov    %eax,0x44(%edi)
452720:	8b 46 48             	mov    0x48(%esi),%eax
452723:	89 47 48             	mov    %eax,0x48(%edi)
452726:	0f b6 46 4c          	movzbl 0x4c(%esi),%eax
45272a:	88 47 4c             	mov    %al,0x4c(%edi)
45272d:	8b c7                	mov    %edi,%eax
45272f:	5f                   	pop    %edi
452730:	5e                   	pop    %esi
452731:	5d                   	pop    %ebp
452732:	c2 04 00             	ret    $0x4
452735:	cc                   	int3
452736:	cc                   	int3
452737:	cc                   	int3
452738:	cc                   	int3
452739:	cc                   	int3
45273a:	cc                   	int3
45273b:	cc                   	int3
45273c:	cc                   	int3
45273d:	cc                   	int3
45273e:	cc                   	int3
45273f:	cc                   	int3
452740:	55                   	push   %ebp
452741:	8b ec                	mov    %esp,%ebp
452743:	56                   	push   %esi
452744:	8b f1                	mov    %ecx,%esi
452746:	e8 65 4d 17 00       	call   0x5c74b0
45274b:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
45274f:	74 0b                	je     0x45275c
452751:	6a 3c                	push   $0x3c
452753:	56                   	push   %esi
452754:	e8 fc ea 17 00       	call   0x5d1255
452759:	83 c4 08             	add    $0x8,%esp
45275c:	8b c6                	mov    %esi,%eax
45275e:	5e                   	pop    %esi
45275f:	5d                   	pop    %ebp
452760:	c2 04 00             	ret    $0x4
452763:	cc                   	int3
452764:	cc                   	int3
452765:	cc                   	int3
452766:	cc                   	int3
452767:	cc                   	int3
452768:	cc                   	int3
452769:	cc                   	int3
45276a:	cc                   	int3
45276b:	cc                   	int3
45276c:	cc                   	int3
45276d:	cc                   	int3
45276e:	cc                   	int3
45276f:	cc                   	int3
452770:	55                   	push   %ebp
452771:	8b ec                	mov    %esp,%ebp
452773:	51                   	push   %ecx
452774:	56                   	push   %esi
452775:	8b f1                	mov    %ecx,%esi
452777:	57                   	push   %edi
452778:	8d 4e 10             	lea    0x10(%esi),%ecx
45277b:	c7 06 00 47 60 00    	movl   $0x604700,(%esi)
452781:	e8 ca 50 17 00       	call   0x5c7850
452786:	84 c0                	test   %al,%al
452788:	74 19                	je     0x4527a3
45278a:	68 44 47 60 00       	push   $0x604744
45278f:	6a 31                	push   $0x31
452791:	68 58 47 60 00       	push   $0x604758
452796:	e8 c5 8c 16 00       	call   0x5bb460
45279b:	83 c4 0c             	add    $0xc,%esp
45279e:	84 c0                	test   %al,%al
4527a0:	75 01                	jne    0x4527a3
4527a2:	cc                   	int3
4527a3:	83 be 34 01 00 00 00 	cmpl   $0x0,0x134(%esi)
4527aa:	7c 31                	jl     0x4527dd
4527ac:	83 be 2c 01 00 00 00 	cmpl   $0x0,0x12c(%esi)
4527b3:	74 1e                	je     0x4527d3
4527b5:	e8 b6 43 17 00       	call   0x5c6b70
4527ba:	6a 00                	push   $0x0
4527bc:	ff b6 2c 01 00 00    	push   0x12c(%esi)
4527c2:	8b c8                	mov    %eax,%ecx
4527c4:	8b 10                	mov    (%eax),%edx
4527c6:	ff 52 1c             	call   *0x1c(%edx)
4527c9:	c7 86 2c 01 00 00 00 	movl   $0x0,0x12c(%esi)
4527d0:	00 00 00
4527d3:	c7 86 30 01 00 00 00 	movl   $0x0,0x130(%esi)
4527da:	00 00 00
4527dd:	8d 8e c4 00 00 00    	lea    0xc4(%esi),%ecx
4527e3:	e8 88 fd ff ff       	call   0x452570
4527e8:	8d 4e 74             	lea    0x74(%esi),%ecx
4527eb:	e8 80 fd ff ff       	call   0x452570
4527f0:	8d 4e 4c             	lea    0x4c(%esi),%ecx
4527f3:	e8 28 4f 17 00       	call   0x5c7720
4527f8:	8d 4e 10             	lea    0x10(%esi),%ecx
4527fb:	e8 b0 4c 17 00       	call   0x5c74b0
452800:	8b 7e 0c             	mov    0xc(%esi),%edi
452803:	85 ff                	test   %edi,%edi
452805:	74 26                	je     0x45282d
452807:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
45280e:	83 c8 ff             	or     $0xffffffff,%eax
452811:	f0 0f c1 07          	lock xadd %eax,(%edi)
452815:	48                   	dec    %eax
452816:	75 15                	jne    0x45282d
452818:	8b cf                	mov    %edi,%ecx
45281a:	e8 51 2f 00 00       	call   0x455770
45281f:	68 20 01 00 00       	push   $0x120
452824:	57                   	push   %edi
452825:	e8 2b ea 17 00       	call   0x5d1255
45282a:	83 c4 08             	add    $0x8,%esp
45282d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
452831:	74 0e                	je     0x452841
452833:	68 60 01 00 00       	push   $0x160
452838:	56                   	push   %esi
452839:	e8 17 ea 17 00       	call   0x5d1255
45283e:	83 c4 08             	add    $0x8,%esp
452841:	5f                   	pop    %edi
452842:	8b c6                	mov    %esi,%eax
452844:	5e                   	pop    %esi
452845:	8b e5                	mov    %ebp,%esp
452847:	5d                   	pop    %ebp
452848:	c2 04 00             	ret    $0x4
45284b:	cc                   	int3
45284c:	cc                   	int3
45284d:	cc                   	int3
45284e:	cc                   	int3
45284f:	cc                   	int3
452850:	32 c0                	xor    %al,%al
452852:	c2 0c 00             	ret    $0xc
452855:	cc                   	int3
452856:	cc                   	int3
452857:	cc                   	int3
452858:	cc                   	int3
452859:	cc                   	int3
45285a:	cc                   	int3
45285b:	cc                   	int3
45285c:	cc                   	int3
45285d:	cc                   	int3
45285e:	cc                   	int3
45285f:	cc                   	int3
452860:	c2 10 00             	ret    $0x10
452863:	cc                   	int3
452864:	cc                   	int3
452865:	cc                   	int3
452866:	cc                   	int3
452867:	cc                   	int3
452868:	cc                   	int3
452869:	cc                   	int3
45286a:	cc                   	int3
45286b:	cc                   	int3
45286c:	cc                   	int3
45286d:	cc                   	int3
45286e:	cc                   	int3
45286f:	cc                   	int3
452870:	55                   	push   %ebp
452871:	8b ec                	mov    %esp,%ebp
452873:	83 ec 30             	sub    $0x30,%esp
452876:	56                   	push   %esi
452877:	8b f1                	mov    %ecx,%esi
452879:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
45287d:	75 1c                	jne    0x45289b
45287f:	68 20 48 60 00       	push   $0x604820
452884:	68 ce 00 00 00       	push   $0xce
452889:	68 58 47 60 00       	push   $0x604758
45288e:	e8 cd 8b 16 00       	call   0x5bb460
452893:	83 c4 0c             	add    $0xc,%esp
452896:	84 c0                	test   %al,%al
452898:	75 01                	jne    0x45289b
45289a:	cc                   	int3
45289b:	8b 4e 0c             	mov    0xc(%esi),%ecx
45289e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4528a1:	50                   	push   %eax
4528a2:	8d 45 e0             	lea    -0x20(%ebp),%eax
4528a5:	50                   	push   %eax
4528a6:	e8 05 2f 00 00       	call   0x4557b0
4528ab:	84 c0                	test   %al,%al
4528ad:	0f 84 e6 03 00 00    	je     0x452c99
4528b3:	53                   	push   %ebx
4528b4:	57                   	push   %edi
4528b5:	e8 16 4a 17 00       	call   0x5c72d0
4528ba:	89 45 f8             	mov    %eax,-0x8(%ebp)
4528bd:	89 55 fc             	mov    %edx,-0x4(%ebp)
4528c0:	e8 eb 49 17 00       	call   0x5c72b0
4528c5:	8b c8                	mov    %eax,%ecx
4528c7:	8b c2                	mov    %edx,%eax
4528c9:	f7 65 e4             	mull   -0x1c(%ebp)
4528cc:	6a 00                	push   $0x0
4528ce:	ff 75 e0             	push   -0x20(%ebp)
4528d1:	8b d8                	mov    %eax,%ebx
4528d3:	8b c1                	mov    %ecx,%eax
4528d5:	f7 65 e4             	mull   -0x1c(%ebp)
4528d8:	03 da                	add    %edx,%ebx
4528da:	53                   	push   %ebx
4528db:	50                   	push   %eax
4528dc:	e8 3f ec 17 00       	call   0x5d1520
4528e1:	8b ca                	mov    %edx,%ecx
4528e3:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4528e6:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4528e9:	0f a4 c1 01          	shld   $0x1,%eax,%ecx
4528ed:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4528f0:	03 c0                	add    %eax,%eax
4528f2:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4528f5:	89 45 dc             	mov    %eax,-0x24(%ebp)
4528f8:	3b 8e 14 01 00 00    	cmp    0x114(%esi),%ecx
4528fe:	0f 87 ac 01 00 00    	ja     0x452ab0
452904:	72 0f                	jb     0x452915
452906:	8b 5d f8             	mov    -0x8(%ebp),%ebx
452909:	3b 9e 10 01 00 00    	cmp    0x110(%esi),%ebx
45290f:	0f 83 48 01 00 00    	jae    0x452a5d
452915:	e8 96 49 17 00       	call   0x5c72b0
45291a:	8b be 10 01 00 00    	mov    0x110(%esi),%edi
452920:	b9 e8 03 00 00       	mov    $0x3e8,%ecx
452925:	2b 7d f8             	sub    -0x8(%ebp),%edi
452928:	89 45 e8             	mov    %eax,-0x18(%ebp)
45292b:	8b 86 14 01 00 00    	mov    0x114(%esi),%eax
452931:	1b 45 fc             	sbb    -0x4(%ebp),%eax
452934:	52                   	push   %edx
452935:	ff 75 e8             	push   -0x18(%ebp)
452938:	f7 e1                	mul    %ecx
45293a:	ba e8 03 00 00       	mov    $0x3e8,%edx
45293f:	8b c8                	mov    %eax,%ecx
452941:	8b c7                	mov    %edi,%eax
452943:	f7 e2                	mul    %edx
452945:	03 ca                	add    %edx,%ecx
452947:	51                   	push   %ecx
452948:	50                   	push   %eax
452949:	e8 d2 eb 17 00       	call   0x5d1520
45294e:	8b c8                	mov    %eax,%ecx
452950:	89 4d f4             	mov    %ecx,-0xc(%ebp)
452953:	85 c9                	test   %ecx,%ecx
452955:	0f 84 fc 00 00 00    	je     0x452a57
45295b:	8b f8                	mov    %eax,%edi
45295d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
452960:	8b d9                	mov    %ecx,%ebx
452962:	89 4d e8             	mov    %ecx,-0x18(%ebp)
452965:	83 3d 7c 71 69 00 00 	cmpl   $0x0,0x69717c
45296c:	75 04                	jne    0x452972
45296e:	33 c0                	xor    %eax,%eax
452970:	eb 1c                	jmp    0x45298e
452972:	8d 45 f0             	lea    -0x10(%ebp),%eax
452975:	50                   	push   %eax
452976:	6a 05                	push   $0x5
452978:	68 30 48 60 00       	push   $0x604830
45297d:	e8 4e db 16 00       	call   0x5c04d0
452982:	8b 7d ec             	mov    -0x14(%ebp),%edi
452985:	83 c4 0c             	add    $0xc,%esp
452988:	8b 5d e8             	mov    -0x18(%ebp),%ebx
45298b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45298e:	51                   	push   %ecx
45298f:	68 38 48 60 00       	push   $0x604838
452994:	89 45 f0             	mov    %eax,-0x10(%ebp)
452997:	e8 14 4c ff ff       	call   0x4475b0
45299c:	83 ff 03             	cmp    $0x3,%edi