409a01:	75 0e                	jne    0x409a11
409a03:	56                   	push   %esi
409a04:	e8 e7 fb ff ff       	call   0x4095f0
409a09:	56                   	push   %esi
409a0a:	e8 6a de ff ff       	call   0x407879
409a0f:	59                   	pop    %ecx
409a10:	59                   	pop    %ecx
409a11:	5e                   	pop    %esi
409a12:	5d                   	pop    %ebp
409a13:	c3                   	ret
409a14:	8b ff                	mov    %edi,%edi
409a16:	55                   	push   %ebp
409a17:	8b ec                	mov    %esp,%ebp
409a19:	8b 4d 08             	mov    0x8(%ebp),%ecx
409a1c:	85 c9                	test   %ecx,%ecx
409a1e:	74 16                	je     0x409a36
409a20:	81 f9 10 fe 40 00    	cmp    $0x40fe10,%ecx
409a26:	74 0e                	je     0x409a36
409a28:	83 c8 ff             	or     $0xffffffff,%eax
409a2b:	f0 0f c1 81 b0 00 00 	lock xadd %eax,0xb0(%ecx)
409a32:	00
409a33:	48                   	dec    %eax
409a34:	5d                   	pop    %ebp
409a35:	c3                   	ret
409a36:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
409a3b:	5d                   	pop    %ebp
409a3c:	c3                   	ret
409a3d:	8b ff                	mov    %edi,%edi
409a3f:	55                   	push   %ebp
409a40:	8b ec                	mov    %esp,%ebp
409a42:	8b 45 08             	mov    0x8(%ebp),%eax
409a45:	85 c0                	test   %eax,%eax
409a47:	74 73                	je     0x409abc
409a49:	f0 ff 48 0c          	lock decl 0xc(%eax)
409a4d:	8b 48 7c             	mov    0x7c(%eax),%ecx
409a50:	85 c9                	test   %ecx,%ecx
409a52:	74 03                	je     0x409a57
409a54:	f0 ff 09             	lock decl (%ecx)
409a57:	8b 88 84 00 00 00    	mov    0x84(%eax),%ecx
409a5d:	85 c9                	test   %ecx,%ecx
409a5f:	74 03                	je     0x409a64
409a61:	f0 ff 09             	lock decl (%ecx)
409a64:	8b 88 80 00 00 00    	mov    0x80(%eax),%ecx
409a6a:	85 c9                	test   %ecx,%ecx
409a6c:	74 03                	je     0x409a71
409a6e:	f0 ff 09             	lock decl (%ecx)
409a71:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
409a77:	85 c9                	test   %ecx,%ecx
409a79:	74 03                	je     0x409a7e
409a7b:	f0 ff 09             	lock decl (%ecx)
409a7e:	56                   	push   %esi
409a7f:	6a 06                	push   $0x6
409a81:	8d 48 28             	lea    0x28(%eax),%ecx
409a84:	5e                   	pop    %esi
409a85:	81 79 f8 18 61 41 00 	cmpl   $0x416118,-0x8(%ecx)
409a8c:	74 09                	je     0x409a97
409a8e:	8b 11                	mov    (%ecx),%edx
409a90:	85 d2                	test   %edx,%edx
409a92:	74 03                	je     0x409a97
409a94:	f0 ff 0a             	lock decl (%edx)
409a97:	83 79 f4 00          	cmpl   $0x0,-0xc(%ecx)
409a9b:	74 0a                	je     0x409aa7
409a9d:	8b 51 fc             	mov    -0x4(%ecx),%edx
409aa0:	85 d2                	test   %edx,%edx
409aa2:	74 03                	je     0x409aa7
409aa4:	f0 ff 0a             	lock decl (%edx)
409aa7:	83 c1 10             	add    $0x10,%ecx
409aaa:	83 ee 01             	sub    $0x1,%esi
409aad:	75 d6                	jne    0x409a85
409aaf:	ff b0 9c 00 00 00    	push   0x9c(%eax)
409ab5:	e8 5a ff ff ff       	call   0x409a14
409aba:	59                   	pop    %ecx
409abb:	5e                   	pop    %esi
409abc:	5d                   	pop    %ebp
409abd:	c3                   	ret
409abe:	6a 0c                	push   $0xc
409ac0:	68 18 4c 41 00       	push   $0x414c18
409ac5:	e8 46 99 ff ff       	call   0x403410
409aca:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
409ace:	e8 cd d9 ff ff       	call   0x4074a0
409ad3:	8d 78 4c             	lea    0x4c(%eax),%edi
409ad6:	8b 0d a0 66 41 00    	mov    0x4166a0,%ecx
409adc:	85 88 50 03 00 00    	test   %ecx,0x350(%eax)
409ae2:	74 06                	je     0x409aea
409ae4:	8b 37                	mov    (%edi),%esi
409ae6:	85 f6                	test   %esi,%esi
409ae8:	75 3d                	jne    0x409b27
409aea:	6a 04                	push   $0x4
409aec:	e8 db dc ff ff       	call   0x4077cc
409af1:	59                   	pop    %ecx
409af2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409af6:	ff 35 ec 6e 41 00    	push   0x416eec
409afc:	57                   	push   %edi
409afd:	e8 3d 00 00 00       	call   0x409b3f
409b02:	59                   	pop    %ecx
409b03:	59                   	pop    %ecx
409b04:	8b f0                	mov    %eax,%esi
409b06:	89 75 e4             	mov    %esi,-0x1c(%ebp)
409b09:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409b10:	e8 09 00 00 00       	call   0x409b1e
409b15:	85 f6                	test   %esi,%esi
409b17:	74 20                	je     0x409b39
409b19:	eb 0c                	jmp    0x409b27
409b1b:	8b 75 e4             	mov    -0x1c(%ebp),%esi
409b1e:	6a 04                	push   $0x4
409b20:	e8 ef dc ff ff       	call   0x407814
409b25:	59                   	pop    %ecx
409b26:	c3                   	ret
409b27:	8b c6                	mov    %esi,%eax
409b29:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409b2c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409b33:	59                   	pop    %ecx
409b34:	5f                   	pop    %edi
409b35:	5e                   	pop    %esi
409b36:	5b                   	pop    %ebx
409b37:	c9                   	leave
409b38:	c3                   	ret
409b39:	e8 60 d4 ff ff       	call   0x406f9e
409b3e:	cc                   	int3
409b3f:	8b ff                	mov    %edi,%edi
409b41:	55                   	push   %ebp
409b42:	8b ec                	mov    %esp,%ebp
409b44:	56                   	push   %esi
409b45:	8b 75 0c             	mov    0xc(%ebp),%esi
409b48:	57                   	push   %edi
409b49:	85 f6                	test   %esi,%esi
409b4b:	74 3c                	je     0x409b89
409b4d:	8b 45 08             	mov    0x8(%ebp),%eax
409b50:	85 c0                	test   %eax,%eax
409b52:	74 35                	je     0x409b89
409b54:	8b 38                	mov    (%eax),%edi
409b56:	3b fe                	cmp    %esi,%edi
409b58:	75 04                	jne    0x409b5e
409b5a:	8b c6                	mov    %esi,%eax
409b5c:	eb 2d                	jmp    0x409b8b
409b5e:	56                   	push   %esi
409b5f:	89 30                	mov    %esi,(%eax)
409b61:	e8 8f fc ff ff       	call   0x4097f5
409b66:	59                   	pop    %ecx
409b67:	85 ff                	test   %edi,%edi
409b69:	74 ef                	je     0x409b5a
409b6b:	57                   	push   %edi
409b6c:	e8 cc fe ff ff       	call   0x409a3d
409b71:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
409b75:	59                   	pop    %ecx
409b76:	75 e2                	jne    0x409b5a
409b78:	81 ff 58 60 41 00    	cmp    $0x416058,%edi
409b7e:	74 da                	je     0x409b5a
409b80:	57                   	push   %edi
409b81:	e8 ec fc ff ff       	call   0x409872
409b86:	59                   	pop    %ecx
409b87:	eb d1                	jmp    0x409b5a
409b89:	33 c0                	xor    %eax,%eax
409b8b:	5f                   	pop    %edi
409b8c:	5e                   	pop    %esi
409b8d:	5d                   	pop    %ebp
409b8e:	c3                   	ret
409b8f:	68 90 0f 41 00       	push   $0x410f90
409b94:	68 8c 0f 41 00       	push   $0x410f8c
409b99:	68 90 0f 41 00       	push   $0x410f90
409b9e:	6a 00                	push   $0x0
409ba0:	e8 03 01 00 00       	call   0x409ca8
409ba5:	83 c4 10             	add    $0x10,%esp
409ba8:	c3                   	ret
409ba9:	68 b0 0f 41 00       	push   $0x410fb0
409bae:	68 a8 0f 41 00       	push   $0x410fa8
409bb3:	68 b0 0f 41 00       	push   $0x410fb0
409bb8:	6a 11                	push   $0x11
409bba:	e8 e9 00 00 00       	call   0x409ca8
409bbf:	83 c4 10             	add    $0x10,%esp
409bc2:	c3                   	ret
409bc3:	68 c8 0f 41 00       	push   $0x410fc8
409bc8:	68 c0 0f 41 00       	push   $0x410fc0
409bcd:	68 c8 0f 41 00       	push   $0x410fc8
409bd2:	6a 13                	push   $0x13
409bd4:	e8 cf 00 00 00       	call   0x409ca8
409bd9:	83 c4 10             	add    $0x10,%esp
409bdc:	c3                   	ret
409bdd:	8b ff                	mov    %edi,%edi
409bdf:	55                   	push   %ebp
409be0:	8b ec                	mov    %esp,%ebp
409be2:	51                   	push   %ecx
409be3:	53                   	push   %ebx
409be4:	56                   	push   %esi
409be5:	57                   	push   %edi
409be6:	8b 7d 08             	mov    0x8(%ebp),%edi
409be9:	e9 8d 00 00 00       	jmp    0x409c7b
409bee:	8b 0f                	mov    (%edi),%ecx
409bf0:	89 4d fc             	mov    %ecx,-0x4(%ebp)
409bf3:	8d 04 8d 80 72 41 00 	lea    0x417280(,%ecx,4),%eax
409bfa:	8b 30                	mov    (%eax),%esi
409bfc:	90                   	nop
409bfd:	85 f6                	test   %esi,%esi
409bff:	74 0b                	je     0x409c0c
409c01:	83 fe ff             	cmp    $0xffffffff,%esi
409c04:	0f 85 9a 00 00 00    	jne    0x409ca4
409c0a:	eb 6c                	jmp    0x409c78
409c0c:	8b 1c 8d 80 0a 41 00 	mov    0x410a80(,%ecx,4),%ebx
409c13:	68 00 08 00 00       	push   $0x800
409c18:	6a 00                	push   $0x0
409c1a:	53                   	push   %ebx
409c1b:	ff 15 8c f0 40 00    	call   *0x40f08c
409c21:	8b f0                	mov    %eax,%esi
409c23:	85 f6                	test   %esi,%esi
409c25:	75 64                	jne    0x409c8b
409c27:	ff 15 58 f0 40 00    	call   *0x40f058
409c2d:	83 f8 57             	cmp    $0x57,%eax
409c30:	75 37                	jne    0x409c69
409c32:	6a 07                	push   $0x7
409c34:	68 44 fc 40 00       	push   $0x40fc44
409c39:	53                   	push   %ebx
409c3a:	e8 e9 d4 ff ff       	call   0x407128
409c3f:	83 c4 0c             	add    $0xc,%esp
409c42:	85 c0                	test   %eax,%eax
409c44:	74 23                	je     0x409c69
409c46:	6a 07                	push   $0x7
409c48:	68 7c 0f 41 00       	push   $0x410f7c
409c4d:	53                   	push   %ebx
409c4e:	e8 d5 d4 ff ff       	call   0x407128
409c53:	83 c4 0c             	add    $0xc,%esp
409c56:	85 c0                	test   %eax,%eax
409c58:	74 0f                	je     0x409c69
409c5a:	56                   	push   %esi
409c5b:	56                   	push   %esi
409c5c:	53                   	push   %ebx
409c5d:	ff 15 8c f0 40 00    	call   *0x40f08c
409c63:	8b f0                	mov    %eax,%esi
409c65:	85 f6                	test   %esi,%esi
409c67:	75 22                	jne    0x409c8b
409c69:	8b 55 fc             	mov    -0x4(%ebp),%edx
409c6c:	83 c8 ff             	or     $0xffffffff,%eax
409c6f:	8d 0c 95 80 72 41 00 	lea    0x417280(,%edx,4),%ecx
409c76:	87 01                	xchg   %eax,(%ecx)
409c78:	83 c7 04             	add    $0x4,%edi
409c7b:	3b 7d 0c             	cmp    0xc(%ebp),%edi
409c7e:	0f 85 6a ff ff ff    	jne    0x409bee
409c84:	33 c0                	xor    %eax,%eax
409c86:	5f                   	pop    %edi
409c87:	5e                   	pop    %esi
409c88:	5b                   	pop    %ebx
409c89:	c9                   	leave
409c8a:	c3                   	ret
409c8b:	8b 55 fc             	mov    -0x4(%ebp),%edx
409c8e:	8b c6                	mov    %esi,%eax
409c90:	8d 0c 95 80 72 41 00 	lea    0x417280(,%edx,4),%ecx
409c97:	87 01                	xchg   %eax,(%ecx)
409c99:	85 c0                	test   %eax,%eax
409c9b:	74 07                	je     0x409ca4
409c9d:	56                   	push   %esi
409c9e:	ff 15 84 f0 40 00    	call   *0x40f084
409ca4:	8b c6                	mov    %esi,%eax
409ca6:	eb de                	jmp    0x409c86
409ca8:	8b ff                	mov    %edi,%edi
409caa:	55                   	push   %ebp
409cab:	8b ec                	mov    %esp,%ebp
409cad:	8b 45 08             	mov    0x8(%ebp),%eax
409cb0:	53                   	push   %ebx
409cb1:	56                   	push   %esi
409cb2:	8d 1c 85 d8 72 41 00 	lea    0x4172d8(,%eax,4),%ebx
409cb9:	8b 13                	mov    (%ebx),%edx
409cbb:	90                   	nop
409cbc:	8b 0d 14 60 41 00    	mov    0x416014,%ecx
409cc2:	83 ce ff             	or     $0xffffffff,%esi
409cc5:	33 15 14 60 41 00    	xor    0x416014,%edx
409ccb:	83 e1 1f             	and    $0x1f,%ecx
409cce:	d3 ca                	ror    %cl,%edx
409cd0:	3b d6                	cmp    %esi,%edx
409cd2:	75 04                	jne    0x409cd8
409cd4:	33 c0                	xor    %eax,%eax
409cd6:	eb 51                	jmp    0x409d29
409cd8:	85 d2                	test   %edx,%edx
409cda:	74 04                	je     0x409ce0
409cdc:	8b c2                	mov    %edx,%eax
409cde:	eb 49                	jmp    0x409d29
409ce0:	57                   	push   %edi
409ce1:	ff 75 14             	push   0x14(%ebp)
409ce4:	ff 75 10             	push   0x10(%ebp)
409ce7:	e8 f1 fe ff ff       	call   0x409bdd
409cec:	59                   	pop    %ecx
409ced:	59                   	pop    %ecx
409cee:	85 c0                	test   %eax,%eax
409cf0:	74 1d                	je     0x409d0f
409cf2:	ff 75 0c             	push   0xc(%ebp)
409cf5:	50                   	push   %eax
409cf6:	ff 15 88 f0 40 00    	call   *0x40f088
409cfc:	8b f8                	mov    %eax,%edi
409cfe:	85 ff                	test   %edi,%edi
409d00:	74 0d                	je     0x409d0f
409d02:	57                   	push   %edi
409d03:	e8 a3 c2 ff ff       	call   0x405fab
409d08:	59                   	pop    %ecx
409d09:	87 03                	xchg   %eax,(%ebx)
409d0b:	8b c7                	mov    %edi,%eax
409d0d:	eb 19                	jmp    0x409d28
409d0f:	a1 14 60 41 00       	mov    0x416014,%eax
409d14:	6a 20                	push   $0x20
409d16:	83 e0 1f             	and    $0x1f,%eax
409d19:	59                   	pop    %ecx
409d1a:	2b c8                	sub    %eax,%ecx
409d1c:	d3 ce                	ror    %cl,%esi
409d1e:	33 35 14 60 41 00    	xor    0x416014,%esi
409d24:	87 33                	xchg   %esi,(%ebx)
409d26:	33 c0                	xor    %eax,%eax
409d28:	5f                   	pop    %edi
409d29:	5e                   	pop    %esi
409d2a:	5b                   	pop    %ebx
409d2b:	5d                   	pop    %ebp
409d2c:	c3                   	ret
409d2d:	8b ff                	mov    %edi,%edi
409d2f:	55                   	push   %ebp
409d30:	8b ec                	mov    %esp,%ebp
409d32:	56                   	push   %esi
409d33:	68 e0 0f 41 00       	push   $0x410fe0
409d38:	68 dc 0f 41 00       	push   $0x410fdc
409d3d:	68 e0 0f 41 00       	push   $0x410fe0
409d42:	6a 19                	push   $0x19
409d44:	e8 5f ff ff ff       	call   0x409ca8
409d49:	8b f0                	mov    %eax,%esi
409d4b:	83 c4 10             	add    $0x10,%esp
409d4e:	85 f6                	test   %esi,%esi
409d50:	74 11                	je     0x409d63
409d52:	ff 75 08             	push   0x8(%ebp)
409d55:	8b ce                	mov    %esi,%ecx
409d57:	6a fa                	push   $0xfffffffa
409d59:	ff 15 18 f1 40 00    	call   *0x40f118
409d5f:	ff d6                	call   *%esi
409d61:	eb 05                	jmp    0x409d68
409d63:	b8 25 02 00 c0       	mov    $0xc0000225,%eax
409d68:	5e                   	pop    %esi
409d69:	5d                   	pop    %ebp
409d6a:	c2 04 00             	ret    $0x4
409d6d:	8b ff                	mov    %edi,%edi
409d6f:	56                   	push   %esi
409d70:	e8 1a fe ff ff       	call   0x409b8f
409d75:	8b f0                	mov    %eax,%esi
409d77:	85 f6                	test   %esi,%esi
409d79:	74 0c                	je     0x409d87
409d7b:	8b ce                	mov    %esi,%ecx
409d7d:	ff 15 18 f1 40 00    	call   *0x40f118
409d83:	ff d6                	call   *%esi
409d85:	5e                   	pop    %esi
409d86:	c3                   	ret
409d87:	33 c0                	xor    %eax,%eax
409d89:	40                   	inc    %eax
409d8a:	5e                   	pop    %esi
409d8b:	c3                   	ret
409d8c:	8b ff                	mov    %edi,%edi
409d8e:	55                   	push   %ebp
409d8f:	8b ec                	mov    %esp,%ebp
409d91:	56                   	push   %esi