a56d1d:	51                   	push   %ecx
a56d1e:	56                   	push   %esi
a56d1f:	8b 75 0c             	mov    0xc(%ebp),%esi
a56d22:	57                   	push   %edi
a56d23:	83 fe 01             	cmp    $0x1,%esi
a56d26:	75 2e                	jne    0xa56d56
a56d28:	8b 7d 08             	mov    0x8(%ebp),%edi
a56d2b:	85 ff                	test   %edi,%edi
a56d2d:	74 27                	je     0xa56d56
a56d2f:	53                   	push   %ebx
a56d30:	e8 59 b4 9b ff       	call   0x41218e
a56d35:	53                   	push   %ebx
a56d36:	6a 00                	push   $0x0
a56d38:	68 80 96 98 00       	push   $0x989680
a56d3d:	52                   	push   %edx
a56d3e:	50                   	push   %eax
a56d3f:	e8 7d ef 9b ff       	call   0x415cc1
a56d44:	89 5d fc             	mov    %ebx,-0x4(%ebp)
a56d47:	5b                   	pop    %ebx
a56d48:	89 07                	mov    %eax,(%edi)
a56d4a:	6b c1 64             	imul   $0x64,%ecx,%eax
a56d4d:	89 57 04             	mov    %edx,0x4(%edi)
a56d50:	5b                   	pop    %ebx
a56d51:	89 47 08             	mov    %eax,0x8(%edi)
a56d54:	eb 02                	jmp    0xa56d58
a56d56:	33 f6                	xor    %esi,%esi
a56d58:	5f                   	pop    %edi
a56d59:	8b c6                	mov    %esi,%eax
a56d5b:	5e                   	pop    %esi
a56d5c:	8b e5                	mov    %ebp,%esp
a56d5e:	5d                   	pop    %ebp
a56d5f:	c3                   	ret
a56d60:	cc                   	int3
a56d61:	cc                   	int3
a56d62:	cc                   	int3
a56d63:	cc                   	int3
a56d64:	cc                   	int3
a56d65:	cc                   	int3
a56d66:	cc                   	int3
a56d67:	cc                   	int3
a56d68:	cc                   	int3
a56d69:	cc                   	int3
a56d6a:	cc                   	int3
a56d6b:	cc                   	int3
a56d6c:	cc                   	int3
a56d6d:	cc                   	int3
a56d6e:	cc                   	int3
a56d6f:	cc                   	int3
a56d70:	cc                   	int3
a56d71:	55                   	push   %ebp
a56d72:	8b ec                	mov    %esp,%ebp
a56d74:	8b 45 08             	mov    0x8(%ebp),%eax
a56d77:	ba 00 ca 9a 3b       	mov    $0x3b9aca00,%edx
a56d7c:	8b 48 08             	mov    0x8(%eax),%ecx
a56d7f:	85 c9                	test   %ecx,%ecx
a56d81:	79 0e                	jns    0xa56d91
a56d83:	83 00 ff             	addl   $0xffffffff,(%eax)
a56d86:	83 50 04 ff          	adcl   $0xffffffff,0x4(%eax)
a56d8a:	03 ca                	add    %edx,%ecx
a56d8c:	78 f5                	js     0xa56d83
a56d8e:	89 48 08             	mov    %ecx,0x8(%eax)
a56d91:	8b 48 08             	mov    0x8(%eax),%ecx
a56d94:	3b ca                	cmp    %edx,%ecx
a56d96:	7c 10                	jl     0xa56da8
a56d98:	83 00 01             	addl   $0x1,(%eax)
a56d9b:	83 50 04 00          	adcl   $0x0,0x4(%eax)
a56d9f:	2b ca                	sub    %edx,%ecx
a56da1:	3b ca                	cmp    %edx,%ecx
a56da3:	7d f3                	jge    0xa56d98
a56da5:	89 48 08             	mov    %ecx,0x8(%eax)
a56da8:	5d                   	pop    %ebp
a56da9:	c3                   	ret
a56daa:	cc                   	int3
a56dab:	cc                   	int3
a56dac:	cc                   	int3
a56dad:	cc                   	int3
a56dae:	cc                   	int3
a56daf:	cc                   	int3
a56db0:	cc                   	int3
a56db1:	cc                   	int3
a56db2:	cc                   	int3
a56db3:	cc                   	int3
a56db4:	cc                   	int3
a56db5:	cc                   	int3
a56db6:	cc                   	int3
a56db7:	cc                   	int3
a56db8:	6a 08                	push   $0x8
a56dba:	b8 7e b8 bb 00       	mov    $0xbbb87e,%eax
a56dbf:	e8 c7 34 9b ff       	call   0x40a28b
a56dc4:	8b f1                	mov    %ecx,%esi
a56dc6:	89 75 f0             	mov    %esi,-0x10(%ebp)
a56dc9:	33 c0                	xor    %eax,%eax
a56dcb:	40                   	inc    %eax
a56dcc:	89 46 04             	mov    %eax,0x4(%esi)
a56dcf:	89 46 08             	mov    %eax,0x8(%esi)
a56dd2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a56dd6:	8d 4e 0c             	lea    0xc(%esi),%ecx
a56dd9:	c7 06 e4 a8 c7 00    	movl   $0xc7a8e4,(%esi)
a56ddf:	89 4d ec             	mov    %ecx,-0x14(%ebp)
a56de2:	88 45 fc             	mov    %al,-0x4(%ebp)
a56de5:	85 c9                	test   %ecx,%ecx
a56de7:	74 11                	je     0xa56dfa
a56de9:	8b 45 0c             	mov    0xc(%ebp),%eax
a56dec:	0f b6 00             	movzbl (%eax),%eax
a56def:	50                   	push   %eax
a56df0:	8b 45 08             	mov    0x8(%ebp),%eax
a56df3:	ff 30                	push   (%eax)
a56df5:	e8 89 a5 9b ff       	call   0x411383
a56dfa:	8b c6                	mov    %esi,%eax
a56dfc:	e8 16 76 9b ff       	call   0x40e417
a56e01:	c2 08 00             	ret    $0x8
a56e04:	cc                   	int3
a56e05:	cc                   	int3
a56e06:	cc                   	int3
a56e07:	cc                   	int3
a56e08:	cc                   	int3
a56e09:	cc                   	int3
a56e0a:	cc                   	int3
a56e0b:	cc                   	int3
a56e0c:	cc                   	int3
a56e0d:	cc                   	int3
a56e0e:	cc                   	int3
a56e0f:	cc                   	int3
a56e10:	cc                   	int3
a56e11:	cc                   	int3
a56e12:	cc                   	int3
a56e13:	cc                   	int3
a56e14:	cc                   	int3
a56e15:	cc                   	int3
a56e16:	cc                   	int3
a56e17:	6a 0c                	push   $0xc
a56e19:	b8 bc b8 bb 00       	mov    $0xbbb8bc,%eax
a56e1e:	e8 68 34 9b ff       	call   0x40a28b
a56e23:	8b f1                	mov    %ecx,%esi
a56e25:	89 75 f0             	mov    %esi,-0x10(%ebp)
a56e28:	33 db                	xor    %ebx,%ebx
a56e2a:	43                   	inc    %ebx
a56e2b:	89 5e 04             	mov    %ebx,0x4(%esi)
a56e2e:	89 5e 08             	mov    %ebx,0x8(%esi)
a56e31:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a56e35:	8d 7e 0c             	lea    0xc(%esi),%edi
a56e38:	6a 54                	push   $0x54
a56e3a:	6a 00                	push   $0x0
a56e3c:	57                   	push   %edi
a56e3d:	c7 06 cc a8 c7 00    	movl   $0xc7a8cc,(%esi)
a56e43:	e8 70 d9 9b ff       	call   0x4147b8
a56e48:	89 7d ec             	mov    %edi,-0x14(%ebp)
a56e4b:	83 c4 0c             	add    $0xc,%esp
a56e4e:	89 7d e8             	mov    %edi,-0x18(%ebp)
a56e51:	88 5d fc             	mov    %bl,-0x4(%ebp)
a56e54:	85 ff                	test   %edi,%edi
a56e56:	74 13                	je     0xa56e6b
a56e58:	8b 45 10             	mov    0x10(%ebp),%eax
a56e5b:	8b cf                	mov    %edi,%ecx
a56e5d:	0f b6 00             	movzbl (%eax),%eax
a56e60:	50                   	push   %eax
a56e61:	8b 45 0c             	mov    0xc(%ebp),%eax
a56e64:	ff 30                	push   (%eax)
a56e66:	e8 18 a5 9b ff       	call   0x411383
a56e6b:	8b c6                	mov    %esi,%eax
a56e6d:	e8 a5 75 9b ff       	call   0x40e417
a56e72:	c2 0c 00             	ret    $0xc
a56e75:	cc                   	int3
a56e76:	cc                   	int3
a56e77:	cc                   	int3
a56e78:	cc                   	int3
a56e79:	cc                   	int3
a56e7a:	cc                   	int3
a56e7b:	cc                   	int3
a56e7c:	cc                   	int3
a56e7d:	cc                   	int3
a56e7e:	cc                   	int3
a56e7f:	cc                   	int3
a56e80:	cc                   	int3
a56e81:	cc                   	int3
a56e82:	cc                   	int3
a56e83:	cc                   	int3
a56e84:	cc                   	int3
a56e85:	cc                   	int3
a56e86:	cc                   	int3
a56e87:	cc                   	int3
a56e88:	cc                   	int3
a56e89:	cc                   	int3
a56e8a:	cc                   	int3
a56e8b:	cc                   	int3
a56e8c:	8b c1                	mov    %ecx,%eax
a56e8e:	c2 04 00             	ret    $0x4
a56e91:	56                   	push   %esi
a56e92:	6a 54                	push   $0x54
a56e94:	8b f1                	mov    %ecx,%esi
a56e96:	6a 00                	push   $0x0
a56e98:	56                   	push   %esi
a56e99:	e8 1a d9 9b ff       	call   0x4147b8
a56e9e:	83 c4 0c             	add    $0xc,%esp
a56ea1:	8b c6                	mov    %esi,%eax
a56ea3:	5e                   	pop    %esi
a56ea4:	c2 08 00             	ret    $0x8
a56ea7:	cc                   	int3
a56ea8:	cc                   	int3
a56ea9:	cc                   	int3
a56eaa:	cc                   	int3
a56eab:	cc                   	int3
a56eac:	8b c1                	mov    %ecx,%eax
a56eae:	c2 04 00             	ret    $0x4
a56eb1:	8b c1                	mov    %ecx,%eax
a56eb3:	c2 04 00             	ret    $0x4
a56eb6:	55                   	push   %ebp
a56eb7:	8b ec                	mov    %esp,%ebp
a56eb9:	8b 45 08             	mov    0x8(%ebp),%eax
a56ebc:	8b 08                	mov    (%eax),%ecx
a56ebe:	8b 45 0c             	mov    0xc(%ebp),%eax
a56ec1:	3b 08                	cmp    (%eax),%ecx
a56ec3:	0f 94 c0             	sete   %al
a56ec6:	5d                   	pop    %ebp
a56ec7:	c3                   	ret
a56ec8:	cc                   	int3
a56ec9:	cc                   	int3
a56eca:	cc                   	int3
a56ecb:	cc                   	int3
a56ecc:	6a 04                	push   $0x4
a56ece:	b8 f1 b8 bb 00       	mov    $0xbbb8f1,%eax
a56ed3:	e8 b3 33 9b ff       	call   0x40a28b
a56ed8:	8b 4d 10             	mov    0x10(%ebp),%ecx
a56edb:	89 4d f0             	mov    %ecx,-0x10(%ebp)
a56ede:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a56ee2:	85 c9                	test   %ecx,%ecx
a56ee4:	74 0e                	je     0xa56ef4
a56ee6:	ff 75 1c             	push   0x1c(%ebp)
a56ee9:	ff 75 18             	push   0x18(%ebp)
a56eec:	ff 75 14             	push   0x14(%ebp)
a56eef:	e8 0a 8d 9c ff       	call   0x41fbfe
a56ef4:	e8 1e 75 9b ff       	call   0x40e417
a56ef9:	c3                   	ret
a56efa:	cc                   	int3
a56efb:	cc                   	int3
a56efc:	cc                   	int3
a56efd:	cc                   	int3
a56efe:	cc                   	int3
a56eff:	cc                   	int3
a56f00:	cc                   	int3
a56f01:	cc                   	int3
a56f02:	cc                   	int3
a56f03:	cc                   	int3
a56f04:	cc                   	int3
a56f05:	55                   	push   %ebp
a56f06:	8b ec                	mov    %esp,%ebp
a56f08:	56                   	push   %esi
a56f09:	57                   	push   %edi
a56f0a:	8b 7d 0c             	mov    0xc(%ebp),%edi
a56f0d:	6a 00                	push   $0x0
a56f0f:	8b 07                	mov    (%edi),%eax
a56f11:	8b 70 08             	mov    0x8(%eax),%esi
a56f14:	8b ce                	mov    %esi,%ecx
a56f16:	e8 4a 57 9d ff       	call   0x42c665
a56f1b:	8b cf                	mov    %edi,%ecx
a56f1d:	ff d6                	call   *%esi
a56f1f:	5f                   	pop    %edi
a56f20:	5e                   	pop    %esi
a56f21:	5d                   	pop    %ebp
a56f22:	c3                   	ret
a56f23:	cc                   	int3
a56f24:	cc                   	int3
a56f25:	cc                   	int3
a56f26:	cc                   	int3
a56f27:	cc                   	int3
a56f28:	cc                   	int3
a56f29:	cc                   	int3
a56f2a:	55                   	push   %ebp
a56f2b:	8b ec                	mov    %esp,%ebp
a56f2d:	8b 45 08             	mov    0x8(%ebp),%eax
a56f30:	8b 50 04             	mov    0x4(%eax),%edx
a56f33:	8b 00                	mov    (%eax),%eax
a56f35:	85 d2                	test   %edx,%edx
a56f37:	74 04                	je     0xa56f3d
a56f39:	f0 ff 42 04          	lock incl 0x4(%edx)
a56f3d:	52                   	push   %edx
a56f3e:	50                   	push   %eax
a56f3f:	e8 34 1e 9b ff       	call   0x408d78
a56f44:	5d                   	pop    %ebp
a56f45:	c2 04 00             	ret    $0x4
a56f48:	cc                   	int3
a56f49:	cc                   	int3
a56f4a:	cc                   	int3
a56f4b:	cc                   	int3
a56f4c:	cc                   	int3
a56f4d:	cc                   	int3
a56f4e:	cc                   	int3
a56f4f:	55                   	push   %ebp
a56f50:	8b ec                	mov    %esp,%ebp
a56f52:	5d                   	pop    %ebp
a56f53:	e9 20 1e 9b ff       	jmp    0x408d78
a56f58:	cc                   	int3
a56f59:	cc                   	int3
a56f5a:	6a 10                	push   $0x10
a56f5c:	b8 24 b9 bb 00       	mov    $0xbbb924,%eax
a56f61:	e8 86 03 9c ff       	call   0x4172ec
a56f66:	33 ff                	xor    %edi,%edi
a56f68:	6a 60                	push   $0x60
a56f6a:	89 7d ec             	mov    %edi,-0x14(%ebp)
a56f6d:	e8 4e 0b 00 00       	call   0xa57ac0
a56f72:	8b d8                	mov    %eax,%ebx
a56f74:	89 7d fc             	mov    %edi,-0x4(%ebp)
a56f77:	59                   	pop    %ecx
a56f78:	89 5d e8             	mov    %ebx,-0x18(%ebp)
a56f7b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
a56f7e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
a56f82:	85 db                	test   %ebx,%ebx
a56f84:	74 10                	je     0xa56f96
a56f86:	ff 75 14             	push   0x14(%ebp)
a56f89:	8b cb                	mov    %ebx,%ecx
a56f8b:	ff 75 10             	push   0x10(%ebp)
a56f8e:	ff 75 0c             	push   0xc(%ebp)
a56f91:	e8 68 8c 9c ff       	call   0x41fbfe
a56f96:	8b 75 08             	mov    0x8(%ebp),%esi
a56f99:	8d 4b 0c             	lea    0xc(%ebx),%ecx
a56f9c:	53                   	push   %ebx
a56f9d:	51                   	push   %ecx
a56f9e:	8b ce                	mov    %esi,%ecx
a56fa0:	89 3e                	mov    %edi,(%esi)
a56fa2:	89 7e 04             	mov    %edi,0x4(%esi)
a56fa5:	e8 ce 1d 9b ff       	call   0x408d78
a56faa:	8b c6                	mov    %esi,%eax
a56fac:	e8 66 74 9b ff       	call   0x40e417
a56fb1:	c3                   	ret
a56fb2:	33 ff                	xor    %edi,%edi
a56fb4:	57                   	push   %edi
a56fb5:	57                   	push   %edi
a56fb6:	e8 d4 69 9c ff       	call   0x41d98f
a56fbb:	cc                   	int3
a56fbc:	cc                   	int3
a56fbd:	cc                   	int3
a56fbe:	cc                   	int3
a56fbf:	cc                   	int3
a56fc0:	cc                   	int3
a56fc1:	cc                   	int3
a56fc2:	cc                   	int3
a56fc3:	cc                   	int3
a56fc4:	cc                   	int3
a56fc5:	cc                   	int3
a56fc6:	cc                   	int3
a56fc7:	cc                   	int3
a56fc8:	cc                   	int3
a56fc9:	cc                   	int3
a56fca:	cc                   	int3
a56fcb:	cc                   	int3
a56fcc:	cc                   	int3
a56fcd:	cc                   	int3
a56fce:	cc                   	int3
a56fcf:	cc                   	int3
a56fd0:	cc                   	int3