40498a:	85 f6                	test   %esi,%esi
40498c:	74 0b                	je     0x404999
40498e:	8b ce                	mov    %esi,%ecx
404990:	e8 b0 f1 ff ff       	call   0x403b45
404995:	ff d6                	call   *%esi
404997:	eb 06                	jmp    0x40499f
404999:	ff 15 fc b0 41 00    	call   *0x41b0fc
40499f:	5e                   	pop    %esi
4049a0:	5d                   	pop    %ebp
4049a1:	c3                   	ret
4049a2:	55                   	push   %ebp
4049a3:	8b ec                	mov    %esp,%ebp
4049a5:	56                   	push   %esi
4049a6:	68 a8 b4 41 00       	push   $0x41b4a8
4049ab:	68 a0 b4 41 00       	push   $0x41b4a0
4049b0:	68 a8 b4 41 00       	push   $0x41b4a8
4049b5:	6a 08                	push   $0x8
4049b7:	e8 da fd ff ff       	call   0x404796
4049bc:	8b f0                	mov    %eax,%esi
4049be:	83 c4 10             	add    $0x10,%esp
4049c1:	85 f6                	test   %esi,%esi
4049c3:	74 14                	je     0x4049d9
4049c5:	ff 75 10             	push   0x10(%ebp)
4049c8:	8b ce                	mov    %esi,%ecx
4049ca:	ff 75 0c             	push   0xc(%ebp)
4049cd:	ff 75 08             	push   0x8(%ebp)
4049d0:	e8 70 f1 ff ff       	call   0x403b45
4049d5:	ff d6                	call   *%esi
4049d7:	eb 0c                	jmp    0x4049e5
4049d9:	ff 75 0c             	push   0xc(%ebp)
4049dc:	ff 75 08             	push   0x8(%ebp)
4049df:	ff 15 f0 b0 41 00    	call   *0x41b0f0
4049e5:	5e                   	pop    %esi
4049e6:	5d                   	pop    %ebp
4049e7:	c3                   	ret
4049e8:	a1 0c 30 42 00       	mov    0x42300c,%eax
4049ed:	ba a8 3e 42 00       	mov    $0x423ea8,%edx
4049f2:	56                   	push   %esi
4049f3:	83 e0 1f             	and    $0x1f,%eax
4049f6:	33 f6                	xor    %esi,%esi
4049f8:	6a 20                	push   $0x20
4049fa:	59                   	pop    %ecx
4049fb:	2b c8                	sub    %eax,%ecx
4049fd:	b8 84 3e 42 00       	mov    $0x423e84,%eax
404a02:	d3 ce                	ror    %cl,%esi
404a04:	33 c9                	xor    %ecx,%ecx
404a06:	33 35 0c 30 42 00    	xor    0x42300c,%esi
404a0c:	3b d0                	cmp    %eax,%edx
404a0e:	1b d2                	sbb    %edx,%edx
404a10:	83 e2 f7             	and    $0xfffffff7,%edx
404a13:	83 c2 09             	add    $0x9,%edx
404a16:	41                   	inc    %ecx
404a17:	89 30                	mov    %esi,(%eax)
404a19:	8d 40 04             	lea    0x4(%eax),%eax
404a1c:	3b ca                	cmp    %edx,%ecx
404a1e:	75 f6                	jne    0x404a16
404a20:	5e                   	pop    %esi
404a21:	c3                   	ret
404a22:	55                   	push   %ebp
404a23:	8b ec                	mov    %esp,%ebp
404a25:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
404a29:	75 27                	jne    0x404a52
404a2b:	56                   	push   %esi
404a2c:	be 74 3e 42 00       	mov    $0x423e74,%esi
404a31:	83 3e 00             	cmpl   $0x0,(%esi)
404a34:	74 10                	je     0x404a46
404a36:	83 3e ff             	cmpl   $0xffffffff,(%esi)
404a39:	74 08                	je     0x404a43
404a3b:	ff 36                	push   (%esi)
404a3d:	ff 15 04 b1 41 00    	call   *0x41b104
404a43:	83 26 00             	andl   $0x0,(%esi)
404a46:	83 c6 04             	add    $0x4,%esi
404a49:	81 fe 84 3e 42 00    	cmp    $0x423e84,%esi
404a4f:	75 e0                	jne    0x404a31
404a51:	5e                   	pop    %esi
404a52:	5d                   	pop    %ebp
404a53:	c3                   	ret
404a54:	cc                   	int3
404a55:	cc                   	int3
404a56:	cc                   	int3
404a57:	cc                   	int3
404a58:	cc                   	int3
404a59:	cc                   	int3
404a5a:	cc                   	int3
404a5b:	cc                   	int3
404a5c:	cc                   	int3
404a5d:	cc                   	int3
404a5e:	cc                   	int3
404a5f:	cc                   	int3
404a60:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
404a64:	0f b6 44 24 08       	movzbl 0x8(%esp),%eax
404a69:	8b d7                	mov    %edi,%edx
404a6b:	8b 7c 24 04          	mov    0x4(%esp),%edi
404a6f:	85 c9                	test   %ecx,%ecx
404a71:	0f 84 3c 01 00 00    	je     0x404bb3
404a77:	69 c0 01 01 01 01    	imul   $0x1010101,%eax,%eax
404a7d:	83 f9 20             	cmp    $0x20,%ecx
404a80:	0f 8e df 00 00 00    	jle    0x404b65
404a86:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
404a8c:	0f 8c 8b 00 00 00    	jl     0x404b1d
404a92:	0f ba 25 18 3e 42 00 	btl    $0x1,0x423e18
404a99:	01
404a9a:	73 09                	jae    0x404aa5
404a9c:	f3 aa                	rep stos %al,%es:(%edi)
404a9e:	8b 44 24 04          	mov    0x4(%esp),%eax
404aa2:	8b fa                	mov    %edx,%edi
404aa4:	c3                   	ret
404aa5:	0f ba 25 10 30 42 00 	btl    $0x1,0x423010
404aac:	01
404aad:	0f 83 b2 00 00 00    	jae    0x404b65
404ab3:	66 0f 6e c0          	movd   %eax,%xmm0
404ab7:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
404abc:	03 cf                	add    %edi,%ecx
404abe:	0f 11 07             	movups %xmm0,(%edi)
404ac1:	83 c7 10             	add    $0x10,%edi
404ac4:	83 e7 f0             	and    $0xfffffff0,%edi
404ac7:	2b cf                	sub    %edi,%ecx
404ac9:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
404acf:	7e 4c                	jle    0x404b1d
404ad1:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404ad8:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404adf:	90                   	nop
404ae0:	66 0f 7f 07          	movdqa %xmm0,(%edi)
404ae4:	66 0f 7f 47 10       	movdqa %xmm0,0x10(%edi)
404ae9:	66 0f 7f 47 20       	movdqa %xmm0,0x20(%edi)
404aee:	66 0f 7f 47 30       	movdqa %xmm0,0x30(%edi)
404af3:	66 0f 7f 47 40       	movdqa %xmm0,0x40(%edi)
404af8:	66 0f 7f 47 50       	movdqa %xmm0,0x50(%edi)
404afd:	66 0f 7f 47 60       	movdqa %xmm0,0x60(%edi)
404b02:	66 0f 7f 47 70       	movdqa %xmm0,0x70(%edi)
404b07:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
404b0d:	81 e9 80 00 00 00    	sub    $0x80,%ecx
404b13:	f7 c1 00 ff ff ff    	test   $0xffffff00,%ecx
404b19:	75 c5                	jne    0x404ae0
404b1b:	eb 13                	jmp    0x404b30
404b1d:	0f ba 25 10 30 42 00 	btl    $0x1,0x423010
404b24:	01
404b25:	73 3e                	jae    0x404b65
404b27:	66 0f 6e c0          	movd   %eax,%xmm0
404b2b:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
404b30:	83 f9 20             	cmp    $0x20,%ecx
404b33:	72 1c                	jb     0x404b51
404b35:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
404b39:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
404b3e:	83 c7 20             	add    $0x20,%edi
404b41:	83 e9 20             	sub    $0x20,%ecx
404b44:	83 f9 20             	cmp    $0x20,%ecx
404b47:	73 ec                	jae    0x404b35
404b49:	f7 c1 1f 00 00 00    	test   $0x1f,%ecx
404b4f:	74 62                	je     0x404bb3
404b51:	8d 7c 39 e0          	lea    -0x20(%ecx,%edi,1),%edi
404b55:	f3 0f 7f 07          	movdqu %xmm0,(%edi)
404b59:	f3 0f 7f 47 10       	movdqu %xmm0,0x10(%edi)
404b5e:	8b 44 24 04          	mov    0x4(%esp),%eax
404b62:	8b fa                	mov    %edx,%edi
404b64:	c3                   	ret
404b65:	f7 c1 03 00 00 00    	test   $0x3,%ecx
404b6b:	74 0e                	je     0x404b7b
404b6d:	88 07                	mov    %al,(%edi)
404b6f:	47                   	inc    %edi
404b70:	83 e9 01             	sub    $0x1,%ecx
404b73:	f7 c1 03 00 00 00    	test   $0x3,%ecx
404b79:	75 f2                	jne    0x404b6d
404b7b:	f7 c1 04 00 00 00    	test   $0x4,%ecx
404b81:	74 08                	je     0x404b8b
404b83:	89 07                	mov    %eax,(%edi)
404b85:	83 c7 04             	add    $0x4,%edi
404b88:	83 e9 04             	sub    $0x4,%ecx
404b8b:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
404b91:	74 20                	je     0x404bb3
404b93:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404b9a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
404ba0:	89 07                	mov    %eax,(%edi)
404ba2:	89 47 04             	mov    %eax,0x4(%edi)
404ba5:	83 c7 08             	add    $0x8,%edi
404ba8:	83 e9 08             	sub    $0x8,%ecx
404bab:	f7 c1 f8 ff ff ff    	test   $0xfffffff8,%ecx
404bb1:	75 ed                	jne    0x404ba0
404bb3:	8b 44 24 04          	mov    0x4(%esp),%eax
404bb7:	8b fa                	mov    %edx,%edi
404bb9:	c3                   	ret
404bba:	55                   	push   %ebp
404bbb:	8b ec                	mov    %esp,%ebp
404bbd:	8b 45 08             	mov    0x8(%ebp),%eax
404bc0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
404bc3:	3b c1                	cmp    %ecx,%eax
404bc5:	75 04                	jne    0x404bcb
404bc7:	33 c0                	xor    %eax,%eax
404bc9:	5d                   	pop    %ebp
404bca:	c3                   	ret
404bcb:	83 c1 05             	add    $0x5,%ecx
404bce:	83 c0 05             	add    $0x5,%eax
404bd1:	8a 10                	mov    (%eax),%dl
404bd3:	3a 11                	cmp    (%ecx),%dl
404bd5:	75 18                	jne    0x404bef
404bd7:	84 d2                	test   %dl,%dl
404bd9:	74 ec                	je     0x404bc7
404bdb:	8a 50 01             	mov    0x1(%eax),%dl
404bde:	3a 51 01             	cmp    0x1(%ecx),%dl
404be1:	75 0c                	jne    0x404bef
404be3:	83 c0 02             	add    $0x2,%eax
404be6:	83 c1 02             	add    $0x2,%ecx
404be9:	84 d2                	test   %dl,%dl
404beb:	75 e4                	jne    0x404bd1
404bed:	eb d8                	jmp    0x404bc7
404bef:	1b c0                	sbb    %eax,%eax
404bf1:	83 c8 01             	or     $0x1,%eax
404bf4:	5d                   	pop    %ebp
404bf5:	c3                   	ret
404bf6:	a1 0c 30 42 00       	mov    0x42300c,%eax
404bfb:	83 e0 1f             	and    $0x1f,%eax
404bfe:	6a 20                	push   $0x20
404c00:	59                   	pop    %ecx
404c01:	2b c8                	sub    %eax,%ecx
404c03:	33 c0                	xor    %eax,%eax
404c05:	d3 c8                	ror    %cl,%eax
404c07:	33 05 0c 30 42 00    	xor    0x42300c,%eax
404c0d:	a3 a8 3e 42 00       	mov    %eax,0x423ea8
404c12:	c3                   	ret
404c13:	55                   	push   %ebp
404c14:	8b ec                	mov    %esp,%ebp
404c16:	8b 45 08             	mov    0x8(%ebp),%eax
404c19:	85 c0                	test   %eax,%eax
404c1b:	74 0e                	je     0x404c2b
404c1d:	3d ac 3e 42 00       	cmp    $0x423eac,%eax
404c22:	74 07                	je     0x404c2b
404c24:	50                   	push   %eax
404c25:	e8 fa 4b 00 00       	call   0x409824
404c2a:	59                   	pop    %ecx
404c2b:	5d                   	pop    %ebp
404c2c:	c2 04 00             	ret    $0x4
404c2f:	e8 09 00 00 00       	call   0x404c3d
404c34:	85 c0                	test   %eax,%eax
404c36:	0f 84 a5 4b 00 00    	je     0x4097e1
404c3c:	c3                   	ret
404c3d:	83 3d 30 30 42 00 ff 	cmpl   $0xffffffff,0x423030
404c44:	75 03                	jne    0x404c49
404c46:	33 c0                	xor    %eax,%eax
404c48:	c3                   	ret
404c49:	53                   	push   %ebx
404c4a:	57                   	push   %edi
404c4b:	ff 15 48 b0 41 00    	call   *0x41b048
404c51:	ff 35 30 30 42 00    	push   0x423030
404c57:	8b f8                	mov    %eax,%edi
404c59:	e8 cd fc ff ff       	call   0x40492b
404c5e:	8b d8                	mov    %eax,%ebx
404c60:	59                   	pop    %ecx
404c61:	83 fb ff             	cmp    $0xffffffff,%ebx
404c64:	74 17                	je     0x404c7d
404c66:	85 db                	test   %ebx,%ebx
404c68:	75 59                	jne    0x404cc3
404c6a:	6a ff                	push   $0xffffffff
404c6c:	ff 35 30 30 42 00    	push   0x423030
404c72:	e8 ee fc ff ff       	call   0x404965
404c77:	59                   	pop    %ecx
404c78:	59                   	pop    %ecx
404c79:	85 c0                	test   %eax,%eax
404c7b:	75 04                	jne    0x404c81
404c7d:	33 db                	xor    %ebx,%ebx
404c7f:	eb 42                	jmp    0x404cc3
404c81:	56                   	push   %esi
404c82:	6a 28                	push   $0x28
404c84:	6a 01                	push   $0x1
404c86:	e8 21 4c 00 00       	call   0x4098ac
404c8b:	8b f0                	mov    %eax,%esi
404c8d:	59                   	pop    %ecx
404c8e:	59                   	pop    %ecx
404c8f:	85 f6                	test   %esi,%esi
404c91:	74 12                	je     0x404ca5
404c93:	56                   	push   %esi
404c94:	ff 35 30 30 42 00    	push   0x423030
404c9a:	e8 c6 fc ff ff       	call   0x404965
404c9f:	59                   	pop    %ecx
404ca0:	59                   	pop    %ecx
404ca1:	85 c0                	test   %eax,%eax
404ca3:	75 12                	jne    0x404cb7
404ca5:	33 db                	xor    %ebx,%ebx
404ca7:	53                   	push   %ebx
404ca8:	ff 35 30 30 42 00    	push   0x423030
404cae:	e8 b2 fc ff ff       	call   0x404965
404cb3:	59                   	pop    %ecx
404cb4:	59                   	pop    %ecx
404cb5:	eb 04                	jmp    0x404cbb
404cb7:	8b de                	mov    %esi,%ebx
404cb9:	33 f6                	xor    %esi,%esi
404cbb:	56                   	push   %esi
404cbc:	e8 63 4b 00 00       	call   0x409824
404cc1:	59                   	pop    %ecx
404cc2:	5e                   	pop    %esi
404cc3:	57                   	push   %edi
404cc4:	ff 15 9c b0 41 00    	call   *0x41b09c
404cca:	5f                   	pop    %edi
404ccb:	8b c3                	mov    %ebx,%eax
404ccd:	5b                   	pop    %ebx
404cce:	c3                   	ret
404ccf:	68 13 4c 40 00       	push   $0x404c13
404cd4:	e8 de fb ff ff       	call   0x4048b7
404cd9:	a3 30 30 42 00       	mov    %eax,0x423030
404cde:	59                   	pop    %ecx
404cdf:	83 f8 ff             	cmp    $0xffffffff,%eax
404ce2:	75 03                	jne    0x404ce7
404ce4:	32 c0                	xor    %al,%al
404ce6:	c3                   	ret
404ce7:	68 ac 3e 42 00       	push   $0x423eac
404cec:	50                   	push   %eax
404ced:	e8 73 fc ff ff       	call   0x404965
404cf2:	59                   	pop    %ecx
404cf3:	59                   	pop    %ecx
404cf4:	85 c0                	test   %eax,%eax
404cf6:	75 07                	jne    0x404cff
404cf8:	e8 05 00 00 00       	call   0x404d02
404cfd:	eb e5                	jmp    0x404ce4
404cff:	b0 01                	mov    $0x1,%al
404d01:	c3                   	ret
404d02:	a1 30 30 42 00       	mov    0x423030,%eax
404d07:	83 f8 ff             	cmp    $0xffffffff,%eax
404d0a:	74 0e                	je     0x404d1a
404d0c:	50                   	push   %eax
404d0d:	e8 df fb ff ff       	call   0x4048f1
404d12:	83 0d 30 30 42 00 ff 	orl    $0xffffffff,0x423030
404d19:	59                   	pop    %ecx
404d1a:	b0 01                	mov    $0x1,%al
404d1c:	c3                   	ret
404d1d:	56                   	push   %esi
404d1e:	57                   	push   %edi
404d1f:	bf d4 3e 42 00       	mov    $0x423ed4,%edi
404d24:	33 f6                	xor    %esi,%esi
404d26:	6a 00                	push   $0x0
404d28:	68 a0 0f 00 00       	push   $0xfa0
404d2d:	57                   	push   %edi
404d2e:	e8 6f fc ff ff       	call   0x4049a2
404d33:	83 c4 0c             	add    $0xc,%esp
404d36:	85 c0                	test   %eax,%eax
404d38:	74 15                	je     0x404d4f
404d3a:	ff 05 ec 3e 42 00    	incl   0x423eec
404d40:	83 c6 18             	add    $0x18,%esi
404d43:	83 c7 18             	add    $0x18,%edi
404d46:	83 fe 18             	cmp    $0x18,%esi
404d49:	72 db                	jb     0x404d26
404d4b:	b0 01                	mov    $0x1,%al
404d4d:	eb 07                	jmp    0x404d56
404d4f:	e8 05 00 00 00       	call   0x404d59
404d54:	32 c0                	xor    %al,%al
404d56:	5f                   	pop    %edi
404d57:	5e                   	pop    %esi
404d58:	c3                   	ret
404d59:	56                   	push   %esi
404d5a:	8b 35 ec 3e 42 00    	mov    0x423eec,%esi
404d60:	85 f6                	test   %esi,%esi
404d62:	74 20                	je     0x404d84