458894:	85 c0                	test   %eax,%eax
458896:	0f 8c e8 00 00 00    	jl     0x458984
45889c:	40                   	inc    %eax
45889d:	89 45 e0             	mov    %eax,-0x20(%ebp)
4588a0:	33 ff                	xor    %edi,%edi
4588a2:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4588a6:	0f 84 d8 00 00 00    	je     0x458984
4588ac:	8b 45 f8             	mov    -0x8(%ebp),%eax
4588af:	8b 10                	mov    (%eax),%edx
4588b1:	ff 52 2c             	call   *0x2c(%edx)
4588b4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4588b7:	8b 4a 34             	mov    0x34(%edx),%ecx
4588ba:	99                   	cltd
4588bb:	f7 f9                	idiv   %ecx
4588bd:	8b f0                	mov    %eax,%esi
4588bf:	4e                   	dec    %esi
4588c0:	85 f6                	test   %esi,%esi
4588c2:	0f 8c b2 00 00 00    	jl     0x45897a
4588c8:	46                   	inc    %esi
4588c9:	33 db                	xor    %ebx,%ebx
4588cb:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4588cf:	0f 84 a5 00 00 00    	je     0x45897a
4588d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4588d8:	8b 40 30             	mov    0x30(%eax),%eax
4588db:	50                   	push   %eax
4588dc:	8d 45 c0             	lea    -0x40(%ebp),%eax
4588df:	50                   	push   %eax
4588e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4588e3:	8b 48 34             	mov    0x34(%eax),%ecx
4588e6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4588e9:	8b 50 30             	mov    0x30(%eax),%edx
4588ec:	0f af d7             	imul   %edi,%edx
4588ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
4588f2:	8b 40 34             	mov    0x34(%eax),%eax
4588f5:	0f af c3             	imul   %ebx,%eax
4588f8:	e8 ab e4 fb ff       	call   0x416da8
4588fd:	8d 45 c0             	lea    -0x40(%ebp),%eax
458900:	50                   	push   %eax
458901:	8b 45 f8             	mov    -0x8(%ebp),%eax
458904:	e8 53 13 fd ff       	call   0x429c5c
458909:	50                   	push   %eax
45890a:	8b 45 f4             	mov    -0xc(%ebp),%eax
45890d:	e8 4a 13 fd ff       	call   0x429c5c
458912:	8d 55 d0             	lea    -0x30(%ebp),%edx
458915:	59                   	pop    %ecx
458916:	e8 45 c2 fc ff       	call   0x424b60
45891b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45891e:	8b 40 30             	mov    0x30(%eax),%eax
458921:	50                   	push   %eax
458922:	8d 45 c0             	lea    -0x40(%ebp),%eax
458925:	50                   	push   %eax
458926:	8b 45 fc             	mov    -0x4(%ebp),%eax
458929:	8b 48 34             	mov    0x34(%eax),%ecx
45892c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45892f:	8b 50 30             	mov    0x30(%eax),%edx
458932:	0f af d7             	imul   %edi,%edx
458935:	8b 45 fc             	mov    -0x4(%ebp),%eax
458938:	8b 40 34             	mov    0x34(%eax),%eax
45893b:	0f af c3             	imul   %ebx,%eax
45893e:	e8 65 e4 fb ff       	call   0x416da8
458943:	8d 45 c0             	lea    -0x40(%ebp),%eax
458946:	50                   	push   %eax
458947:	8b 45 f0             	mov    -0x10(%ebp),%eax
45894a:	e8 0d 13 fd ff       	call   0x429c5c
45894f:	50                   	push   %eax
458950:	8b 45 ec             	mov    -0x14(%ebp),%eax
458953:	e8 04 13 fd ff       	call   0x429c5c
458958:	8d 55 d0             	lea    -0x30(%ebp),%edx
45895b:	59                   	pop    %ecx
45895c:	e8 ff c1 fc ff       	call   0x424b60
458961:	8b 4d ec             	mov    -0x14(%ebp),%ecx
458964:	8b 55 f4             	mov    -0xc(%ebp),%edx
458967:	8b 45 fc             	mov    -0x4(%ebp),%eax
45896a:	e8 51 f3 ff ff       	call   0x457cc0
45896f:	ff 4d e4             	decl   -0x1c(%ebp)
458972:	43                   	inc    %ebx
458973:	4e                   	dec    %esi
458974:	0f 85 51 ff ff ff    	jne    0x4588cb
45897a:	47                   	inc    %edi
45897b:	ff 4d e0             	decl   -0x20(%ebp)
45897e:	0f 85 1e ff ff ff    	jne    0x4588a2
458984:	33 c0                	xor    %eax,%eax
458986:	5a                   	pop    %edx
458987:	59                   	pop    %ecx
458988:	59                   	pop    %ecx
458989:	64 89 10             	mov    %edx,%fs:(%eax)
45898c:	68 b1 89 45 00       	push   $0x4589b1
458991:	8b 45 f4             	mov    -0xc(%ebp),%eax
458994:	e8 83 af fa ff       	call   0x40391c
458999:	8b 45 ec             	mov    -0x14(%ebp),%eax
45899c:	e8 7b af fa ff       	call   0x40391c
4589a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4589a4:	e8 e7 03 00 00       	call   0x458d90
4589a9:	c3                   	ret
4589aa:	e9 01 b7 fa ff       	jmp    0x4040b0
4589af:	eb e0                	jmp    0x458991
4589b1:	33 c0                	xor    %eax,%eax
4589b3:	5a                   	pop    %edx
4589b4:	59                   	pop    %ecx
4589b5:	59                   	pop    %ecx
4589b6:	64 89 10             	mov    %edx,%fs:(%eax)
4589b9:	68 ce 89 45 00       	push   $0x4589ce
4589be:	8b 45 f0             	mov    -0x10(%ebp),%eax
4589c1:	e8 56 af fa ff       	call   0x40391c
4589c6:	c3                   	ret
4589c7:	e9 e4 b6 fa ff       	jmp    0x4040b0
4589cc:	eb f0                	jmp    0x4589be
4589ce:	33 c0                	xor    %eax,%eax
4589d0:	5a                   	pop    %edx
4589d1:	59                   	pop    %ecx
4589d2:	59                   	pop    %ecx
4589d3:	64 89 10             	mov    %edx,%fs:(%eax)
4589d6:	68 eb 89 45 00       	push   $0x4589eb
4589db:	8b 45 f8             	mov    -0x8(%ebp),%eax
4589de:	e8 39 af fa ff       	call   0x40391c
4589e3:	c3                   	ret
4589e4:	e9 c7 b6 fa ff       	jmp    0x4040b0
4589e9:	eb f0                	jmp    0x4589db
4589eb:	5f                   	pop    %edi
4589ec:	5e                   	pop    %esi
4589ed:	5b                   	pop    %ebx
4589ee:	8b e5                	mov    %ebp,%esp
4589f0:	5d                   	pop    %ebp
4589f1:	c3                   	ret
4589f2:	8b c0                	mov    %eax,%eax
4589f4:	55                   	push   %ebp
4589f5:	8b ec                	mov    %esp,%ebp
4589f7:	83 c4 ec             	add    $0xffffffec,%esp
4589fa:	53                   	push   %ebx
4589fb:	56                   	push   %esi
4589fc:	89 55 f8             	mov    %edx,-0x8(%ebp)
4589ff:	89 45 fc             	mov    %eax,-0x4(%ebp)
458a02:	6a 00                	push   $0x0
458a04:	8b 4d f8             	mov    -0x8(%ebp),%ecx
458a07:	b2 01                	mov    $0x1,%dl
458a09:	a1 5c 67 41 00       	mov    0x41675c,%eax
458a0e:	e8 19 69 fc ff       	call   0x41f32c
458a13:	89 45 f4             	mov    %eax,-0xc(%ebp)
458a16:	33 c0                	xor    %eax,%eax
458a18:	55                   	push   %ebp
458a19:	68 54 8a 45 00       	push   $0x458a54
458a1e:	64 ff 30             	push   %fs:(%eax)
458a21:	64 89 20             	mov    %esp,%fs:(%eax)
458a24:	8b 45 f4             	mov    -0xc(%ebp),%eax
458a27:	85 c0                	test   %eax,%eax
458a29:	74 03                	je     0x458a2e
458a2b:	83 e8 ec             	sub    $0xffffffec,%eax
458a2e:	50                   	push   %eax
458a2f:	e8 10 8d fc ff       	call   0x421744
458a34:	8b d0                	mov    %eax,%edx
458a36:	8b 45 fc             	mov    -0x4(%ebp),%eax
458a39:	e8 1a f1 ff ff       	call   0x457b58
458a3e:	33 c0                	xor    %eax,%eax
458a40:	5a                   	pop    %edx
458a41:	59                   	pop    %ecx
458a42:	59                   	pop    %ecx
458a43:	64 89 10             	mov    %edx,%fs:(%eax)
458a46:	68 5b 8a 45 00       	push   $0x458a5b
458a4b:	8b 45 f4             	mov    -0xc(%ebp),%eax
458a4e:	e8 c9 ae fa ff       	call   0x40391c
458a53:	c3                   	ret
458a54:	e9 57 b6 fa ff       	jmp    0x4040b0
458a59:	eb f0                	jmp    0x458a4b
458a5b:	8b 45 fc             	mov    -0x4(%ebp),%eax
458a5e:	e8 e5 ef ff ff       	call   0x457a48
458a63:	84 c0                	test   %al,%al
458a65:	0f 85 4a 01 00 00    	jne    0x458bb5
458a6b:	33 db                	xor    %ebx,%ebx
458a6d:	b2 01                	mov    $0x1,%dl
458a6f:	a1 54 65 41 00       	mov    0x416554,%eax
458a74:	e8 73 ae fa ff       	call   0x4038ec
458a79:	89 45 f0             	mov    %eax,-0x10(%ebp)
458a7c:	33 c0                	xor    %eax,%eax
458a7e:	55                   	push   %ebp
458a7f:	68 8b 8b 45 00       	push   $0x458b8b
458a84:	64 ff 30             	push   %fs:(%eax)
458a87:	64 89 20             	mov    %esp,%fs:(%eax)
458a8a:	6a 00                	push   $0x0
458a8c:	6a 00                	push   $0x0
458a8e:	8b 45 f8             	mov    -0x8(%ebp),%eax
458a91:	e8 be 1d fc ff       	call   0x41a854
458a96:	8b 55 f8             	mov    -0x8(%ebp),%edx
458a99:	8b 45 f0             	mov    -0x10(%ebp),%eax
458a9c:	e8 db 24 fc ff       	call   0x41af7c
458aa1:	6a 00                	push   $0x0
458aa3:	6a 12                	push   $0x12
458aa5:	8b 45 f0             	mov    -0x10(%ebp),%eax
458aa8:	e8 a7 1d fc ff       	call   0x41a854
458aad:	8d 55 ef             	lea    -0x11(%ebp),%edx
458ab0:	b9 01 00 00 00       	mov    $0x1,%ecx
458ab5:	8b 45 f0             	mov    -0x10(%ebp),%eax
458ab8:	8b 30                	mov    (%eax),%esi
458aba:	ff 56 0c             	call   *0xc(%esi)
458abd:	48                   	dec    %eax
458abe:	75 4c                	jne    0x458b0c
458ac0:	80 7d ef 01          	cmpb   $0x1,-0x11(%ebp)
458ac4:	75 46                	jne    0x458b0c
458ac6:	6a 00                	push   $0x0
458ac8:	6a 38                	push   $0x38
458aca:	8b 45 f0             	mov    -0x10(%ebp),%eax
458acd:	e8 82 1d fc ff       	call   0x41a854
458ad2:	8d 55 ee             	lea    -0x12(%ebp),%edx
458ad5:	b9 01 00 00 00       	mov    $0x1,%ecx
458ada:	8b 45 f0             	mov    -0x10(%ebp),%eax
458add:	8b 30                	mov    (%eax),%esi
458adf:	ff 56 0c             	call   *0xc(%esi)
458ae2:	48                   	dec    %eax
458ae3:	75 27                	jne    0x458b0c
458ae5:	0f b6 45 ee          	movzbl -0x12(%ebp),%eax
458ae9:	08 45 ef             	or     %al,-0x11(%ebp)
458aec:	6a 00                	push   $0x0
458aee:	6a 12                	push   $0x12
458af0:	8b 45 f0             	mov    -0x10(%ebp),%eax
458af3:	e8 5c 1d fc ff       	call   0x41a854
458af8:	8d 55 ef             	lea    -0x11(%ebp),%edx
458afb:	b9 01 00 00 00       	mov    $0x1,%ecx
458b00:	8b 45 f0             	mov    -0x10(%ebp),%eax
458b03:	8b 18                	mov    (%eax),%ebx
458b05:	ff 53 10             	call   *0x10(%ebx)
458b08:	48                   	dec    %eax
458b09:	0f 94 c3             	sete   %bl
458b0c:	84 db                	test   %bl,%bl
458b0e:	74 65                	je     0x458b75
458b10:	6a 00                	push   $0x0
458b12:	6a 00                	push   $0x0
458b14:	8b 45 f0             	mov    -0x10(%ebp),%eax
458b17:	e8 38 1d fc ff       	call   0x41a854
458b1c:	6a 00                	push   $0x0
458b1e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
458b21:	b2 01                	mov    $0x1,%dl
458b23:	a1 5c 67 41 00       	mov    0x41675c,%eax
458b28:	e8 ff 67 fc ff       	call   0x41f32c
458b2d:	89 45 f4             	mov    %eax,-0xc(%ebp)
458b30:	33 c0                	xor    %eax,%eax
458b32:	55                   	push   %ebp
458b33:	68 6e 8b 45 00       	push   $0x458b6e
458b38:	64 ff 30             	push   %fs:(%eax)
458b3b:	64 89 20             	mov    %esp,%fs:(%eax)
458b3e:	8b 45 f4             	mov    -0xc(%ebp),%eax
458b41:	85 c0                	test   %eax,%eax
458b43:	74 03                	je     0x458b48
458b45:	83 e8 ec             	sub    $0xffffffec,%eax
458b48:	50                   	push   %eax
458b49:	e8 f6 8b fc ff       	call   0x421744
458b4e:	8b d0                	mov    %eax,%edx
458b50:	8b 45 fc             	mov    -0x4(%ebp),%eax
458b53:	e8 00 f0 ff ff       	call   0x457b58
458b58:	33 c0                	xor    %eax,%eax
458b5a:	5a                   	pop    %edx
458b5b:	59                   	pop    %ecx
458b5c:	59                   	pop    %ecx
458b5d:	64 89 10             	mov    %edx,%fs:(%eax)
458b60:	68 75 8b 45 00       	push   $0x458b75
458b65:	8b 45 f4             	mov    -0xc(%ebp),%eax
458b68:	e8 af ad fa ff       	call   0x40391c
458b6d:	c3                   	ret
458b6e:	e9 3d b5 fa ff       	jmp    0x4040b0
458b73:	eb f0                	jmp    0x458b65
458b75:	33 c0                	xor    %eax,%eax
458b77:	5a                   	pop    %edx
458b78:	59                   	pop    %ecx
458b79:	59                   	pop    %ecx
458b7a:	64 89 10             	mov    %edx,%fs:(%eax)
458b7d:	68 92 8b 45 00       	push   $0x458b92
458b82:	8b 45 f0             	mov    -0x10(%ebp),%eax
458b85:	e8 92 ad fa ff       	call   0x40391c
458b8a:	c3                   	ret
458b8b:	e9 20 b5 fa ff       	jmp    0x4040b0
458b90:	eb f0                	jmp    0x458b82
458b92:	8b 45 fc             	mov    -0x4(%ebp),%eax
458b95:	e8 ae ee ff ff       	call   0x457a48
458b9a:	84 c0                	test   %al,%al
458b9c:	75 17                	jne    0x458bb5
458b9e:	8b 0d 00 77 4a 00    	mov    0x4a7700,%ecx
458ba4:	b2 01                	mov    $0x1,%dl
458ba6:	a1 10 59 41 00       	mov    0x415910,%eax
458bab:	e8 1c 39 fb ff       	call   0x40c4cc
458bb0:	e8 db b5 fa ff       	call   0x404190
458bb5:	5e                   	pop    %esi
458bb6:	5b                   	pop    %ebx
458bb7:	8b e5                	mov    %ebp,%esp
458bb9:	5d                   	pop    %ebp
458bba:	c3                   	ret
458bbb:	90                   	nop
458bbc:	53                   	push   %ebx
458bbd:	56                   	push   %esi
458bbe:	57                   	push   %edi
458bbf:	83 c4 f0             	add    $0xfffffff0,%esp
458bc2:	8b fa                	mov    %edx,%edi
458bc4:	8b f0                	mov    %eax,%esi
458bc6:	8b c6                	mov    %esi,%eax
458bc8:	e8 1b f0 ff ff       	call   0x457be8
458bcd:	8b c7                	mov    %edi,%eax
458bcf:	e8 60 1c fc ff       	call   0x41a834
458bd4:	89 44 24 0c          	mov    %eax,0xc(%esp)
458bd8:	8b d4                	mov    %esp,%edx
458bda:	b9 04 00 00 00       	mov    $0x4,%ecx
458bdf:	8b c7                	mov    %edi,%eax
458be1:	8b 18                	mov    (%eax),%ebx
458be3:	ff 53 0c             	call   *0xc(%ebx)
458be6:	8d 54 24 04          	lea    0x4(%esp),%edx
458bea:	b9 04 00 00 00       	mov    $0x4,%ecx
458bef:	8b c7                	mov    %edi,%eax
458bf1:	8b 18                	mov    (%eax),%ebx
458bf3:	ff 53 0c             	call   *0xc(%ebx)
458bf6:	0f b6 1c 24          	movzbl (%esp),%ebx
458bfa:	80 e3 ff             	and    $0xff,%bl
458bfd:	0f b7 04 24          	movzwl (%esp),%eax
458c01:	66 c1 e8 08          	shr    $0x8,%ax
458c05:	88 44 24 08          	mov    %al,0x8(%esp)
458c09:	8b 44 24 0c          	mov    0xc(%esp),%eax
458c0d:	99                   	cltd
458c0e:	52                   	push   %edx
458c0f:	50                   	push   %eax
458c10:	8b c7                	mov    %edi,%eax
458c12:	e8 3d 1c fc ff       	call   0x41a854
458c17:	8b 04 24             	mov    (%esp),%eax
458c1a:	3b 44 24 04          	cmp    0x4(%esp),%eax
458c1e:	74 17                	je     0x458c37
458c20:	80 fb 49             	cmp    $0x49,%bl
458c23:	75 12                	jne    0x458c37
458c25:	80 7c 24 08 4c       	cmpb   $0x4c,0x8(%esp)
458c2a:	75 0b                	jne    0x458c37
458c2c:	8b d7                	mov    %edi,%edx
458c2e:	8b c6                	mov    %esi,%eax
458c30:	e8 bf fd ff ff       	call   0x4589f4
458c35:	eb 09                	jmp    0x458c40
458c37:	8b d7                	mov    %edi,%edx
458c39:	8b c6                	mov    %esi,%eax
458c3b:	e8 20 fb ff ff       	call   0x458760
458c40:	83 c4 10             	add    $0x10,%esp
458c43:	5f                   	pop    %edi
458c44:	5e                   	pop    %esi
458c45:	5b                   	pop    %ebx
458c46:	c3                   	ret
458c47:	90                   	nop
458c48:	55                   	push   %ebp
458c49:	8b ec                	mov    %esp,%ebp
458c4b:	51                   	push   %ecx
458c4c:	53                   	push   %ebx
458c4d:	56                   	push   %esi
458c4e:	57                   	push   %edi
458c4f:	8b f2                	mov    %edx,%esi
458c51:	8b d8                	mov    %eax,%ebx
458c53:	83 3d a0 b5 4a 00 00 	cmpl   $0x0,0x4ab5a0
458c5a:	75 3b                	jne    0x458c97
458c5c:	b8 58 8d 45 00       	mov    $0x458d58,%eax
458c61:	e8 3a 40 fb ff       	call   0x40cca0
458c66:	a3 a0 b5 4a 00       	mov    %eax,0x4ab5a0
458c6b:	81 3d a0 b5 4a 00 00 	cmpl   $0x60000,0x4ab5a0