403a55:	6a 15                	push   $0x15
403a57:	59                   	pop    %ecx
403a58:	e8 a4 f9 ff ff       	call   0x403401
403a5d:	33 c0                	xor    %eax,%eax
403a5f:	50                   	push   %eax
403a60:	50                   	push   %eax
403a61:	50                   	push   %eax
403a62:	50                   	push   %eax
403a63:	8b f8                	mov    %eax,%edi
403a65:	ff 15 8c 90 40 00    	call   *0x40908c
403a6b:	a3 70 84 40 00       	mov    %eax,0x408470
403a70:	85 c0                	test   %eax,%eax
403a72:	0f 84 65 ff ff ff    	je     0x4039dd
403a78:	e8 e6 15 00 00       	call   0x405063
403a7d:	84 c0                	test   %al,%al
403a7f:	74 0a                	je     0x403a8b
403a81:	8b 4d 08             	mov    0x8(%ebp),%ecx
403a84:	e8 fd fa ff ff       	call   0x403586
403a89:	8b d8                	mov    %eax,%ebx
403a8b:	89 1d 6c 84 40 00    	mov    %ebx,0x40846c
403a91:	85 db                	test   %ebx,%ebx
403a93:	74 4e                	je     0x403ae3
403a95:	e8 6e fd ff ff       	call   0x403808
403a9a:	8b f8                	mov    %eax,%edi
403a9c:	85 ff                	test   %edi,%edi
403a9e:	78 20                	js     0x403ac0
403aa0:	e8 6d fe ff ff       	call   0x403912
403aa5:	8b f8                	mov    %eax,%edi
403aa7:	85 ff                	test   %edi,%edi
403aa9:	78 0a                	js     0x403ab5
403aab:	e8 82 fb ff ff       	call   0x403632
403ab0:	e8 22 fd ff ff       	call   0x4037d7
403ab5:	e8 1d fd ff ff       	call   0x4037d7
403aba:	ff 15 24 90 40 00    	call   *0x409024
403ac0:	e8 9e 15 00 00       	call   0x405063
403ac5:	84 c0                	test   %al,%al
403ac7:	74 1a                	je     0x403ae3
403ac9:	ff 35 6c 84 40 00    	push   0x40846c
403acf:	ff 15 40 a0 40 00    	call   *0x40a040
403ad5:	ff 75 08             	push   0x8(%ebp)
403ad8:	68 60 24 40 00       	push   $0x402460
403add:	ff 15 50 a0 40 00    	call   *0x40a050
403ae3:	56                   	push   %esi
403ae4:	ff 15 98 90 40 00    	call   *0x409098
403aea:	8b 35 0c 80 40 00    	mov    0x40800c,%esi
403af0:	bb 0c 80 40 00       	mov    $0x40800c,%ebx
403af5:	3b f3                	cmp    %ebx,%esi
403af7:	74 50                	je     0x403b49
403af9:	f7 46 1c 00 01 00 00 	testl  $0x100,0x1c(%esi)
403b00:	74 19                	je     0x403b1b
403b02:	ff 76 14             	push   0x14(%esi)
403b05:	ba 88 24 40 00       	mov    $0x402488,%edx
403b0a:	ff 76 10             	push   0x10(%esi)
403b0d:	6a 16                	push   $0x16
403b0f:	59                   	pop    %ecx
403b10:	e8 ec f8 ff ff       	call   0x403401
403b15:	8b 35 0c 80 40 00    	mov    0x40800c,%esi
403b1b:	3b f3                	cmp    %ebx,%esi
403b1d:	74 2a                	je     0x403b49
403b1f:	eb 1e                	jmp    0x403b3f
403b21:	8b 46 08             	mov    0x8(%esi),%eax
403b24:	0b 46 0c             	or     0xc(%esi),%eax
403b27:	74 14                	je     0x403b3d
403b29:	ff 76 0c             	push   0xc(%esi)
403b2c:	ff 76 08             	push   0x8(%esi)
403b2f:	ff 15 d0 90 40 00    	call   *0x4090d0
403b35:	83 66 08 00          	andl   $0x0,0x8(%esi)
403b39:	83 66 0c 00          	andl   $0x0,0xc(%esi)
403b3d:	8b 36                	mov    (%esi),%esi
403b3f:	85 f6                	test   %esi,%esi
403b41:	75 de                	jne    0x403b21
403b43:	89 1d 0c 80 40 00    	mov    %ebx,0x40800c
403b49:	8b c7                	mov    %edi,%eax
403b4b:	5f                   	pop    %edi
403b4c:	5e                   	pop    %esi
403b4d:	5b                   	pop    %ebx
403b4e:	8b e5                	mov    %ebp,%esp
403b50:	5d                   	pop    %ebp
403b51:	c2 10 00             	ret    $0x10
403b54:	cc                   	int3
403b55:	cc                   	int3
403b56:	cc                   	int3
403b57:	cc                   	int3
403b58:	cc                   	int3
403b59:	cc                   	int3
403b5a:	cc                   	int3
403b5b:	cc                   	int3
403b5c:	cc                   	int3
403b5d:	cc                   	int3
403b5e:	cc                   	int3
403b5f:	cc                   	int3
403b60:	8b ff                	mov    %edi,%edi
403b62:	55                   	push   %ebp
403b63:	8b ec                	mov    %esp,%ebp
403b65:	8b 55 08             	mov    0x8(%ebp),%edx
403b68:	33 c9                	xor    %ecx,%ecx
403b6a:	53                   	push   %ebx
403b6b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
403b6e:	56                   	push   %esi
403b6f:	57                   	push   %edi
403b70:	8b 7d 10             	mov    0x10(%ebp),%edi
403b73:	8b f1                	mov    %ecx,%esi
403b75:	89 0f                	mov    %ecx,(%edi)
403b77:	8b 04 b3             	mov    (%ebx,%esi,4),%eax
403b7a:	bb 24 21 40 00       	mov    $0x402124,%ebx
403b7f:	3b 04 b3             	cmp    (%ebx,%esi,4),%eax
403b82:	8b 5d 0c             	mov    0xc(%ebp),%ebx
403b85:	75 08                	jne    0x403b8f
403b87:	46                   	inc    %esi
403b88:	83 fe 04             	cmp    $0x4,%esi
403b8b:	75 ea                	jne    0x403b77
403b8d:	eb 13                	jmp    0x403ba2
403b8f:	be 34 21 40 00       	mov    $0x402134,%esi
403b94:	8b 04 8b             	mov    (%ebx,%ecx,4),%eax
403b97:	3b 04 8e             	cmp    (%esi,%ecx,4),%eax
403b9a:	75 20                	jne    0x403bbc
403b9c:	41                   	inc    %ecx
403b9d:	83 f9 04             	cmp    $0x4,%ecx
403ba0:	75 f2                	jne    0x403b94
403ba2:	89 17                	mov    %edx,(%edi)
403ba4:	85 d2                	test   %edx,%edx
403ba6:	74 14                	je     0x403bbc
403ba8:	8b 02                	mov    (%edx),%eax
403baa:	52                   	push   %edx
403bab:	8b 70 04             	mov    0x4(%eax),%esi
403bae:	8b ce                	mov    %esi,%ecx
403bb0:	ff 15 5c 91 40 00    	call   *0x40915c
403bb6:	ff d6                	call   *%esi
403bb8:	33 c0                	xor    %eax,%eax
403bba:	eb 05                	jmp    0x403bc1
403bbc:	b8 02 40 00 80       	mov    $0x80004002,%eax
403bc1:	5f                   	pop    %edi
403bc2:	5e                   	pop    %esi
403bc3:	5b                   	pop    %ebx
403bc4:	5d                   	pop    %ebp
403bc5:	c2 0c 00             	ret    $0xc
403bc8:	cc                   	int3
403bc9:	cc                   	int3
403bca:	cc                   	int3
403bcb:	cc                   	int3
403bcc:	cc                   	int3
403bcd:	cc                   	int3
403bce:	cc                   	int3
403bcf:	cc                   	int3
403bd0:	8b ff                	mov    %edi,%edi
403bd2:	55                   	push   %ebp
403bd3:	8b ec                	mov    %esp,%ebp
403bd5:	8b 45 08             	mov    0x8(%ebp),%eax
403bd8:	56                   	push   %esi
403bd9:	33 f6                	xor    %esi,%esi
403bdb:	46                   	inc    %esi
403bdc:	f0 0f c1 70 04       	lock xadd %esi,0x4(%eax)
403be1:	46                   	inc    %esi
403be2:	8b 0d 0c 80 40 00    	mov    0x40800c,%ecx
403be8:	81 f9 0c 80 40 00    	cmp    $0x40800c,%ecx
403bee:	74 18                	je     0x403c08
403bf0:	f7 41 1c 00 01 00 00 	testl  $0x100,0x1c(%ecx)
403bf7:	74 0f                	je     0x403c08
403bf9:	56                   	push   %esi
403bfa:	ff 71 14             	push   0x14(%ecx)
403bfd:	ff 71 10             	push   0x10(%ecx)
403c00:	6a 0a                	push   $0xa
403c02:	59                   	pop    %ecx
403c03:	e8 17 f8 ff ff       	call   0x40341f
403c08:	8b c6                	mov    %esi,%eax
403c0a:	5e                   	pop    %esi
403c0b:	5d                   	pop    %ebp
403c0c:	c2 04 00             	ret    $0x4
403c0f:	cc                   	int3
403c10:	6a 00                	push   $0x0
403c12:	b8 48 51 40 00       	mov    $0x405148,%eax
403c17:	e8 24 0e 00 00       	call   0x404a40
403c1c:	8b 7d 08             	mov    0x8(%ebp),%edi
403c1f:	83 ce ff             	or     $0xffffffff,%esi
403c22:	f0 0f c1 77 04       	lock xadd %esi,0x4(%edi)
403c27:	4e                   	dec    %esi
403c28:	a1 0c 80 40 00       	mov    0x40800c,%eax
403c2d:	3d 0c 80 40 00       	cmp    $0x40800c,%eax
403c32:	74 18                	je     0x403c4c
403c34:	f7 40 1c 00 01 00 00 	testl  $0x100,0x1c(%eax)
403c3b:	74 0f                	je     0x403c4c
403c3d:	56                   	push   %esi
403c3e:	ff 70 14             	push   0x14(%eax)
403c41:	ff 70 10             	push   0x10(%eax)
403c44:	6a 0b                	push   $0xb
403c46:	59                   	pop    %ecx
403c47:	e8 d3 f7 ff ff       	call   0x40341f
403c4c:	85 f6                	test   %esi,%esi
403c4e:	75 2c                	jne    0x403c7c
403c50:	85 ff                	test   %edi,%edi
403c52:	74 18                	je     0x403c6c
403c54:	c7 07 a4 15 40 00    	movl   $0x4015a4,(%edi)
403c5a:	f0 ff 0d c0 84 40 00 	lock decl 0x4084c0
403c61:	21 75 fc             	and    %esi,-0x4(%ebp)
403c64:	56                   	push   %esi
403c65:	57                   	push   %edi
403c66:	ff 15 10 90 40 00    	call   *0x409010
403c6c:	ff 35 70 84 40 00    	push   0x408470
403c72:	ff 15 94 90 40 00    	call   *0x409094
403c78:	33 c0                	xor    %eax,%eax
403c7a:	eb 02                	jmp    0x403c7e
403c7c:	8b c6                	mov    %esi,%eax
403c7e:	e8 a9 0d 00 00       	call   0x404a2c
403c83:	c2 04 00             	ret    $0x4
403c86:	cc                   	int3
403c87:	cc                   	int3
403c88:	cc                   	int3
403c89:	cc                   	int3
403c8a:	cc                   	int3
403c8b:	cc                   	int3
403c8c:	cc                   	int3
403c8d:	cc                   	int3
403c8e:	cc                   	int3
403c8f:	cc                   	int3
403c90:	6a 00                	push   $0x0
403c92:	b8 48 51 40 00       	mov    $0x405148,%eax
403c97:	e8 a4 0d 00 00       	call   0x404a40
403c9c:	a1 0c 80 40 00       	mov    0x40800c,%eax
403ca1:	3d 0c 80 40 00       	cmp    $0x40800c,%eax
403ca6:	74 1c                	je     0x403cc4
403ca8:	f7 40 1c 00 01 00 00 	testl  $0x100,0x1c(%eax)
403caf:	74 13                	je     0x403cc4
403cb1:	ff 70 14             	push   0x14(%eax)
403cb4:	ba a8 24 40 00       	mov    $0x4024a8,%edx
403cb9:	ff 70 10             	push   0x10(%eax)
403cbc:	6a 0c                	push   $0xc
403cbe:	59                   	pop    %ecx
403cbf:	e8 3d f7 ff ff       	call   0x403401
403cc4:	8b 75 14             	mov    0x14(%ebp),%esi
403cc7:	83 26 00             	andl   $0x0,(%esi)
403cca:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
403cce:	74 07                	je     0x403cd7
403cd0:	be 10 01 04 80       	mov    $0x80040110,%esi
403cd5:	eb 5a                	jmp    0x403d31
403cd7:	68 c0 84 40 00       	push   $0x4084c0
403cdc:	68 64 84 40 00       	push   $0x408464
403ce1:	68 68 84 40 00       	push   $0x408468
403ce6:	ff 35 6c 84 40 00    	push   0x40846c
403cec:	ff 15 04 90 40 00    	call   *0x409004
403cf2:	8b f8                	mov    %eax,%edi
403cf4:	85 ff                	test   %edi,%edi
403cf6:	75 13                	jne    0x403d0b
403cf8:	ff 35 70 84 40 00    	push   0x408470
403cfe:	be 0e 00 07 80       	mov    $0x8007000e,%esi
403d03:	ff 15 94 90 40 00    	call   *0x409094
403d09:	eb 26                	jmp    0x403d31
403d0b:	8b 07                	mov    (%edi),%eax
403d0d:	56                   	push   %esi
403d0e:	ff 75 10             	push   0x10(%ebp)
403d11:	8b 30                	mov    (%eax),%esi
403d13:	8b ce                	mov    %esi,%ecx
403d15:	57                   	push   %edi
403d16:	ff 15 5c 91 40 00    	call   *0x40915c
403d1c:	ff d6                	call   *%esi
403d1e:	8b f0                	mov    %eax,%esi
403d20:	85 f6                	test   %esi,%esi
403d22:	79 0d                	jns    0x403d31
403d24:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403d28:	6a 00                	push   $0x0
403d2a:	57                   	push   %edi
403d2b:	ff 15 10 90 40 00    	call   *0x409010
403d31:	a1 0c 80 40 00       	mov    0x40800c,%eax
403d36:	3d 0c 80 40 00       	cmp    $0x40800c,%eax
403d3b:	74 1c                	je     0x403d59
403d3d:	f7 40 1c 00 01 00 00 	testl  $0x100,0x1c(%eax)
403d44:	74 13                	je     0x403d59
403d46:	ff 70 14             	push   0x14(%eax)
403d49:	ba a8 24 40 00       	mov    $0x4024a8,%edx
403d4e:	ff 70 10             	push   0x10(%eax)
403d51:	6a 0d                	push   $0xd
403d53:	59                   	pop    %ecx
403d54:	e8 a8 f6 ff ff       	call   0x403401
403d59:	8b c6                	mov    %esi,%eax
403d5b:	e8 cc 0c 00 00       	call   0x404a2c
403d60:	c2 10 00             	ret    $0x10
403d63:	cc                   	int3
403d64:	cc                   	int3
403d65:	cc                   	int3
403d66:	cc                   	int3
403d67:	cc                   	int3
403d68:	cc                   	int3
403d69:	cc                   	int3
403d6a:	cc                   	int3
403d6b:	cc                   	int3
403d6c:	cc                   	int3
403d6d:	cc                   	int3
403d6e:	cc                   	int3
403d6f:	cc                   	int3
403d70:	8b ff                	mov    %edi,%edi
403d72:	55                   	push   %ebp
403d73:	8b ec                	mov    %esp,%ebp
403d75:	56                   	push   %esi
403d76:	57                   	push   %edi
403d77:	a1 0c 80 40 00       	mov    0x40800c,%eax
403d7c:	bf 0c 80 40 00       	mov    $0x40800c,%edi
403d81:	be 00 01 00 00       	mov    $0x100,%esi
403d86:	3b c7                	cmp    %edi,%eax
403d88:	74 18                	je     0x403da2
403d8a:	85 70 1c             	test   %esi,0x1c(%eax)
403d8d:	74 13                	je     0x403da2
403d8f:	ff 70 14             	push   0x14(%eax)
403d92:	ba a8 24 40 00       	mov    $0x4024a8,%edx
403d97:	ff 70 10             	push   0x10(%eax)
403d9a:	6a 0e                	push   $0xe
403d9c:	59                   	pop    %ecx
403d9d:	e8 5f f6 ff ff       	call   0x403401
403da2:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
403da6:	74 09                	je     0x403db1
403da8:	f0 ff 05 bc 84 40 00 	lock incl 0x4084bc
403daf:	eb 07                	jmp    0x403db8
403db1:	f0 ff 0d bc 84 40 00 	lock decl 0x4084bc
403db8:	a1 0c 80 40 00       	mov    0x40800c,%eax
403dbd:	3b c7                	cmp    %edi,%eax
403dbf:	74 19                	je     0x403dda
403dc1:	85 70 1c             	test   %esi,0x1c(%eax)
403dc4:	74 14                	je     0x403dda
403dc6:	ff 35 bc 84 40 00    	push   0x4084bc
403dcc:	ff 70 14             	push   0x14(%eax)
403dcf:	ff 70 10             	push   0x10(%eax)
403dd2:	6a 0f                	push   $0xf
403dd4:	59                   	pop    %ecx
403dd5:	e8 45 f6 ff ff       	call   0x40341f
403dda:	5f                   	pop    %edi
403ddb:	33 c0                	xor    %eax,%eax
403ddd:	5e                   	pop    %esi
403dde:	5d                   	pop    %ebp
403ddf:	c2 08 00             	ret    $0x8
403de2:	8b ff                	mov    %edi,%edi
403de4:	55                   	push   %ebp
403de5:	8b ec                	mov    %esp,%ebp
403de7:	ff 35 d8 24 40 00    	push   0x4024d8
403ded:	ff 75 0c             	push   0xc(%ebp)
403df0:	ff 35 3c 90 40 00    	push   0x40903c
403df6:	ff 35 d8 24 40 00    	push   0x4024d8
403dfc:	ff 75 08             	push   0x8(%ebp)
403dff:	68 00 00 40 00       	push   $0x400000
403e04:	ff 15 44 90 40 00    	call   *0x409044
403e0a:	5d                   	pop    %ebp
403e0b:	c2 08 00             	ret    $0x8
403e0e:	8b ff                	mov    %edi,%edi
403e10:	55                   	push   %ebp
403e11:	8b ec                	mov    %esp,%ebp
403e13:	33 c0                	xor    %eax,%eax
403e15:	39 45 08             	cmp    %eax,0x8(%ebp)
403e18:	74 11                	je     0x403e2b
403e1a:	ff 75 08             	push   0x8(%ebp)
403e1d:	e8 be ea ff ff       	call   0x4028e0
403e22:	59                   	pop    %ecx
403e23:	85 c0                	test   %eax,%eax
403e25:	0f 84 61 03 00 00    	je     0x40418c