40570d:	6a 00                	push   $0x0
40570f:	6a 00                	push   $0x0
405711:	ff 73 68             	push   0x68(%ebx)
405714:	2b f1                	sub    %ecx,%esi
405716:	d1 fe                	sar    $1,%esi
405718:	ff 15 50 f0 43 00    	call   *0x43f050
40571e:	6a 00                	push   $0x0
405720:	8d 45 f8             	lea    -0x8(%ebp),%eax
405723:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40572a:	50                   	push   %eax
40572b:	03 f6                	add    %esi,%esi
40572d:	56                   	push   %esi
40572e:	57                   	push   %edi
40572f:	ff 73 68             	push   0x68(%ebx)
405732:	ff 15 4c f0 43 00    	call   *0x43f04c
405738:	6a 00                	push   $0x0
40573a:	8d 45 f8             	lea    -0x8(%ebp),%eax
40573d:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
405744:	50                   	push   %eax
405745:	6a 04                	push   $0x4
405747:	68 74 db 44 00       	push   $0x44db74
40574c:	ff 73 68             	push   0x68(%ebx)
40574f:	ff 15 4c f0 43 00    	call   *0x43f04c
405755:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405758:	5f                   	pop    %edi
405759:	5e                   	pop    %esi
40575a:	33 cd                	xor    %ebp,%ecx
40575c:	5b                   	pop    %ebx
40575d:	e8 6e 61 01 00       	call   0x41b8d0
405762:	8b e5                	mov    %ebp,%esp
405764:	5d                   	pop    %ebp
405765:	c2 04 00             	ret    $0x4
405768:	cc                   	int3
405769:	cc                   	int3
40576a:	cc                   	int3
40576b:	cc                   	int3
40576c:	cc                   	int3
40576d:	cc                   	int3
40576e:	cc                   	int3
40576f:	cc                   	int3
405770:	55                   	push   %ebp
405771:	8b ec                	mov    %esp,%ebp
405773:	83 ec 08             	sub    $0x8,%esp
405776:	a1 14 40 45 00       	mov    0x454014,%eax
40577b:	33 c5                	xor    %ebp,%eax
40577d:	89 45 fc             	mov    %eax,-0x4(%ebp)
405780:	53                   	push   %ebx
405781:	56                   	push   %esi
405782:	57                   	push   %edi
405783:	8b 7d 08             	mov    0x8(%ebp),%edi
405786:	8b d9                	mov    %ecx,%ebx
405788:	8b f7                	mov    %edi,%esi
40578a:	8d 4e 01             	lea    0x1(%esi),%ecx
40578d:	0f 1f 00             	nopl   (%eax)
405790:	8a 06                	mov    (%esi),%al
405792:	46                   	inc    %esi
405793:	84 c0                	test   %al,%al
405795:	75 f9                	jne    0x405790
405797:	6a 02                	push   $0x2
405799:	6a 00                	push   $0x0
40579b:	6a 00                	push   $0x0
40579d:	ff 73 68             	push   0x68(%ebx)
4057a0:	2b f1                	sub    %ecx,%esi
4057a2:	ff 15 50 f0 43 00    	call   *0x43f050
4057a8:	6a 00                	push   $0x0
4057aa:	8d 45 f8             	lea    -0x8(%ebp),%eax
4057ad:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4057b4:	50                   	push   %eax
4057b5:	56                   	push   %esi
4057b6:	57                   	push   %edi
4057b7:	ff 73 68             	push   0x68(%ebx)
4057ba:	ff 15 4c f0 43 00    	call   *0x43f04c
4057c0:	6a 00                	push   $0x0
4057c2:	8d 45 f8             	lea    -0x8(%ebp),%eax
4057c5:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
4057cc:	50                   	push   %eax
4057cd:	6a 02                	push   $0x2
4057cf:	68 7c db 44 00       	push   $0x44db7c
4057d4:	ff 73 68             	push   0x68(%ebx)
4057d7:	ff 15 4c f0 43 00    	call   *0x43f04c
4057dd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4057e0:	5f                   	pop    %edi
4057e1:	5e                   	pop    %esi
4057e2:	33 cd                	xor    %ebp,%ecx
4057e4:	5b                   	pop    %ebx
4057e5:	e8 e6 60 01 00       	call   0x41b8d0
4057ea:	8b e5                	mov    %ebp,%esp
4057ec:	5d                   	pop    %ebp
4057ed:	c2 04 00             	ret    $0x4
4057f0:	55                   	push   %ebp
4057f1:	8b ec                	mov    %esp,%ebp
4057f3:	83 e4 f8             	and    $0xfffffff8,%esp
4057f6:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
4057fc:	a1 14 40 45 00       	mov    0x454014,%eax
405801:	33 c4                	xor    %esp,%eax
405803:	89 84 24 58 02 00 00 	mov    %eax,0x258(%esp)
40580a:	8b 45 10             	mov    0x10(%ebp),%eax
40580d:	8b 55 08             	mov    0x8(%ebp),%edx
405810:	53                   	push   %ebx
405811:	56                   	push   %esi
405812:	89 44 24 10          	mov    %eax,0x10(%esp)
405816:	8b c2                	mov    %edx,%eax
405818:	57                   	push   %edi
405819:	8b f9                	mov    %ecx,%edi
40581b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40581e:	0b c1                	or     %ecx,%eax
405820:	89 7c 24 20          	mov    %edi,0x20(%esp)
405824:	75 1a                	jne    0x405840
405826:	8d 44 24 28          	lea    0x28(%esp),%eax
40582a:	50                   	push   %eax
40582b:	e8 54 12 02 00       	call   0x426a84
405830:	8b 5c 24 30          	mov    0x30(%esp),%ebx
405834:	83 c4 04             	add    $0x4,%esp
405837:	8b 74 24 28          	mov    0x28(%esp),%esi
40583b:	e9 92 00 00 00       	jmp    0x4058d2
405840:	8b fa                	mov    %edx,%edi
405842:	bb 77 be 9f 1a       	mov    $0x1a9fbe77,%ebx
405847:	8b c7                	mov    %edi,%eax
405849:	89 7c 24 10          	mov    %edi,0x10(%esp)
40584d:	f7 e3                	mul    %ebx
40584f:	89 44 24 18          	mov    %eax,0x18(%esp)
405853:	8b f2                	mov    %edx,%esi
405855:	8b c7                	mov    %edi,%eax
405857:	ba 2f dd 24 06       	mov    $0x624dd2f,%edx
40585c:	f7 e2                	mul    %edx
40585e:	8b f8                	mov    %eax,%edi
405860:	89 54 24 0c          	mov    %edx,0xc(%esp)
405864:	8b c1                	mov    %ecx,%eax
405866:	f7 e3                	mul    %ebx
405868:	8b c8                	mov    %eax,%ecx
40586a:	8b da                	mov    %edx,%ebx
40586c:	8b 45 0c             	mov    0xc(%ebp),%eax
40586f:	ba 2f dd 24 06       	mov    $0x624dd2f,%edx
405874:	f7 e2                	mul    %edx
405876:	03 ce                	add    %esi,%ecx
405878:	8b 74 24 10          	mov    0x10(%esp),%esi
40587c:	89 44 24 18          	mov    %eax,0x18(%esp)
405880:	83 d3 00             	adc    $0x0,%ebx
405883:	03 f9                	add    %ecx,%edi
405885:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
405889:	83 d1 00             	adc    $0x0,%ecx
40588c:	89 7c 24 28          	mov    %edi,0x28(%esp)
405890:	33 c0                	xor    %eax,%eax
405892:	8b 7c 24 20          	mov    0x20(%esp),%edi
405896:	03 d9                	add    %ecx,%ebx
405898:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40589c:	13 c0                	adc    %eax,%eax
40589e:	03 cb                	add    %ebx,%ecx
4058a0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4058a3:	13 d0                	adc    %eax,%edx
4058a5:	2b f1                	sub    %ecx,%esi
4058a7:	1b da                	sbb    %edx,%ebx
4058a9:	0f ac de 01          	shrd   $0x1,%ebx,%esi
4058ad:	d1 eb                	shr    $1,%ebx
4058af:	03 f1                	add    %ecx,%esi
4058b1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4058b4:	13 da                	adc    %edx,%ebx
4058b6:	0f ac de 09          	shrd   $0x9,%ebx,%esi
4058ba:	69 c6 e8 03 00 00    	imul   $0x3e8,%esi,%eax
4058c0:	c1 eb 09             	shr    $0x9,%ebx
4058c3:	89 74 24 28          	mov    %esi,0x28(%esp)
4058c7:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
4058cb:	2b c8                	sub    %eax,%ecx
4058cd:	66 89 4c 24 30       	mov    %cx,0x30(%esp)
4058d2:	8d 44 24 20          	lea    0x20(%esp),%eax
4058d6:	89 74 24 20          	mov    %esi,0x20(%esp)
4058da:	50                   	push   %eax
4058db:	8d 44 24 40          	lea    0x40(%esp),%eax
4058df:	89 5c 24 28          	mov    %ebx,0x28(%esp)
4058e3:	50                   	push   %eax
4058e4:	89 b7 f8 00 00 00    	mov    %esi,0xf8(%edi)
4058ea:	89 9f fc 00 00 00    	mov    %ebx,0xfc(%edi)
4058f0:	e8 e7 f1 01 00       	call   0x424adc
4058f5:	8d 44 24 44          	lea    0x44(%esp),%eax
4058f9:	50                   	push   %eax
4058fa:	68 80 db 44 00       	push   $0x44db80
4058ff:	8d 44 24 70          	lea    0x70(%esp),%eax
405903:	68 00 01 00 00       	push   $0x100
405908:	50                   	push   %eax
405909:	e8 20 07 02 00       	call   0x42602e
40590e:	0f b7 44 24 48       	movzwl 0x48(%esp),%eax
405913:	50                   	push   %eax
405914:	8d 44 24 7c          	lea    0x7c(%esp),%eax
405918:	50                   	push   %eax
405919:	68 8c db 44 00       	push   $0x44db8c
40591e:	68 00 01 00 00       	push   $0x100
405923:	ff 74 24 3c          	push   0x3c(%esp)
405927:	e8 f4 e2 ff ff       	call   0x403c20
40592c:	8b 8c 24 90 02 00 00 	mov    0x290(%esp),%ecx
405933:	83 c4 2c             	add    $0x2c,%esp
405936:	5f                   	pop    %edi
405937:	5e                   	pop    %esi
405938:	5b                   	pop    %ebx
405939:	33 cc                	xor    %esp,%ecx
40593b:	e8 90 5f 01 00       	call   0x41b8d0
405940:	8b e5                	mov    %ebp,%esp
405942:	5d                   	pop    %ebp
405943:	c2 0c 00             	ret    $0xc
405946:	cc                   	int3
405947:	cc                   	int3
405948:	cc                   	int3
405949:	cc                   	int3
40594a:	cc                   	int3
40594b:	cc                   	int3
40594c:	cc                   	int3
40594d:	cc                   	int3
40594e:	cc                   	int3
40594f:	cc                   	int3
405950:	55                   	push   %ebp
405951:	8b ec                	mov    %esp,%ebp
405953:	6a ff                	push   $0xffffffff
405955:	68 30 d6 43 00       	push   $0x43d630
40595a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405960:	50                   	push   %eax
405961:	56                   	push   %esi
405962:	57                   	push   %edi
405963:	a1 14 40 45 00       	mov    0x454014,%eax
405968:	33 c5                	xor    %ebp,%eax
40596a:	50                   	push   %eax
40596b:	8d 45 f4             	lea    -0xc(%ebp),%eax
40596e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405974:	8b f1                	mov    %ecx,%esi
405976:	8b 06                	mov    (%esi),%eax
405978:	8d 7e 68             	lea    0x68(%esi),%edi
40597b:	8d 4f b0             	lea    -0x50(%edi),%ecx
40597e:	8b 40 04             	mov    0x4(%eax),%eax
405981:	c7 44 38 98 b8 dd 44 	movl   $0x44ddb8,-0x68(%eax,%edi,1)
405988:	00
405989:	8b 06                	mov    (%esi),%eax
40598b:	8b 50 04             	mov    0x4(%eax),%edx
40598e:	8d 42 98             	lea    -0x68(%edx),%eax
405991:	89 44 3a 94          	mov    %eax,-0x6c(%edx,%edi,1)
405995:	e8 f6 32 00 00       	call   0x408c90
40599a:	8b 06                	mov    (%esi),%eax
40599c:	8b 40 04             	mov    0x4(%eax),%eax
40599f:	c7 44 38 98 f8 dc 44 	movl   $0x44dcf8,-0x68(%eax,%edi,1)
4059a6:	00
4059a7:	8b 06                	mov    (%esi),%eax
4059a9:	8b 48 04             	mov    0x4(%eax),%ecx
4059ac:	8d 41 e0             	lea    -0x20(%ecx),%eax
4059af:	89 44 39 94          	mov    %eax,-0x6c(%ecx,%edi,1)
4059b3:	8b 47 a8             	mov    -0x58(%edi),%eax
4059b6:	8b 40 04             	mov    0x4(%eax),%eax
4059b9:	c7 44 38 a8 00 dd 44 	movl   $0x44dd00,-0x58(%eax,%edi,1)
4059c0:	00
4059c1:	8b 47 a8             	mov    -0x58(%edi),%eax
4059c4:	8b 48 04             	mov    0x4(%eax),%ecx
4059c7:	8d 41 f8             	lea    -0x8(%ecx),%eax
4059ca:	89 44 39 a4          	mov    %eax,-0x5c(%ecx,%edi,1)
4059ce:	8b 06                	mov    (%esi),%eax
4059d0:	8b 40 04             	mov    0x4(%eax),%eax
4059d3:	c7 44 38 98 c8 dc 44 	movl   $0x44dcc8,-0x68(%eax,%edi,1)
4059da:	00
4059db:	8b 06                	mov    (%esi),%eax
4059dd:	8b 48 04             	mov    0x4(%eax),%ecx
4059e0:	8d 41 e8             	lea    -0x18(%ecx),%eax
4059e3:	89 44 39 94          	mov    %eax,-0x6c(%ecx,%edi,1)
4059e7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4059ee:	57                   	push   %edi
4059ef:	c7 07 f0 dc 44 00    	movl   $0x44dcf0,(%edi)
4059f5:	e8 88 5a 01 00       	call   0x41b482
4059fa:	83 c4 04             	add    $0x4,%esp
4059fd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
405a00:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405a07:	59                   	pop    %ecx
405a08:	5f                   	pop    %edi
405a09:	5e                   	pop    %esi
405a0a:	8b e5                	mov    %ebp,%esp
405a0c:	5d                   	pop    %ebp
405a0d:	c3                   	ret
405a0e:	cc                   	int3
405a0f:	cc                   	int3
405a10:	cc                   	int3
405a11:	cc                   	int3
405a12:	cc                   	int3
405a13:	cc                   	int3
405a14:	cc                   	int3
405a15:	cc                   	int3
405a16:	cc                   	int3
405a17:	cc                   	int3
405a18:	cc                   	int3
405a19:	cc                   	int3
405a1a:	cc                   	int3
405a1b:	cc                   	int3
405a1c:	cc                   	int3
405a1d:	cc                   	int3
405a1e:	cc                   	int3
405a1f:	cc                   	int3
405a20:	55                   	push   %ebp
405a21:	8b ec                	mov    %esp,%ebp
405a23:	6a ff                	push   $0xffffffff
405a25:	68 05 d7 43 00       	push   $0x43d705
405a2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405a30:	50                   	push   %eax
405a31:	81 ec 78 03 00 00    	sub    $0x378,%esp
405a37:	a1 14 40 45 00       	mov    0x454014,%eax
405a3c:	33 c5                	xor    %ebp,%eax
405a3e:	89 45 f0             	mov    %eax,-0x10(%ebp)
405a41:	53                   	push   %ebx
405a42:	56                   	push   %esi
405a43:	57                   	push   %edi
405a44:	50                   	push   %eax
405a45:	8d 45 f4             	lea    -0xc(%ebp),%eax
405a48:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405a4e:	8b d9                	mov    %ecx,%ebx
405a50:	8b 45 14             	mov    0x14(%ebp),%eax
405a53:	8b 75 2c             	mov    0x2c(%ebp),%esi
405a56:	8b ce                	mov    %esi,%ecx
405a58:	8b 7d 30             	mov    0x30(%ebp),%edi
405a5b:	89 85 f0 fc ff ff    	mov    %eax,-0x310(%ebp)
405a61:	8b 45 18             	mov    0x18(%ebp),%eax
405a64:	89 85 ec fc ff ff    	mov    %eax,-0x314(%ebp)
405a6a:	8d 51 02             	lea    0x2(%ecx),%edx
405a6d:	8b 45 1c             	mov    0x1c(%ebp),%eax
405a70:	89 85 e8 fc ff ff    	mov    %eax,-0x318(%ebp)
405a76:	8b 45 20             	mov    0x20(%ebp),%eax
405a79:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
405a7f:	8b 45 24             	mov    0x24(%ebp),%eax
405a82:	89 85 e0 fc ff ff    	mov    %eax,-0x320(%ebp)
405a88:	8b 45 28             	mov    0x28(%ebp),%eax
405a8b:	89 85 24 fd ff ff    	mov    %eax,-0x2dc(%ebp)
405a91:	c7 85 d8 fd ff ff 00 	movl   $0x0,-0x228(%ebp)
405a98:	00 00 00
405a9b:	c7 85 e8 fd ff ff 00 	movl   $0x0,-0x218(%ebp)
405aa2:	00 00 00
405aa5:	c7 85 ec fd ff ff 00 	movl   $0x0,-0x214(%ebp)
405aac:	00 00 00
405aaf:	90                   	nop
405ab0:	66 8b 01             	mov    (%ecx),%ax
405ab3:	83 c1 02             	add    $0x2,%ecx
405ab6:	66 85 c0             	test   %ax,%ax
405ab9:	75 f5                	jne    0x405ab0
405abb:	2b ca                	sub    %edx,%ecx
405abd:	d1 f9                	sar    $1,%ecx
405abf:	51                   	push   %ecx
405ac0:	56                   	push   %esi
405ac1:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
405ac7:	e8 44 ca ff ff       	call   0x402510
405acc:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
405ad2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
405ad9:	50                   	push   %eax
405ada:	ff 75 0c             	push   0xc(%ebp)
405add:	8b cb                	mov    %ebx,%ecx
405adf:	ff 75 08             	push   0x8(%ebp)
405ae2:	e8 09 fd ff ff       	call   0x4057f0
405ae7:	68 9c db 44 00       	push   $0x44db9c
405aec:	56                   	push   %esi
405aed:	e8 8a 76 01 00       	call   0x41d17c
405af2:	83 c4 08             	add    $0x8,%esp
405af5:	85 c0                	test   %eax,%eax