408842:	e8 69 16 00 00       	call   0x409eb0
408847:	83 c4 08             	add    $0x8,%esp
40884a:	6a 70                	push   $0x70
40884c:	e8 2f e0 ff ff       	call   0x406880
408851:	83 c4 04             	add    $0x4,%esp
408854:	89 45 f4             	mov    %eax,-0xc(%ebp)
408857:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
40885b:	0f 84 2b 02 00 00    	je     0x408a8c
408861:	8b 4d 14             	mov    0x14(%ebp),%ecx
408864:	51                   	push   %ecx
408865:	8b 55 f4             	mov    -0xc(%ebp),%edx
408868:	52                   	push   %edx
408869:	e8 d2 7b 00 00       	call   0x410440
40886e:	83 c4 08             	add    $0x8,%esp
408871:	85 c0                	test   %eax,%eax
408873:	0f 84 07 02 00 00    	je     0x408a80
408879:	e8 82 cb ff ff       	call   0x405400
40887e:	8b 40 10             	mov    0x10(%eax),%eax
408881:	50                   	push   %eax
408882:	e8 f9 df ff ff       	call   0x406880
408887:	83 c4 04             	add    $0x4,%esp
40888a:	89 45 f8             	mov    %eax,-0x8(%ebp)
40888d:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
408891:	0f 84 e9 01 00 00    	je     0x408a80
408897:	e8 64 cb ff ff       	call   0x405400
40889c:	8b 48 10             	mov    0x10(%eax),%ecx
40889f:	51                   	push   %ecx
4088a0:	e8 db df ff ff       	call   0x406880
4088a5:	83 c4 04             	add    $0x4,%esp
4088a8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4088ab:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4088af:	0f 84 bf 01 00 00    	je     0x408a74
4088b5:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
4088bc:	0f 57 c0             	xorps  %xmm0,%xmm0
4088bf:	66 0f 13 45 d0       	movlpd %xmm0,-0x30(%ebp)
4088c4:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
4088cb:	8b 55 d0             	mov    -0x30(%ebp),%edx
4088ce:	3b 55 0c             	cmp    0xc(%ebp),%edx
4088d1:	75 0c                	jne    0x4088df
4088d3:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4088d6:	3b 45 10             	cmp    0x10(%ebp),%eax
4088d9:	0f 84 2d 01 00 00    	je     0x408a0c
4088df:	e8 1c cb ff ff       	call   0x405400
4088e4:	8b 48 10             	mov    0x10(%eax),%ecx
4088e7:	33 d2                	xor    %edx,%edx
4088e9:	8b 45 0c             	mov    0xc(%ebp),%eax
4088ec:	2b 45 d0             	sub    -0x30(%ebp),%eax
4088ef:	8b 75 10             	mov    0x10(%ebp),%esi
4088f2:	1b 75 d4             	sbb    -0x2c(%ebp),%esi
4088f5:	89 4d c0             	mov    %ecx,-0x40(%ebp)
4088f8:	89 55 c4             	mov    %edx,-0x3c(%ebp)
4088fb:	89 45 b8             	mov    %eax,-0x48(%ebp)
4088fe:	89 75 bc             	mov    %esi,-0x44(%ebp)
408901:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
408904:	3b 4d bc             	cmp    -0x44(%ebp),%ecx
408907:	7f 1c                	jg     0x408925
408909:	7c 08                	jl     0x408913
40890b:	8b 55 c0             	mov    -0x40(%ebp),%edx
40890e:	3b 55 b8             	cmp    -0x48(%ebp),%edx
408911:	73 12                	jae    0x408925
408913:	e8 e8 ca ff ff       	call   0x405400
408918:	8b 40 10             	mov    0x10(%eax),%eax
40891b:	33 c9                	xor    %ecx,%ecx
40891d:	89 45 c8             	mov    %eax,-0x38(%ebp)
408920:	89 4d cc             	mov    %ecx,-0x34(%ebp)
408923:	eb 12                	jmp    0x408937
408925:	8b 55 0c             	mov    0xc(%ebp),%edx
408928:	2b 55 d0             	sub    -0x30(%ebp),%edx
40892b:	8b 45 10             	mov    0x10(%ebp),%eax
40892e:	1b 45 d4             	sbb    -0x2c(%ebp),%eax
408931:	89 55 c8             	mov    %edx,-0x38(%ebp)
408934:	89 45 cc             	mov    %eax,-0x34(%ebp)
408937:	8b 4d c8             	mov    -0x38(%ebp),%ecx
40893a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40893d:	6a 00                	push   $0x0
40893f:	8d 55 dc             	lea    -0x24(%ebp),%edx
408942:	52                   	push   %edx
408943:	8b 45 fc             	mov    -0x4(%ebp),%eax
408946:	50                   	push   %eax
408947:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40894a:	51                   	push   %ecx
40894b:	8b 55 08             	mov    0x8(%ebp),%edx
40894e:	52                   	push   %edx
40894f:	e8 6c 9c ff ff       	call   0x4025c0
408954:	8b 80 d8 00 00 00    	mov    0xd8(%eax),%eax
40895a:	ff d0                	call   *%eax
40895c:	85 c0                	test   %eax,%eax
40895e:	0f 84 9b 00 00 00    	je     0x4089ff
408964:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408967:	51                   	push   %ecx
408968:	8b 55 f8             	mov    -0x8(%ebp),%edx
40896b:	52                   	push   %edx
40896c:	8b 45 f4             	mov    -0xc(%ebp),%eax
40896f:	50                   	push   %eax
408970:	e8 3b 76 00 00       	call   0x40ffb0
408975:	83 c4 0c             	add    $0xc,%esp
408978:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40897b:	51                   	push   %ecx
40897c:	8b 55 e8             	mov    -0x18(%ebp),%edx
40897f:	52                   	push   %edx
408980:	8b 45 f8             	mov    -0x8(%ebp),%eax
408983:	50                   	push   %eax
408984:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408987:	51                   	push   %ecx
408988:	e8 03 16 00 00       	call   0x409f90
40898d:	83 c4 10             	add    $0x10,%esp
408990:	8b 55 d0             	mov    -0x30(%ebp),%edx
408993:	89 55 b0             	mov    %edx,-0x50(%ebp)
408996:	8b 45 d4             	mov    -0x2c(%ebp),%eax
408999:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40899c:	6a 00                	push   $0x0
40899e:	6a 00                	push   $0x0
4089a0:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
4089a3:	51                   	push   %ecx
4089a4:	8b 55 b0             	mov    -0x50(%ebp),%edx
4089a7:	52                   	push   %edx
4089a8:	8b 45 08             	mov    0x8(%ebp),%eax
4089ab:	50                   	push   %eax
4089ac:	e8 0f 9c ff ff       	call   0x4025c0
4089b1:	8b 88 e4 00 00 00    	mov    0xe4(%eax),%ecx
4089b7:	ff d1                	call   *%ecx
4089b9:	85 c0                	test   %eax,%eax
4089bb:	74 42                	je     0x4089ff
4089bd:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
4089c4:	6a 00                	push   $0x0
4089c6:	8d 55 d8             	lea    -0x28(%ebp),%edx
4089c9:	52                   	push   %edx
4089ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
4089cd:	50                   	push   %eax
4089ce:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4089d1:	51                   	push   %ecx
4089d2:	8b 55 08             	mov    0x8(%ebp),%edx
4089d5:	52                   	push   %edx
4089d6:	e8 e5 9b ff ff       	call   0x4025c0
4089db:	8b 80 d4 00 00 00    	mov    0xd4(%eax),%eax
4089e1:	ff d0                	call   *%eax
4089e3:	85 c0                	test   %eax,%eax
4089e5:	74 18                	je     0x4089ff
4089e7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4089ea:	33 d2                	xor    %edx,%edx
4089ec:	03 4d d0             	add    -0x30(%ebp),%ecx
4089ef:	13 55 d4             	adc    -0x2c(%ebp),%edx
4089f2:	89 4d d0             	mov    %ecx,-0x30(%ebp)
4089f5:	89 55 d4             	mov    %edx,-0x2c(%ebp)
4089f8:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
4089ff:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
408a03:	75 02                	jne    0x408a07
408a05:	eb 05                	jmp    0x408a0c
408a07:	e9 bf fe ff ff       	jmp    0x4088cb
408a0c:	8b 45 d0             	mov    -0x30(%ebp),%eax
408a0f:	3b 45 0c             	cmp    0xc(%ebp),%eax
408a12:	75 54                	jne    0x408a68
408a14:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408a17:	3b 4d 10             	cmp    0x10(%ebp),%ecx
408a1a:	75 4c                	jne    0x408a68
408a1c:	6a 20                	push   $0x20
408a1e:	e8 5d de ff ff       	call   0x406880
408a23:	83 c4 04             	add    $0x4,%esp
408a26:	89 45 ec             	mov    %eax,-0x14(%ebp)
408a29:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
408a2d:	74 39                	je     0x408a68
408a2f:	8b 55 ec             	mov    -0x14(%ebp),%edx
408a32:	52                   	push   %edx
408a33:	8b 45 14             	mov    0x14(%ebp),%eax
408a36:	50                   	push   %eax
408a37:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408a3a:	51                   	push   %ecx
408a3b:	e8 a0 7a 00 00       	call   0x4104e0
408a40:	83 c4 0c             	add    $0xc,%esp
408a43:	85 c0                	test   %eax,%eax
408a45:	74 0f                	je     0x408a56
408a47:	8b 55 1c             	mov    0x1c(%ebp),%edx
408a4a:	8b 45 ec             	mov    -0x14(%ebp),%eax
408a4d:	89 02                	mov    %eax,(%edx)
408a4f:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
408a56:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
408a5a:	75 0c                	jne    0x408a68
408a5c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
408a5f:	51                   	push   %ecx
408a60:	e8 4b de ff ff       	call   0x4068b0
408a65:	83 c4 04             	add    $0x4,%esp
408a68:	8b 55 e8             	mov    -0x18(%ebp),%edx
408a6b:	52                   	push   %edx
408a6c:	e8 3f de ff ff       	call   0x4068b0
408a71:	83 c4 04             	add    $0x4,%esp
408a74:	8b 45 f8             	mov    -0x8(%ebp),%eax
408a77:	50                   	push   %eax
408a78:	e8 33 de ff ff       	call   0x4068b0
408a7d:	83 c4 04             	add    $0x4,%esp
408a80:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408a83:	51                   	push   %ecx
408a84:	e8 27 de ff ff       	call   0x4068b0
408a89:	83 c4 04             	add    $0x4,%esp
408a8c:	8b 55 f0             	mov    -0x10(%ebp),%edx
408a8f:	52                   	push   %edx
408a90:	e8 1b de ff ff       	call   0x4068b0
408a95:	83 c4 04             	add    $0x4,%esp
408a98:	8b 45 e4             	mov    -0x1c(%ebp),%eax
408a9b:	5e                   	pop    %esi
408a9c:	8b e5                	mov    %ebp,%esp
408a9e:	5d                   	pop    %ebp
408a9f:	c3                   	ret
408aa0:	55                   	push   %ebp
408aa1:	8b ec                	mov    %esp,%ebp
408aa3:	83 ec 20             	sub    $0x20,%esp
408aa6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408aad:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
408ab1:	75 08                	jne    0x408abb
408ab3:	8b 45 fc             	mov    -0x4(%ebp),%eax
408ab6:	e9 df 00 00 00       	jmp    0x408b9a
408abb:	a1 84 71 41 00       	mov    0x417184,%eax
408ac0:	33 c9                	xor    %ecx,%ecx
408ac2:	8b 55 0c             	mov    0xc(%ebp),%edx
408ac5:	89 55 f8             	mov    %edx,-0x8(%ebp)
408ac8:	89 45 e0             	mov    %eax,-0x20(%ebp)
408acb:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
408ace:	8b 45 f8             	mov    -0x8(%ebp),%eax
408ad1:	8b 48 04             	mov    0x4(%eax),%ecx
408ad4:	3b 4d e4             	cmp    -0x1c(%ebp),%ecx
408ad7:	0f 8c b3 00 00 00    	jl     0x408b90
408add:	7f 0e                	jg     0x408aed
408adf:	8b 55 f8             	mov    -0x8(%ebp),%edx
408ae2:	8b 02                	mov    (%edx),%eax
408ae4:	3b 45 e0             	cmp    -0x20(%ebp),%eax
408ae7:	0f 82 a3 00 00 00    	jb     0x408b90
408aed:	8b 4d 0c             	mov    0xc(%ebp),%ecx
408af0:	8b 11                	mov    (%ecx),%edx
408af2:	83 ea 04             	sub    $0x4,%edx
408af5:	8b 41 04             	mov    0x4(%ecx),%eax
408af8:	83 d8 00             	sbb    $0x0,%eax
408afb:	89 55 e8             	mov    %edx,-0x18(%ebp)
408afe:	89 45 ec             	mov    %eax,-0x14(%ebp)
408b01:	6a 00                	push   $0x0
408b03:	6a 00                	push   $0x0
408b05:	8b 4d ec             	mov    -0x14(%ebp),%ecx
408b08:	51                   	push   %ecx
408b09:	8b 55 e8             	mov    -0x18(%ebp),%edx
408b0c:	52                   	push   %edx
408b0d:	8b 45 08             	mov    0x8(%ebp),%eax
408b10:	50                   	push   %eax
408b11:	e8 aa 9a ff ff       	call   0x4025c0
408b16:	8b 88 e4 00 00 00    	mov    0xe4(%eax),%ecx
408b1c:	ff d1                	call   *%ecx
408b1e:	85 c0                	test   %eax,%eax
408b20:	74 6c                	je     0x408b8e
408b22:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
408b29:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
408b30:	6a 00                	push   $0x0
408b32:	8d 55 f0             	lea    -0x10(%ebp),%edx
408b35:	52                   	push   %edx
408b36:	6a 04                	push   $0x4
408b38:	8d 45 f4             	lea    -0xc(%ebp),%eax
408b3b:	50                   	push   %eax
408b3c:	8b 4d 08             	mov    0x8(%ebp),%ecx
408b3f:	51                   	push   %ecx
408b40:	e8 7b 9a ff ff       	call   0x4025c0
408b45:	8b 90 d8 00 00 00    	mov    0xd8(%eax),%edx
408b4b:	ff d2                	call   *%edx
408b4d:	85 c0                	test   %eax,%eax
408b4f:	74 3d                	je     0x408b8e
408b51:	e8 2a b0 ff ff       	call   0x403b80
408b56:	8b 4d f4             	mov    -0xc(%ebp),%ecx
408b59:	3b 48 38             	cmp    0x38(%eax),%ecx
408b5c:	74 30                	je     0x408b8e
408b5e:	0f 57 c0             	xorps  %xmm0,%xmm0
408b61:	66 0f 13 45 e8       	movlpd %xmm0,-0x18(%ebp)
408b66:	6a 00                	push   $0x0
408b68:	6a 00                	push   $0x0
408b6a:	8b 55 ec             	mov    -0x14(%ebp),%edx
408b6d:	52                   	push   %edx
408b6e:	8b 45 e8             	mov    -0x18(%ebp),%eax
408b71:	50                   	push   %eax
408b72:	8b 4d 08             	mov    0x8(%ebp),%ecx
408b75:	51                   	push   %ecx
408b76:	e8 45 9a ff ff       	call   0x4025c0
408b7b:	8b 90 e4 00 00 00    	mov    0xe4(%eax),%edx
408b81:	ff d2                	call   *%edx
408b83:	85 c0                	test   %eax,%eax
408b85:	74 07                	je     0x408b8e
408b87:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
408b8e:	eb 07                	jmp    0x408b97
408b90:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
408b97:	8b 45 fc             	mov    -0x4(%ebp),%eax
408b9a:	8b e5                	mov    %ebp,%esp
408b9c:	5d                   	pop    %ebp
408b9d:	c3                   	ret
408b9e:	cc                   	int3
408b9f:	cc                   	int3
408ba0:	55                   	push   %ebp
408ba1:	8b ec                	mov    %esp,%ebp
408ba3:	81 ec 90 00 00 00    	sub    $0x90,%esp
408ba9:	56                   	push   %esi
408baa:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
408bb1:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
408bb5:	75 08                	jne    0x408bbf
408bb7:	8b 45 d4             	mov    -0x2c(%ebp),%eax
408bba:	e9 03 08 00 00       	jmp    0x4093c2
408bbf:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
408bc6:	8b 45 08             	mov    0x8(%ebp),%eax
408bc9:	50                   	push   %eax
408bca:	e8 f1 99 ff ff       	call   0x4025c0
408bcf:	8b 88 68 01 00 00    	mov    0x168(%eax),%ecx
408bd5:	ff d1                	call   *%ecx
408bd7:	89 45 90             	mov    %eax,-0x70(%ebp)
408bda:	6a 20                	push   $0x20
408bdc:	8b 55 08             	mov    0x8(%ebp),%edx
408bdf:	52                   	push   %edx
408be0:	e8 db 99 ff ff       	call   0x4025c0
408be5:	8b 80 6c 01 00 00    	mov    0x16c(%eax),%eax
408beb:	ff d0                	call   *%eax
408bed:	6a 00                	push   $0x0
408bef:	68 00 00 00 80       	push   $0x80000000
408bf4:	6a 03                	push   $0x3
408bf6:	6a 00                	push   $0x0
408bf8:	6a 00                	push   $0x0
408bfa:	68 00 00 01 c0       	push   $0xc0010000
408bff:	8b 4d 08             	mov    0x8(%ebp),%ecx
408c02:	51                   	push   %ecx
408c03:	e8 b8 99 ff ff       	call   0x4025c0
408c08:	8b 90 d0 00 00 00    	mov    0xd0(%eax),%edx
408c0e:	ff d2                	call   *%edx
408c10:	89 45 f4             	mov    %eax,-0xc(%ebp)
408c13:	83 7d f4 ff          	cmpl   $0xffffffff,-0xc(%ebp)
408c17:	75 2c                	jne    0x408c45
408c19:	e8 a2 99 ff ff       	call   0x4025c0
408c1e:	8b 80 7c 01 00 00    	mov    0x17c(%eax),%eax
408c24:	ff d0                	call   *%eax
408c26:	83 f8 20             	cmp    $0x20,%eax
408c29:	75 1a                	jne    0x408c45
408c2b:	e8 d0 c7 ff ff       	call   0x405400
408c30:	83 b8 98 00 00 00 00 	cmpl   $0x0,0x98(%eax)
408c37:	74 0c                	je     0x408c45
408c39:	8b 4d 08             	mov    0x8(%ebp),%ecx
408c3c:	51                   	push   %ecx
408c3d:	e8 ae c0 00 00       	call   0x414cf0
408c42:	83 c4 04             	add    $0x4,%esp
408c45:	83 7d f4 ff          	cmpl   $0xffffffff,-0xc(%ebp)
408c49:	0f 84 55 07 00 00    	je     0x4093a4
408c4f:	8d 55 cc             	lea    -0x34(%ebp),%edx
408c52:	52                   	push   %edx
408c53:	8b 45 f4             	mov    -0xc(%ebp),%eax
408c56:	50                   	push   %eax
408c57:	e8 64 99 ff ff       	call   0x4025c0
408c5c:	8b 88 e0 00 00 00    	mov    0xe0(%eax),%ecx
408c62:	ff d1                	call   *%ecx
408c64:	85 c0                	test   %eax,%eax
408c66:	0f 84 84 05 00 00    	je     0x4091f0
408c6c:	83 7d d0 00          	cmpl   $0x0,-0x30(%ebp)
408c70:	0f 8c 7a 05 00 00    	jl     0x4091f0
408c76:	7f 0a                	jg     0x408c82