401a5c:	bf 01 00 00 00       	mov    $0x1,%edi
401a61:	50                   	push   %eax
401a62:	8d 4d d8             	lea    -0x28(%ebp),%ecx
401a65:	89 7d e8             	mov    %edi,-0x18(%ebp)
401a68:	e8 53 04 00 00       	call   0x401ec0
401a6d:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
401a71:	8b d0                	mov    %eax,%edx
401a73:	8d 4d dc             	lea    -0x24(%ebp),%ecx
401a76:	e8 55 05 00 00       	call   0x401fd0
401a7b:	83 c4 04             	add    $0x4,%esp
401a7e:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
401a82:	8b 10                	mov    (%eax),%edx
401a84:	8b 75 ec             	mov    -0x14(%ebp),%esi
401a87:	8d 42 f0             	lea    -0x10(%edx),%eax
401a8a:	8d 4e f0             	lea    -0x10(%esi),%ecx
401a8d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
401a90:	89 4d e0             	mov    %ecx,-0x20(%ebp)
401a93:	3b c1                	cmp    %ecx,%eax
401a95:	74 4a                	je     0x401ae1
401a97:	83 79 0c 00          	cmpl   $0x0,0xc(%ecx)
401a9b:	8d 71 0c             	lea    0xc(%ecx),%esi
401a9e:	7c 32                	jl     0x401ad2
401aa0:	8b 00                	mov    (%eax),%eax
401aa2:	3b 01                	cmp    (%ecx),%eax
401aa4:	75 2c                	jne    0x401ad2
401aa6:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
401aa9:	e8 f2 08 00 00       	call   0x4023a0
401aae:	89 45 e4             	mov    %eax,-0x1c(%ebp)
401ab1:	8b c3                	mov    %ebx,%eax
401ab3:	f0 0f c1 06          	lock xadd %eax,(%esi)
401ab7:	48                   	dec    %eax
401ab8:	85 c0                	test   %eax,%eax
401aba:	7f 0b                	jg     0x401ac7
401abc:	8b 55 e0             	mov    -0x20(%ebp),%edx
401abf:	52                   	push   %edx
401ac0:	8b 0a                	mov    (%edx),%ecx
401ac2:	8b 01                	mov    (%ecx),%eax
401ac4:	ff 50 04             	call   *0x4(%eax)
401ac7:	8b 75 e4             	mov    -0x1c(%ebp),%esi
401aca:	83 c6 10             	add    $0x10,%esi
401acd:	89 75 ec             	mov    %esi,-0x14(%ebp)
401ad0:	eb 0f                	jmp    0x401ae1
401ad2:	ff 72 f4             	push   -0xc(%edx)
401ad5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
401ad8:	52                   	push   %edx
401ad9:	e8 22 09 00 00       	call   0x402400
401ade:	8b 75 ec             	mov    -0x14(%ebp),%esi
401ae1:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
401ae5:	8b c3                	mov    %ebx,%eax
401ae7:	8b 55 dc             	mov    -0x24(%ebp),%edx
401aea:	83 c2 f0             	add    $0xfffffff0,%edx
401aed:	f0 0f c1 42 0c       	lock xadd %eax,0xc(%edx)
401af2:	48                   	dec    %eax
401af3:	85 c0                	test   %eax,%eax
401af5:	7f 08                	jg     0x401aff
401af7:	8b 0a                	mov    (%edx),%ecx
401af9:	52                   	push   %edx
401afa:	8b 01                	mov    (%ecx),%eax
401afc:	ff 50 04             	call   *0x4(%eax)
401aff:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
401b03:	8b c3                	mov    %ebx,%eax
401b05:	8b 55 d8             	mov    -0x28(%ebp),%edx
401b08:	83 c2 f0             	add    $0xfffffff0,%edx
401b0b:	f0 0f c1 42 0c       	lock xadd %eax,0xc(%edx)
401b10:	48                   	dec    %eax
401b11:	85 c0                	test   %eax,%eax
401b13:	7f 08                	jg     0x401b1d
401b15:	8b 0a                	mov    (%edx),%ecx
401b17:	52                   	push   %edx
401b18:	8b 01                	mov    (%ecx),%eax
401b1a:	ff 50 04             	call   *0x4(%eax)
401b1d:	68 3f 00 0f 00       	push   $0xf003f
401b22:	6a 00                	push   $0x0
401b24:	6a 00                	push   $0x0
401b26:	ff 15 00 b0 41 00    	call   *0x41b000
401b2c:	8b c8                	mov    %eax,%ecx
401b2e:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
401b31:	85 c9                	test   %ecx,%ecx
401b33:	0f 84 b6 00 00 00    	je     0x401bef
401b39:	a1 48 47 42 00       	mov    0x424748,%eax
401b3e:	6a 00                	push   $0x0
401b40:	6a 00                	push   $0x0
401b42:	6a 00                	push   $0x0
401b44:	6a 00                	push   $0x0
401b46:	6a 00                	push   $0x0
401b48:	56                   	push   %esi
401b49:	6a 01                	push   $0x1
401b4b:	6a 02                	push   $0x2
401b4d:	6a 10                	push   $0x10
401b4f:	68 ff 01 0f 00       	push   $0xf01ff
401b54:	50                   	push   %eax
401b55:	50                   	push   %eax
401b56:	51                   	push   %ecx
401b57:	ff 15 04 b0 41 00    	call   *0x41b004
401b5d:	89 45 d8             	mov    %eax,-0x28(%ebp)
401b60:	ff 15 48 b0 41 00    	call   *0x41b048
401b66:	8b f8                	mov    %eax,%edi
401b68:	57                   	push   %edi
401b69:	68 24 0b 42 00       	push   $0x420b24
401b6e:	e8 fd 0f 00 00       	call   0x402b70
401b73:	83 c4 08             	add    $0x8,%esp
401b76:	81 ff 31 04 00 00    	cmp    $0x431,%edi
401b7c:	75 39                	jne    0x401bb7
401b7e:	68 ff 01 0f 00       	push   $0xf01ff
401b83:	ff 35 48 47 42 00    	push   0x424748
401b89:	ff 75 e4             	push   -0x1c(%ebp)
401b8c:	ff 15 08 b0 41 00    	call   *0x41b008
401b92:	8b f8                	mov    %eax,%edi
401b94:	85 ff                	test   %edi,%edi
401b96:	74 2d                	je     0x401bc5
401b98:	6a 00                	push   $0x0
401b9a:	6a 00                	push   $0x0
401b9c:	6a 00                	push   $0x0
401b9e:	6a 00                	push   $0x0
401ba0:	6a 00                	push   $0x0
401ba2:	6a 00                	push   $0x0
401ba4:	56                   	push   %esi
401ba5:	6a 01                	push   $0x1
401ba7:	6a 02                	push   $0x2
401ba9:	6a 10                	push   $0x10
401bab:	57                   	push   %edi
401bac:	ff 15 0c b0 41 00    	call   *0x41b00c
401bb2:	89 45 e8             	mov    %eax,-0x18(%ebp)
401bb5:	eb 06                	jmp    0x401bbd
401bb7:	8b 7d d8             	mov    -0x28(%ebp),%edi
401bba:	8b 45 e8             	mov    -0x18(%ebp),%eax
401bbd:	85 ff                	test   %edi,%edi
401bbf:	75 04                	jne    0x401bc5
401bc1:	85 c0                	test   %eax,%eax
401bc3:	74 17                	je     0x401bdc
401bc5:	8d 45 d8             	lea    -0x28(%ebp),%eax
401bc8:	c7 45 d8 38 0d 42 00 	movl   $0x420d38,-0x28(%ebp)
401bcf:	50                   	push   %eax
401bd0:	6a 01                	push   $0x1
401bd2:	57                   	push   %edi
401bd3:	ff 15 10 b0 41 00    	call   *0x41b010
401bd9:	89 45 e8             	mov    %eax,-0x18(%ebp)
401bdc:	57                   	push   %edi
401bdd:	8b 3d 14 b0 41 00    	mov    0x41b014,%edi
401be3:	ff d7                	call   *%edi
401be5:	ff 75 e4             	push   -0x1c(%ebp)
401be8:	ff d7                	call   *%edi
401bea:	8b 7d e8             	mov    -0x18(%ebp),%edi
401bed:	eb 14                	jmp    0x401c03
401bef:	ff 15 48 b0 41 00    	call   *0x41b048
401bf5:	50                   	push   %eax
401bf6:	68 5c 0b 42 00       	push   $0x420b5c
401bfb:	e8 70 0f 00 00       	call   0x402b70
401c00:	83 c4 08             	add    $0x8,%esp
401c03:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
401c07:	83 c6 f0             	add    $0xfffffff0,%esi
401c0a:	8b c3                	mov    %ebx,%eax
401c0c:	f0 0f c1 46 0c       	lock xadd %eax,0xc(%esi)
401c11:	48                   	dec    %eax
401c12:	85 c0                	test   %eax,%eax
401c14:	7f 08                	jg     0x401c1e
401c16:	8b 0e                	mov    (%esi),%ecx
401c18:	56                   	push   %esi
401c19:	8b 01                	mov    (%ecx),%eax
401c1b:	ff 50 04             	call   *0x4(%eax)
401c1e:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
401c25:	8b 55 f0             	mov    -0x10(%ebp),%edx
401c28:	83 c2 f0             	add    $0xfffffff0,%edx
401c2b:	f0 0f c1 5a 0c       	lock xadd %ebx,0xc(%edx)
401c30:	4b                   	dec    %ebx
401c31:	85 db                	test   %ebx,%ebx
401c33:	7f 08                	jg     0x401c3d
401c35:	8b 0a                	mov    (%edx),%ecx
401c37:	52                   	push   %edx
401c38:	8b 01                	mov    (%ecx),%eax
401c3a:	ff 50 04             	call   *0x4(%eax)
401c3d:	8b c7                	mov    %edi,%eax
401c3f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401c42:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401c49:	59                   	pop    %ecx
401c4a:	5f                   	pop    %edi
401c4b:	5e                   	pop    %esi
401c4c:	5b                   	pop    %ebx
401c4d:	8b e5                	mov    %ebp,%esp
401c4f:	5d                   	pop    %ebp
401c50:	c3                   	ret
401c51:	cc                   	int3
401c52:	cc                   	int3
401c53:	cc                   	int3
401c54:	cc                   	int3
401c55:	cc                   	int3
401c56:	cc                   	int3
401c57:	cc                   	int3
401c58:	cc                   	int3
401c59:	cc                   	int3
401c5a:	cc                   	int3
401c5b:	cc                   	int3
401c5c:	cc                   	int3
401c5d:	cc                   	int3
401c5e:	cc                   	int3
401c5f:	cc                   	int3
401c60:	56                   	push   %esi
401c61:	57                   	push   %edi
401c62:	6a 1c                	push   $0x1c
401c64:	68 14 0e 42 00       	push   $0x420e14
401c69:	b9 48 47 42 00       	mov    $0x424748,%ecx
401c6e:	33 f6                	xor    %esi,%esi
401c70:	e8 8b 07 00 00       	call   0x402400
401c75:	e8 56 01 00 00       	call   0x401dd0
401c7a:	68 3f 00 0f 00       	push   $0xf003f
401c7f:	56                   	push   %esi
401c80:	56                   	push   %esi
401c81:	ff 15 00 b0 41 00    	call   *0x41b000
401c87:	8b f8                	mov    %eax,%edi
401c89:	85 ff                	test   %edi,%edi
401c8b:	74 51                	je     0x401cde
401c8d:	53                   	push   %ebx
401c8e:	68 ff 01 0f 00       	push   $0xf01ff
401c93:	ff 35 48 47 42 00    	push   0x424748
401c99:	57                   	push   %edi
401c9a:	ff 15 08 b0 41 00    	call   *0x41b008
401ca0:	8b d8                	mov    %eax,%ebx
401ca2:	85 db                	test   %ebx,%ebx
401ca4:	74 1b                	je     0x401cc1
401ca6:	53                   	push   %ebx
401ca7:	ff 15 18 b0 41 00    	call   *0x41b018
401cad:	53                   	push   %ebx
401cae:	8b 1d 14 b0 41 00    	mov    0x41b014,%ebx
401cb4:	8b f0                	mov    %eax,%esi
401cb6:	ff d3                	call   *%ebx
401cb8:	57                   	push   %edi
401cb9:	ff d3                	call   *%ebx
401cbb:	5b                   	pop    %ebx
401cbc:	5f                   	pop    %edi
401cbd:	8b c6                	mov    %esi,%eax
401cbf:	5e                   	pop    %esi
401cc0:	c3                   	ret
401cc1:	ff 15 48 b0 41 00    	call   *0x41b048
401cc7:	8b 1d 14 b0 41 00    	mov    0x41b014,%ebx
401ccd:	3d 24 04 00 00       	cmp    $0x424,%eax
401cd2:	b9 01 00 00 00       	mov    $0x1,%ecx
401cd7:	57                   	push   %edi
401cd8:	0f 44 f1             	cmove  %ecx,%esi
401cdb:	ff d3                	call   *%ebx
401cdd:	5b                   	pop    %ebx
401cde:	5f                   	pop    %edi
401cdf:	8b c6                	mov    %esi,%eax
401ce1:	5e                   	pop    %esi
401ce2:	c3                   	ret
401ce3:	cc                   	int3
401ce4:	cc                   	int3
401ce5:	cc                   	int3
401ce6:	cc                   	int3
401ce7:	cc                   	int3
401ce8:	cc                   	int3
401ce9:	cc                   	int3
401cea:	cc                   	int3
401ceb:	cc                   	int3
401cec:	cc                   	int3
401ced:	cc                   	int3
401cee:	cc                   	int3
401cef:	cc                   	int3
401cf0:	55                   	push   %ebp
401cf1:	8b ec                	mov    %esp,%ebp
401cf3:	83 ec 28             	sub    $0x28,%esp
401cf6:	a1 0c 30 42 00       	mov    0x42300c,%eax
401cfb:	33 c5                	xor    %ebp,%eax
401cfd:	89 45 fc             	mov    %eax,-0x4(%ebp)
401d00:	8b 45 08             	mov    0x8(%ebp),%eax
401d03:	b9 48 47 42 00       	mov    $0x424748,%ecx
401d08:	53                   	push   %ebx
401d09:	56                   	push   %esi
401d0a:	6a 1c                	push   $0x1c
401d0c:	68 14 0e 42 00       	push   $0x420e14
401d11:	8b da                	mov    %edx,%ebx
401d13:	89 45 dc             	mov    %eax,-0x24(%ebp)
401d16:	33 f6                	xor    %esi,%esi
401d18:	e8 e3 06 00 00       	call   0x402400
401d1d:	68 3f 00 0f 00       	push   $0xf003f
401d22:	56                   	push   %esi
401d23:	56                   	push   %esi
401d24:	ff 15 00 b0 41 00    	call   *0x41b000
401d2a:	89 45 d8             	mov    %eax,-0x28(%ebp)
401d2d:	85 c0                	test   %eax,%eax
401d2f:	0f 84 89 00 00 00    	je     0x401dbe
401d35:	57                   	push   %edi
401d36:	68 ff 01 0f 00       	push   $0xf01ff
401d3b:	ff 35 48 47 42 00    	push   0x424748
401d41:	50                   	push   %eax
401d42:	ff 15 08 b0 41 00    	call   *0x41b008
401d48:	8b f8                	mov    %eax,%edi
401d4a:	85 ff                	test   %edi,%edi
401d4c:	74 66                	je     0x401db4
401d4e:	ff 75 dc             	push   -0x24(%ebp)
401d51:	53                   	push   %ebx
401d52:	57                   	push   %edi
401d53:	ff 15 1c b0 41 00    	call   *0x41b01c
401d59:	85 c0                	test   %eax,%eax
401d5b:	74 3d                	je     0x401d9a
401d5d:	8d 45 e0             	lea    -0x20(%ebp),%eax
401d60:	50                   	push   %eax
401d61:	57                   	push   %edi
401d62:	ff 15 20 b0 41 00    	call   *0x41b020
401d68:	85 c0                	test   %eax,%eax
401d6a:	74 41                	je     0x401dad
401d6c:	8b 1d 88 b0 41 00    	mov    0x41b088,%ebx
401d72:	8b 45 f8             	mov    -0x8(%ebp),%eax
401d75:	85 c0                	test   %eax,%eax
401d77:	74 1a                	je     0x401d93
401d79:	50                   	push   %eax
401d7a:	ff d3                	call   *%ebx
401d7c:	83 7d e4 04          	cmpl   $0x4,-0x1c(%ebp)
401d80:	74 11                	je     0x401d93
401d82:	8d 45 e0             	lea    -0x20(%ebp),%eax
401d85:	50                   	push   %eax
401d86:	57                   	push   %edi
401d87:	ff 15 20 b0 41 00    	call   *0x41b020
401d8d:	85 c0                	test   %eax,%eax
401d8f:	75 e1                	jne    0x401d72
401d91:	eb 1a                	jmp    0x401dad
401d93:	be 01 00 00 00       	mov    $0x1,%esi
401d98:	eb 13                	jmp    0x401dad
401d9a:	ff 15 48 b0 41 00    	call   *0x41b048
401da0:	3d 20 04 00 00       	cmp    $0x420,%eax
401da5:	b9 01 00 00 00       	mov    $0x1,%ecx
401daa:	0f 44 f1             	cmove  %ecx,%esi
401dad:	57                   	push   %edi
401dae:	ff 15 14 b0 41 00    	call   *0x41b014
401db4:	ff 75 d8             	push   -0x28(%ebp)
401db7:	ff 15 14 b0 41 00    	call   *0x41b014
401dbd:	5f                   	pop    %edi
401dbe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401dc1:	8b c6                	mov    %esi,%eax
401dc3:	5e                   	pop    %esi
401dc4:	33 cd                	xor    %ebp,%ecx
401dc6:	5b                   	pop    %ebx
401dc7:	e8 8a 11 00 00       	call   0x402f56
401dcc:	8b e5                	mov    %ebp,%esp
401dce:	5d                   	pop    %ebp
401dcf:	c3                   	ret
401dd0:	55                   	push   %ebp
401dd1:	8b ec                	mov    %esp,%ebp
401dd3:	83 ec 24             	sub    $0x24,%esp
401dd6:	a1 0c 30 42 00       	mov    0x42300c,%eax
401ddb:	33 c5                	xor    %ebp,%eax
401ddd:	89 45 fc             	mov    %eax,-0x4(%ebp)
401de0:	53                   	push   %ebx
401de1:	56                   	push   %esi
401de2:	6a 1c                	push   $0x1c
401de4:	68 14 0e 42 00       	push   $0x420e14
401de9:	b9 48 47 42 00       	mov    $0x424748,%ecx
401dee:	33 f6                	xor    %esi,%esi
401df0:	e8 0b 06 00 00       	call   0x402400
401df5:	68 3f 00 0f 00       	push   $0xf003f
401dfa:	56                   	push   %esi