40587d:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
405884:	6a 00                	push   $0x0
405886:	ff 75 e0             	push   -0x20(%ebp)
405889:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
405890:	6a 00                	push   $0x0
405892:	ff 75 dc             	push   -0x24(%ebp)
405895:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40589c:	6a 00                	push   $0x0
40589e:	ff 75 d8             	push   -0x28(%ebp)
4058a1:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
4058a8:	6a 00                	push   $0x0
4058aa:	ff 75 d4             	push   -0x2c(%ebp)
4058ad:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
4058b4:	6a 00                	push   $0x0
4058b6:	ff 75 d0             	push   -0x30(%ebp)
4058b9:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
4058c0:	6a 00                	push   $0x0
4058c2:	ff 75 cc             	push   -0x34(%ebp)
4058c5:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
4058cc:	6a 00                	push   $0x0
4058ce:	ff 75 c8             	push   -0x38(%ebp)
4058d1:	6a 01                	push   $0x1
4058d3:	ff 75 08             	push   0x8(%ebp)
4058d6:	ff 35 30 99 50 00    	push   0x509930
4058dc:	e8 09 ce ff ff       	call   0x4026ea
4058e1:	8b e5                	mov    %ebp,%esp
4058e3:	5d                   	pop    %ebp
4058e4:	c2 04 00             	ret    $0x4
4058e7:	55                   	push   %ebp
4058e8:	8b ec                	mov    %esp,%ebp
4058ea:	81 ec 0c 00 00 00    	sub    $0xc,%esp
4058f0:	ff 75 08             	push   0x8(%ebp)
4058f3:	e8 39 00 00 00       	call   0x405931
4058f8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4058fb:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
405902:	6a 00                	push   $0x0
405904:	ff 75 f8             	push   -0x8(%ebp)
405907:	8d 45 fc             	lea    -0x4(%ebp),%eax
40590a:	50                   	push   %eax
40590b:	e8 7f 01 00 00       	call   0x405a8f
405910:	89 45 f4             	mov    %eax,-0xc(%ebp)
405913:	8b 5d fc             	mov    -0x4(%ebp),%ebx
405916:	85 db                	test   %ebx,%ebx
405918:	74 09                	je     0x405923
40591a:	53                   	push   %ebx
40591b:	e8 84 ac 09 00       	call   0x4a05a4
405920:	83 c4 04             	add    $0x4,%esp
405923:	8b 45 f4             	mov    -0xc(%ebp),%eax
405926:	e9 00 00 00 00       	jmp    0x40592b
40592b:	8b e5                	mov    %ebp,%esp
40592d:	5d                   	pop    %ebp
40592e:	c2 04 00             	ret    $0x4
405931:	55                   	push   %ebp
405932:	8b ec                	mov    %esp,%ebp
405934:	81 ec 0c 00 00 00    	sub    $0xc,%esp
40593a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
405941:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
405948:	89 65 f4             	mov    %esp,-0xc(%ebp)
40594b:	8d 45 fc             	lea    -0x4(%ebp),%eax
40594e:	50                   	push   %eax
40594f:	ff 75 08             	push   0x8(%ebp)
405952:	33 c0                	xor    %eax,%eax
405954:	ff 15 9c 9a 50 00    	call   *0x509a9c
40595a:	90                   	nop
40595b:	90                   	nop
40595c:	39 65 f4             	cmp    %esp,-0xc(%ebp)
40595f:	74 17                	je     0x405978
405961:	68 00 00 00 00       	push   $0x0
405966:	68 bb d0 03 04       	push   $0x403d0bb
40596b:	68 06 00 00 00       	push   $0x6
405970:	e8 35 ac 09 00       	call   0x4a05aa
405975:	83 c4 0c             	add    $0xc,%esp
405978:	68 01 03 00 80       	push   $0x80000301
40597d:	6a 00                	push   $0x0
40597f:	68 40 00 00 00       	push   $0x40
405984:	68 01 00 00 00       	push   $0x1
405989:	bb bc 01 00 00       	mov    $0x1bc,%ebx
40598e:	e8 5d bb 09 00       	call   0x4a14f0
405993:	83 c4 10             	add    $0x10,%esp
405996:	89 45 f4             	mov    %eax,-0xc(%ebp)
405999:	8b 45 f4             	mov    -0xc(%ebp),%eax
40599c:	50                   	push   %eax
40599d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4059a0:	85 db                	test   %ebx,%ebx
4059a2:	74 09                	je     0x4059ad
4059a4:	53                   	push   %ebx
4059a5:	e8 fa ab 09 00       	call   0x4a05a4
4059aa:	83 c4 04             	add    $0x4,%esp
4059ad:	58                   	pop    %eax
4059ae:	89 45 f8             	mov    %eax,-0x8(%ebp)
4059b1:	89 65 f4             	mov    %esp,-0xc(%ebp)
4059b4:	68 00 00 00 00       	push   $0x0
4059b9:	8b 45 f8             	mov    -0x8(%ebp),%eax
4059bc:	85 c0                	test   %eax,%eax
4059be:	74 03                	je     0x4059c3
4059c0:	83 c0 08             	add    $0x8,%eax
4059c3:	50                   	push   %eax
4059c4:	ff 75 fc             	push   -0x4(%ebp)
4059c7:	33 c0                	xor    %eax,%eax
4059c9:	ff 15 28 34 4b 00    	call   *0x4b3428
4059cf:	90                   	nop
4059d0:	90                   	nop
4059d1:	39 65 f4             	cmp    %esp,-0xc(%ebp)
4059d4:	74 17                	je     0x4059ed
4059d6:	68 57 00 00 00       	push   $0x57
4059db:	68 bb d0 03 04       	push   $0x403d0bb
4059e0:	68 06 00 00 00       	push   $0x6
4059e5:	e8 c0 ab 09 00       	call   0x4a05aa
4059ea:	83 c4 0c             	add    $0xc,%esp
4059ed:	8b 45 f8             	mov    -0x8(%ebp),%eax
4059f0:	85 c0                	test   %eax,%eax
4059f2:	74 13                	je     0x405a07
4059f4:	50                   	push   %eax
4059f5:	8b 40 04             	mov    0x4(%eax),%eax
4059f8:	83 c0 08             	add    $0x8,%eax
4059fb:	50                   	push   %eax
4059fc:	e8 9d ab 09 00       	call   0x4a059e
405a01:	59                   	pop    %ecx
405a02:	5e                   	pop    %esi
405a03:	8b f8                	mov    %eax,%edi
405a05:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
405a07:	e9 00 00 00 00       	jmp    0x405a0c
405a0c:	50                   	push   %eax
405a0d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
405a10:	85 db                	test   %ebx,%ebx
405a12:	74 09                	je     0x405a1d
405a14:	53                   	push   %ebx
405a15:	e8 8a ab 09 00       	call   0x4a05a4
405a1a:	83 c4 04             	add    $0x4,%esp
405a1d:	58                   	pop    %eax
405a1e:	8b e5                	mov    %ebp,%esp
405a20:	5d                   	pop    %ebp
405a21:	c2 04 00             	ret    $0x4
405a24:	85 db                	test   %ebx,%ebx
405a26:	75 03                	jne    0x405a2b
405a28:	33 c0                	xor    %eax,%eax
405a2a:	c3                   	ret
405a2b:	8b cb                	mov    %ebx,%ecx
405a2d:	f7 c1 03 00 00 00    	test   $0x3,%ecx
405a33:	74 0f                	je     0x405a44
405a35:	8a 01                	mov    (%ecx),%al
405a37:	41                   	inc    %ecx
405a38:	84 c0                	test   %al,%al
405a3a:	74 3b                	je     0x405a77
405a3c:	f7 c1 03 00 00 00    	test   $0x3,%ecx
405a42:	75 f1                	jne    0x405a35
405a44:	8b 01                	mov    (%ecx),%eax
405a46:	ba ff fe fe 7e       	mov    $0x7efefeff,%edx
405a4b:	03 d0                	add    %eax,%edx
405a4d:	83 f0 ff             	xor    $0xffffffff,%eax
405a50:	33 c2                	xor    %edx,%eax
405a52:	83 c1 04             	add    $0x4,%ecx
405a55:	a9 00 01 01 81       	test   $0x81010100,%eax
405a5a:	74 e8                	je     0x405a44
405a5c:	8b 41 fc             	mov    -0x4(%ecx),%eax
405a5f:	84 c0                	test   %al,%al
405a61:	74 26                	je     0x405a89
405a63:	84 e4                	test   %ah,%ah
405a65:	74 1c                	je     0x405a83
405a67:	a9 00 00 ff 00       	test   $0xff0000,%eax
405a6c:	74 0f                	je     0x405a7d
405a6e:	a9 00 00 00 ff       	test   $0xff000000,%eax
405a73:	74 02                	je     0x405a77
405a75:	eb cd                	jmp    0x405a44
405a77:	8d 41 ff             	lea    -0x1(%ecx),%eax
405a7a:	2b c3                	sub    %ebx,%eax
405a7c:	c3                   	ret
405a7d:	8d 41 fe             	lea    -0x2(%ecx),%eax
405a80:	2b c3                	sub    %ebx,%eax
405a82:	c3                   	ret
405a83:	8d 41 fd             	lea    -0x3(%ecx),%eax
405a86:	2b c3                	sub    %ebx,%eax
405a88:	c3                   	ret
405a89:	8d 41 fc             	lea    -0x4(%ecx),%eax
405a8c:	2b c3                	sub    %ebx,%eax
405a8e:	c3                   	ret
405a8f:	55                   	push   %ebp
405a90:	8b ec                	mov    %esp,%ebp
405a92:	81 ec 20 00 00 00    	sub    $0x20,%esp
405a98:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
405a9f:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
405aa6:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
405aad:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
405ab1:	0f 85 07 00 00 00    	jne    0x405abe
405ab7:	c7 45 0c a8 03 00 00 	movl   $0x3a8,0xc(%ebp)
405abe:	68 05 00 00 80       	push   $0x80000005
405ac3:	6a 00                	push   $0x0
405ac5:	8b 5d 08             	mov    0x8(%ebp),%ebx
405ac8:	8b 03                	mov    (%ebx),%eax
405aca:	85 c0                	test   %eax,%eax
405acc:	75 05                	jne    0x405ad3
405ace:	b8 51 34 4c 00       	mov    $0x4c3451,%eax
405ad3:	50                   	push   %eax
405ad4:	68 01 00 00 00       	push   $0x1
405ad9:	bb 94 01 00 00       	mov    $0x194,%ebx
405ade:	e8 9d b9 09 00       	call   0x4a1480
405ae3:	83 c4 10             	add    $0x10,%esp
405ae6:	89 45 e8             	mov    %eax,-0x18(%ebp)
405ae9:	db 45 e8             	fildl  -0x18(%ebp)
405aec:	dd 5d e8             	fstpl  -0x18(%ebp)
405aef:	dd 45 e8             	fldl   -0x18(%ebp)
405af2:	dc 35 fa bb 4c 00    	fdivl  0x4cbbfa
405af8:	dd 5d e0             	fstpl  -0x20(%ebp)
405afb:	dd 45 e0             	fldl   -0x20(%ebp)
405afe:	e8 ec b6 ff ff       	call   0x4011ef
405b03:	89 45 fc             	mov    %eax,-0x4(%ebp)
405b06:	ff 75 08             	push   0x8(%ebp)
405b09:	e8 ba b6 ff ff       	call   0x4011c8
405b0e:	89 45 f0             	mov    %eax,-0x10(%ebp)
405b11:	89 65 ec             	mov    %esp,-0x14(%ebp)
405b14:	68 00 00 00 00       	push   $0x0
405b19:	68 00 00 00 00       	push   $0x0
405b1e:	68 00 00 00 00       	push   $0x0
405b23:	ff 75 f4             	push   -0xc(%ebp)
405b26:	ff 75 fc             	push   -0x4(%ebp)
405b29:	ff 75 f0             	push   -0x10(%ebp)
405b2c:	68 00 00 00 00       	push   $0x0
405b31:	ff 75 0c             	push   0xc(%ebp)
405b34:	33 c0                	xor    %eax,%eax
405b36:	ff 15 a8 31 4b 00    	call   *0x4b31a8
405b3c:	90                   	nop
405b3d:	90                   	nop
405b3e:	39 65 ec             	cmp    %esp,-0x14(%ebp)
405b41:	74 17                	je     0x405b5a
405b43:	68 dd 00 00 00       	push   $0xdd
405b48:	68 2e ce 03 04       	push   $0x403ce2e
405b4d:	68 06 00 00 00       	push   $0x6
405b52:	e8 53 aa 09 00       	call   0x4a05aa
405b57:	83 c4 0c             	add    $0xc,%esp
405b5a:	89 45 f8             	mov    %eax,-0x8(%ebp)
405b5d:	68 01 03 00 80       	push   $0x80000301
405b62:	6a 00                	push   $0x0
405b64:	ff 75 f8             	push   -0x8(%ebp)
405b67:	68 01 00 00 00       	push   $0x1
405b6c:	bb 84 01 00 00       	mov    $0x184,%ebx
405b71:	e8 aa b9 09 00       	call   0x4a1520
405b76:	83 c4 10             	add    $0x10,%esp
405b79:	89 45 f0             	mov    %eax,-0x10(%ebp)
405b7c:	8b 45 f0             	mov    -0x10(%ebp),%eax
405b7f:	50                   	push   %eax
405b80:	8b 5d f4             	mov    -0xc(%ebp),%ebx
405b83:	85 db                	test   %ebx,%ebx
405b85:	74 09                	je     0x405b90
405b87:	53                   	push   %ebx
405b88:	e8 17 aa 09 00       	call   0x4a05a4
405b8d:	83 c4 04             	add    $0x4,%esp
405b90:	58                   	pop    %eax
405b91:	89 45 f4             	mov    %eax,-0xc(%ebp)
405b94:	ff 75 08             	push   0x8(%ebp)
405b97:	e8 2c b6 ff ff       	call   0x4011c8
405b9c:	89 45 f0             	mov    %eax,-0x10(%ebp)
405b9f:	89 65 ec             	mov    %esp,-0x14(%ebp)
405ba2:	68 00 00 00 00       	push   $0x0
405ba7:	68 00 00 00 00       	push   $0x0
405bac:	ff 75 f8             	push   -0x8(%ebp)
405baf:	ff 75 f4             	push   -0xc(%ebp)
405bb2:	ff 75 fc             	push   -0x4(%ebp)
405bb5:	ff 75 f0             	push   -0x10(%ebp)
405bb8:	68 00 00 00 00       	push   $0x0
405bbd:	ff 75 0c             	push   0xc(%ebp)
405bc0:	33 c0                	xor    %eax,%eax
405bc2:	ff 15 a8 31 4b 00    	call   *0x4b31a8
405bc8:	90                   	nop
405bc9:	90                   	nop
405bca:	39 65 ec             	cmp    %esp,-0x14(%ebp)
405bcd:	74 17                	je     0x405be6
405bcf:	68 9c 01 00 00       	push   $0x19c
405bd4:	68 2e ce 03 04       	push   $0x403ce2e
405bd9:	68 06 00 00 00       	push   $0x6
405bde:	e8 c7 a9 09 00       	call   0x4a05aa
405be3:	83 c4 0c             	add    $0xc,%esp
405be6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405be9:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
405bed:	0f 85 0a 00 00 00    	jne    0x405bfd
405bf3:	b8 34 ea 4d 00       	mov    $0x4dea34,%eax
405bf8:	e9 21 00 00 00       	jmp    0x405c1e
405bfd:	8b 45 f4             	mov    -0xc(%ebp),%eax
405c00:	85 c0                	test   %eax,%eax
405c02:	74 15                	je     0x405c19
405c04:	50                   	push   %eax
405c05:	8b d8                	mov    %eax,%ebx
405c07:	e8 18 fe ff ff       	call   0x405a24
405c0c:	40                   	inc    %eax
405c0d:	50                   	push   %eax
405c0e:	e8 8b a9 09 00       	call   0x4a059e
405c13:	59                   	pop    %ecx
405c14:	5e                   	pop    %esi
405c15:	8b f8                	mov    %eax,%edi
405c17:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
405c19:	e9 00 00 00 00       	jmp    0x405c1e
405c1e:	50                   	push   %eax
405c1f:	8b 5d f4             	mov    -0xc(%ebp),%ebx
405c22:	85 db                	test   %ebx,%ebx
405c24:	74 09                	je     0x405c2f
405c26:	53                   	push   %ebx
405c27:	e8 78 a9 09 00       	call   0x4a05a4
405c2c:	83 c4 04             	add    $0x4,%esp
405c2f:	58                   	pop    %eax
405c30:	8b e5                	mov    %ebp,%esp
405c32:	5d                   	pop    %ebp
405c33:	c2 0c 00             	ret    $0xc
405c36:	55                   	push   %ebp
405c37:	8b ec                	mov    %esp,%ebp
405c39:	81 ec 08 00 00 00    	sub    $0x8,%esp
405c3f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
405c46:	89 65 f8             	mov    %esp,-0x8(%ebp)
405c49:	8d 45 fc             	lea    -0x4(%ebp),%eax
405c4c:	50                   	push   %eax
405c4d:	ff 75 08             	push   0x8(%ebp)
405c50:	33 c0                	xor    %eax,%eax
405c52:	ff 15 24 34 4b 00    	call   *0x4b3424
405c58:	90                   	nop
405c59:	90                   	nop
405c5a:	39 65 f8             	cmp    %esp,-0x8(%ebp)
405c5d:	74 17                	je     0x405c76
405c5f:	68 00 00 00 00       	push   $0x0
405c64:	68 a9 ce 03 04       	push   $0x403cea9
405c69:	68 06 00 00 00       	push   $0x6
405c6e:	e8 37 a9 09 00       	call   0x4a05aa
405c73:	83 c4 0c             	add    $0xc,%esp
405c76:	8b 45 fc             	mov    -0x4(%ebp),%eax
405c79:	e9 00 00 00 00       	jmp    0x405c7e
405c7e:	8b e5                	mov    %ebp,%esp
405c80:	5d                   	pop    %ebp
405c81:	c2 04 00             	ret    $0x4
405c84:	55                   	push   %ebp
405c85:	8b ec                	mov    %esp,%ebp
405c87:	81 ec 08 00 00 00    	sub    $0x8,%esp
405c8d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
405c94:	89 65 f8             	mov    %esp,-0x8(%ebp)
405c97:	8d 45 fc             	lea    -0x4(%ebp),%eax
405c9a:	50                   	push   %eax
405c9b:	ff 75 08             	push   0x8(%ebp)
405c9e:	33 c0                	xor    %eax,%eax
405ca0:	ff 15 f4 33 4b 00    	call   *0x4b33f4
405ca6:	90                   	nop
405ca7:	90                   	nop
405ca8:	39 65 f8             	cmp    %esp,-0x8(%ebp)
405cab:	74 17                	je     0x405cc4
405cad:	68 00 00 00 00       	push   $0x0
405cb2:	68 a8 ce 03 04       	push   $0x403cea8
405cb7:	68 06 00 00 00       	push   $0x6
405cbc:	e8 e9 a8 09 00       	call   0x4a05aa
405cc1:	83 c4 0c             	add    $0xc,%esp
405cc4:	8b 45 fc             	mov    -0x4(%ebp),%eax
405cc7:	e9 00 00 00 00       	jmp    0x405ccc
405ccc:	8b e5                	mov    %ebp,%esp
405cce:	5d                   	pop    %ebp
405ccf:	c2 04 00             	ret    $0x4
405cd2:	55                   	push   %ebp