404acf:	cc                   	int3
404ad0:	e8 f0 c1 00 00       	call   0x410cc5
404ad5:	68 50 32 41 00       	push   $0x413250
404ada:	e8 d9 d9 00 00       	call   0x4124b8
404adf:	59                   	pop    %ecx
404ae0:	c3                   	ret
404ae1:	cc                   	int3
404ae2:	cc                   	int3
404ae3:	cc                   	int3
404ae4:	cc                   	int3
404ae5:	cc                   	int3
404ae6:	cc                   	int3
404ae7:	cc                   	int3
404ae8:	cc                   	int3
404ae9:	cc                   	int3
404aea:	cc                   	int3
404aeb:	cc                   	int3
404aec:	cc                   	int3
404aed:	cc                   	int3
404aee:	cc                   	int3
404aef:	cc                   	int3
404af0:	b9 00 52 41 00       	mov    $0x415200,%ecx
404af5:	e8 45 01 00 00       	call   0x404c3f
404afa:	85 c0                	test   %eax,%eax
404afc:	79 0e                	jns    0x404b0c
404afe:	83 25 fc 51 41 00 00 	andl   $0x0,0x4151fc
404b05:	c6 05 50 56 41 00 01 	movb   $0x1,0x415650
404b0c:	68 60 32 41 00       	push   $0x413260
404b11:	e8 a2 d9 00 00       	call   0x4124b8
404b16:	59                   	pop    %ecx
404b17:	c3                   	ret
404b18:	cc                   	int3
404b19:	cc                   	int3
404b1a:	cc                   	int3
404b1b:	cc                   	int3
404b1c:	cc                   	int3
404b1d:	cc                   	int3
404b1e:	cc                   	int3
404b1f:	cc                   	int3
404b20:	b9 24 51 41 00       	mov    $0x415124,%ecx
404b25:	e8 15 01 00 00       	call   0x404c3f
404b2a:	85 c0                	test   %eax,%eax
404b2c:	79 09                	jns    0x404b37
404b2e:	c6 05 50 56 41 00 01 	movb   $0x1,0x415650
404b35:	eb 0a                	jmp    0x404b41
404b37:	c7 05 14 51 41 00 28 	movl   $0x28,0x415114
404b3e:	00 00 00
404b41:	68 70 32 41 00       	push   $0x413270
404b46:	e8 6d d9 00 00       	call   0x4124b8
404b4b:	59                   	pop    %ecx
404b4c:	c3                   	ret
404b4d:	cc                   	int3
404b4e:	cc                   	int3
404b4f:	cc                   	int3
404b50:	68 80 32 41 00       	push   $0x413280
404b55:	e8 5e d9 00 00       	call   0x4124b8
404b5a:	59                   	pop    %ecx
404b5b:	c3                   	ret
404b5c:	cc                   	int3
404b5d:	cc                   	int3
404b5e:	cc                   	int3
404b5f:	cc                   	int3
404b60:	68 b0 32 41 00       	push   $0x4132b0
404b65:	e8 4e d9 00 00       	call   0x4124b8
404b6a:	59                   	pop    %ecx
404b6b:	c3                   	ret
404b6c:	cc                   	int3
404b6d:	cc                   	int3
404b6e:	cc                   	int3
404b6f:	cc                   	int3
404b70:	68 c0 32 41 00       	push   $0x4132c0
404b75:	e8 3e d9 00 00       	call   0x4124b8
404b7a:	59                   	pop    %ecx
404b7b:	c3                   	ret
404b7c:	cc                   	int3
404b7d:	cc                   	int3
404b7e:	cc                   	int3
404b7f:	cc                   	int3
404b80:	68 d0 32 41 00       	push   $0x4132d0
404b85:	e8 2e d9 00 00       	call   0x4124b8
404b8a:	59                   	pop    %ecx
404b8b:	c3                   	ret
404b8c:	cc                   	int3
404b8d:	cc                   	int3
404b8e:	cc                   	int3
404b8f:	cc                   	int3
404b90:	8b 01                	mov    (%ecx),%eax
404b92:	3b 02                	cmp    (%edx),%eax
404b94:	75 1c                	jne    0x404bb2
404b96:	8b 41 04             	mov    0x4(%ecx),%eax
404b99:	3b 42 04             	cmp    0x4(%edx),%eax
404b9c:	75 14                	jne    0x404bb2
404b9e:	8b 41 08             	mov    0x8(%ecx),%eax
404ba1:	3b 42 08             	cmp    0x8(%edx),%eax
404ba4:	75 0c                	jne    0x404bb2
404ba6:	8b 41 0c             	mov    0xc(%ecx),%eax
404ba9:	3b 42 0c             	cmp    0xc(%edx),%eax
404bac:	75 04                	jne    0x404bb2
404bae:	33 c0                	xor    %eax,%eax
404bb0:	40                   	inc    %eax
404bb1:	c3                   	ret
404bb2:	33 c0                	xor    %eax,%eax
404bb4:	c3                   	ret
404bb5:	85 c9                	test   %ecx,%ecx
404bb7:	75 03                	jne    0x404bbc
404bb9:	33 c0                	xor    %eax,%eax
404bbb:	c3                   	ret
404bbc:	8d 51 02             	lea    0x2(%ecx),%edx
404bbf:	66 8b 01             	mov    (%ecx),%ax
404bc2:	83 c1 02             	add    $0x2,%ecx
404bc5:	66 85 c0             	test   %ax,%ax
404bc8:	75 f5                	jne    0x404bbf
404bca:	2b ca                	sub    %edx,%ecx
404bcc:	d1 f9                	sar    $1,%ecx
404bce:	8b c1                	mov    %ecx,%eax
404bd0:	c3                   	ret
404bd1:	6a 00                	push   $0x0
404bd3:	6a 00                	push   $0x0
404bd5:	6a 01                	push   $0x1
404bd7:	51                   	push   %ecx
404bd8:	ff 15 b8 60 41 00    	call   *0x4160b8
404bde:	c3                   	ret
404bdf:	8b ff                	mov    %edi,%edi
404be1:	55                   	push   %ebp
404be2:	8b ec                	mov    %esp,%ebp
404be4:	8b 45 08             	mov    0x8(%ebp),%eax
404be7:	89 01                	mov    %eax,(%ecx)
404be9:	8b c1                	mov    %ecx,%eax
404beb:	5d                   	pop    %ebp
404bec:	c2 04 00             	ret    $0x4
404bef:	8b ff                	mov    %edi,%edi
404bf1:	55                   	push   %ebp
404bf2:	8b ec                	mov    %esp,%ebp
404bf4:	51                   	push   %ecx
404bf5:	51                   	push   %ecx
404bf6:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404bf9:	e8 e1 ff ff ff       	call   0x404bdf
404bfe:	68 98 40 41 00       	push   $0x414098
404c03:	8b c1                	mov    %ecx,%eax
404c05:	50                   	push   %eax
404c06:	e8 1b d9 00 00       	call   0x412526
404c0b:	cc                   	int3
404c0c:	85 c9                	test   %ecx,%ecx
404c0e:	74 2c                	je     0x404c3c
404c10:	83 f9 0c             	cmp    $0xc,%ecx
404c13:	74 20                	je     0x404c35
404c15:	83 f9 16             	cmp    $0x16,%ecx
404c18:	74 14                	je     0x404c2e
404c1a:	83 f9 22             	cmp    $0x22,%ecx
404c1d:	74 0f                	je     0x404c2e
404c1f:	83 f9 50             	cmp    $0x50,%ecx
404c22:	74 18                	je     0x404c3c
404c24:	b9 05 40 00 80       	mov    $0x80004005,%ecx
404c29:	e9 c1 ff ff ff       	jmp    0x404bef
404c2e:	b9 57 00 07 80       	mov    $0x80070057,%ecx
404c33:	eb f4                	jmp    0x404c29
404c35:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
404c3a:	eb ed                	jmp    0x404c29
404c3c:	8b c1                	mov    %ecx,%eax
404c3e:	c3                   	ret
404c3f:	6a 0c                	push   $0xc
404c41:	68 e0 32 41 00       	push   $0x4132e0
404c46:	e8 2d dd 00 00       	call   0x412978
404c4b:	33 f6                	xor    %esi,%esi
404c4d:	89 75 fc             	mov    %esi,-0x4(%ebp)
404c50:	51                   	push   %ecx
404c51:	ff 15 58 61 41 00    	call   *0x416158
404c57:	eb 1b                	jmp    0x404c74
404c59:	8b 45 ec             	mov    -0x14(%ebp),%eax
404c5c:	8b 00                	mov    (%eax),%eax
404c5e:	33 c9                	xor    %ecx,%ecx
404c60:	81 38 17 00 00 c0    	cmpl   $0xc0000017,(%eax)
404c66:	0f 94 c1             	sete   %cl
404c69:	8b c1                	mov    %ecx,%eax
404c6b:	c3                   	ret
404c6c:	8b 65 e8             	mov    -0x18(%ebp),%esp
404c6f:	be 0e 00 07 80       	mov    $0x8007000e,%esi
404c74:	89 75 e4             	mov    %esi,-0x1c(%ebp)
404c77:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
404c7e:	8b c6                	mov    %esi,%eax
404c80:	8b 4d f0             	mov    -0x10(%ebp),%ecx
404c83:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404c8a:	59                   	pop    %ecx
404c8b:	5f                   	pop    %edi
404c8c:	5e                   	pop    %esi
404c8d:	5b                   	pop    %ebx
404c8e:	c9                   	leave
404c8f:	c3                   	ret
404c90:	ff 15 68 61 41 00    	call   *0x416168
404c96:	85 c0                	test   %eax,%eax
404c98:	7e 08                	jle    0x404ca2
404c9a:	0f b7 c0             	movzwl %ax,%eax
404c9d:	0d 00 00 07 80       	or     $0x80070000,%eax
404ca2:	c3                   	ret
404ca3:	85 c9                	test   %ecx,%ecx
404ca5:	7e 09                	jle    0x404cb0
404ca7:	0f b7 c9             	movzwl %cx,%ecx
404caa:	81 c9 00 00 07 80    	or     $0x80070000,%ecx
404cb0:	8b c1                	mov    %ecx,%eax
404cb2:	c3                   	ret
404cb3:	cc                   	int3
404cb4:	cc                   	int3
404cb5:	cc                   	int3
404cb6:	cc                   	int3
404cb7:	cc                   	int3
404cb8:	cc                   	int3
404cb9:	cc                   	int3
404cba:	cc                   	int3
404cbb:	cc                   	int3
404cbc:	cc                   	int3
404cbd:	cc                   	int3
404cbe:	cc                   	int3
404cbf:	cc                   	int3
404cc0:	ff 31                	push   (%ecx)
404cc2:	ff 15 b8 61 41 00    	call   *0x4161b8
404cc8:	c3                   	ret
404cc9:	8b ff                	mov    %edi,%edi
404ccb:	56                   	push   %esi
404ccc:	8b 31                	mov    (%ecx),%esi
404cce:	57                   	push   %edi
404ccf:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
404cd4:	3b f7                	cmp    %edi,%esi
404cd6:	74 1a                	je     0x404cf2
404cd8:	8d 56 01             	lea    0x1(%esi),%edx
404cdb:	8b c6                	mov    %esi,%eax
404cdd:	f0 0f b1 11          	lock cmpxchg %edx,(%ecx)
404ce1:	3b c6                	cmp    %esi,%eax
404ce3:	74 06                	je     0x404ceb
404ce5:	8b 31                	mov    (%ecx),%esi
404ce7:	3b f7                	cmp    %edi,%esi
404ce9:	75 ed                	jne    0x404cd8
404ceb:	8d 46 01             	lea    0x1(%esi),%eax
404cee:	3b f7                	cmp    %edi,%esi
404cf0:	75 02                	jne    0x404cf4
404cf2:	8b c7                	mov    %edi,%eax
404cf4:	5f                   	pop    %edi
404cf5:	5e                   	pop    %esi
404cf6:	c3                   	ret
404cf7:	33 c0                	xor    %eax,%eax
404cf9:	39 01                	cmp    %eax,(%ecx)
404cfb:	75 18                	jne    0x404d15
404cfd:	39 41 04             	cmp    %eax,0x4(%ecx)
404d00:	75 13                	jne    0x404d15
404d02:	81 79 08 c0 00 00 00 	cmpl   $0xc0,0x8(%ecx)
404d09:	75 0a                	jne    0x404d15
404d0b:	81 79 0c 00 00 00 46 	cmpl   $0x46000000,0xc(%ecx)
404d12:	75 01                	jne    0x404d15
404d14:	40                   	inc    %eax
404d15:	c3                   	ret
404d16:	8b ff                	mov    %edi,%edi
404d18:	56                   	push   %esi
404d19:	8b f1                	mov    %ecx,%esi
404d1b:	83 3e 00             	cmpl   $0x0,(%esi)
404d1e:	74 0b                	je     0x404d2b
404d20:	ff 36                	push   (%esi)
404d22:	ff 15 18 60 41 00    	call   *0x416018
404d28:	83 26 00             	andl   $0x0,(%esi)
404d2b:	5e                   	pop    %esi
404d2c:	c3                   	ret
404d2d:	8b ff                	mov    %edi,%edi
404d2f:	55                   	push   %ebp
404d30:	8b ec                	mov    %esp,%ebp
404d32:	53                   	push   %ebx
404d33:	56                   	push   %esi
404d34:	8b f1                	mov    %ecx,%esi
404d36:	33 db                	xor    %ebx,%ebx
404d38:	57                   	push   %edi
404d39:	39 5e 04             	cmp    %ebx,0x4(%esi)
404d3c:	75 45                	jne    0x404d83
404d3e:	39 5e 08             	cmp    %ebx,0x8(%esi)
404d41:	75 40                	jne    0x404d83
404d43:	68 a0 27 40 00       	push   $0x4027a0
404d48:	ff 15 cc 60 41 00    	call   *0x4160cc
404d4e:	85 c0                	test   %eax,%eax
404d50:	74 11                	je     0x404d63
404d52:	68 f4 27 40 00       	push   $0x4027f4
404d57:	50                   	push   %eax
404d58:	ff 15 70 61 41 00    	call   *0x416170
404d5e:	89 46 04             	mov    %eax,0x4(%esi)
404d61:	eb 20                	jmp    0x404d83
404d63:	53                   	push   %ebx
404d64:	53                   	push   %ebx
404d65:	68 04 28 40 00       	push   $0x402804
404d6a:	ff 15 d8 60 41 00    	call   *0x4160d8
404d70:	85 c0                	test   %eax,%eax
404d72:	74 0f                	je     0x404d83
404d74:	68 20 28 40 00       	push   $0x402820
404d79:	50                   	push   %eax
404d7a:	ff 15 70 61 41 00    	call   *0x416170
404d80:	89 46 08             	mov    %eax,0x8(%esi)
404d83:	8b 7e 04             	mov    0x4(%esi),%edi
404d86:	85 ff                	test   %edi,%edi
404d88:	74 13                	je     0x404d9d
404d8a:	53                   	push   %ebx
404d8b:	53                   	push   %ebx
404d8c:	ff 75 08             	push   0x8(%ebp)
404d8f:	8b cf                	mov    %edi,%ecx
404d91:	ff 36                	push   (%esi)
404d93:	ff 15 28 63 41 00    	call   *0x416328
404d99:	ff d7                	call   *%edi
404d9b:	eb 1e                	jmp    0x404dbb
404d9d:	8b 7e 08             	mov    0x8(%esi),%edi
404da0:	85 ff                	test   %edi,%edi
404da2:	74 11                	je     0x404db5
404da4:	ff 75 08             	push   0x8(%ebp)
404da7:	8b cf                	mov    %edi,%ecx
404da9:	ff 36                	push   (%esi)
404dab:	ff 15 28 63 41 00    	call   *0x416328
404db1:	ff d7                	call   *%edi
404db3:	eb 06                	jmp    0x404dbb
404db5:	ff 15 68 61 41 00    	call   *0x416168
404dbb:	5f                   	pop    %edi
404dbc:	5e                   	pop    %esi
404dbd:	5b                   	pop    %ebx
404dbe:	5d                   	pop    %ebp
404dbf:	c2 04 00             	ret    $0x4
404dc2:	8b ff                	mov    %edi,%edi
404dc4:	55                   	push   %ebp
404dc5:	8b ec                	mov    %esp,%ebp
404dc7:	51                   	push   %ecx
404dc8:	51                   	push   %ecx
404dc9:	8b 55 0c             	mov    0xc(%ebp),%edx
404dcc:	53                   	push   %ebx
404dcd:	8b d9                	mov    %ecx,%ebx
404dcf:	56                   	push   %esi
404dd0:	57                   	push   %edi
404dd1:	85 d2                	test   %edx,%edx
404dd3:	74 47                	je     0x404e1c
404dd5:	33 c0                	xor    %eax,%eax
404dd7:	8b fa                	mov    %edx,%edi
404dd9:	89 45 fc             	mov    %eax,-0x4(%ebp)
404ddc:	8b f0                	mov    %eax,%esi
404dde:	8b cf                	mov    %edi,%ecx
404de0:	8d 41 02             	lea    0x2(%ecx),%eax
404de3:	89 45 f8             	mov    %eax,-0x8(%ebp)
404de6:	66 8b 01             	mov    (%ecx),%ax
404de9:	83 c1 02             	add    $0x2,%ecx
404dec:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
404df0:	75 f4                	jne    0x404de6
404df2:	2b 4d f8             	sub    -0x8(%ebp),%ecx
404df5:	d1 f9                	sar    $1,%ecx
404df7:	41                   	inc    %ecx
404df8:	8d 3c 4f             	lea    (%edi,%ecx,2),%edi
404dfb:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
404dfe:	83 f9 01             	cmp    $0x1,%ecx
404e01:	75 db                	jne    0x404dde
404e03:	56                   	push   %esi
404e04:	52                   	push   %edx
404e05:	6a 07                	push   $0x7
404e07:	33 c0                	xor    %eax,%eax