533d34:	8b 57 0c             	mov    0xc(%edi),%edx
533d37:	85 d2                	test   %edx,%edx
533d39:	74 27                	je     0x533d62
533d3b:	8b 47 14             	mov    0x14(%edi),%eax
533d3e:	8d 4f 0c             	lea    0xc(%edi),%ecx
533d41:	2b c2                	sub    %edx,%eax
533d43:	c1 f8 02             	sar    $0x2,%eax
533d46:	50                   	push   %eax
533d47:	52                   	push   %edx
533d48:	e8 0d fd ef ff       	call   0x433a5a
533d4d:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
533d54:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
533d5b:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
533d62:	8d 4f 04             	lea    0x4(%edi),%ecx
533d65:	e8 7e 1c ed ff       	call   0x4059e8
533d6a:	ff 77 04             	push   0x4(%edi)
533d6d:	e8 1d da ec ff       	call   0x40178f
533d72:	83 c4 04             	add    $0x4,%esp
533d75:	5f                   	pop    %edi
533d76:	5e                   	pop    %esi
533d77:	c3                   	ret
533d78:	cc                   	int3
533d79:	cc                   	int3
533d7a:	cc                   	int3
533d7b:	cc                   	int3
533d7c:	cc                   	int3
533d7d:	cc                   	int3
533d7e:	cc                   	int3
533d7f:	cc                   	int3
533d80:	cc                   	int3
533d81:	cc                   	int3
533d82:	cc                   	int3
533d83:	cc                   	int3
533d84:	cc                   	int3
533d85:	cc                   	int3
533d86:	cc                   	int3
533d87:	cc                   	int3
533d88:	cc                   	int3
533d89:	cc                   	int3
533d8a:	cc                   	int3
533d8b:	cc                   	int3
533d8c:	cc                   	int3
533d8d:	cc                   	int3
533d8e:	cc                   	int3
533d8f:	cc                   	int3
533d90:	ff 31                	push   (%ecx)
533d92:	e8 f8 d9 ec ff       	call   0x40178f
533d97:	59                   	pop    %ecx
533d98:	c3                   	ret
533d99:	cc                   	int3
533d9a:	cc                   	int3
533d9b:	cc                   	int3
533d9c:	cc                   	int3
533d9d:	cc                   	int3
533d9e:	cc                   	int3
533d9f:	cc                   	int3
533da0:	ff 31                	push   (%ecx)
533da2:	e8 e8 d9 ec ff       	call   0x40178f
533da7:	59                   	pop    %ecx
533da8:	c3                   	ret
533da9:	cc                   	int3
533daa:	cc                   	int3
533dab:	cc                   	int3
533dac:	cc                   	int3
533dad:	cc                   	int3
533dae:	cc                   	int3
533daf:	cc                   	int3
533db0:	56                   	push   %esi
533db1:	8b f1                	mov    %ecx,%esi
533db3:	e8 30 1c ed ff       	call   0x4059e8
533db8:	ff 36                	push   (%esi)
533dba:	e8 d0 d9 ec ff       	call   0x40178f
533dbf:	83 c4 04             	add    $0x4,%esp
533dc2:	5e                   	pop    %esi
533dc3:	c3                   	ret
533dc4:	cc                   	int3
533dc5:	cc                   	int3
533dc6:	cc                   	int3
533dc7:	cc                   	int3
533dc8:	cc                   	int3
533dc9:	cc                   	int3
533dca:	cc                   	int3
533dcb:	cc                   	int3
533dcc:	cc                   	int3
533dcd:	cc                   	int3
533dce:	cc                   	int3
533dcf:	cc                   	int3
533dd0:	56                   	push   %esi
533dd1:	8b f1                	mov    %ecx,%esi
533dd3:	8b 46 14             	mov    0x14(%esi),%eax
533dd6:	83 f8 10             	cmp    $0x10,%eax
533dd9:	72 09                	jb     0x533de4
533ddb:	40                   	inc    %eax
533ddc:	50                   	push   %eax
533ddd:	ff 36                	push   (%esi)
533ddf:	e8 38 08 f0 ff       	call   0x43461c
533de4:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
533deb:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
533def:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
533df6:	72 07                	jb     0x533dff
533df8:	8b 06                	mov    (%esi),%eax
533dfa:	5e                   	pop    %esi
533dfb:	c6 00 00             	movb   $0x0,(%eax)
533dfe:	c3                   	ret
533dff:	c6 06 00             	movb   $0x0,(%esi)
533e02:	5e                   	pop    %esi
533e03:	c3                   	ret
533e04:	cc                   	int3
533e05:	cc                   	int3
533e06:	cc                   	int3
533e07:	cc                   	int3
533e08:	cc                   	int3
533e09:	cc                   	int3
533e0a:	cc                   	int3
533e0b:	cc                   	int3
533e0c:	cc                   	int3
533e0d:	cc                   	int3
533e0e:	cc                   	int3
533e0f:	cc                   	int3
533e10:	cc                   	int3
533e11:	cc                   	int3
533e12:	cc                   	int3
533e13:	cc                   	int3
533e14:	cc                   	int3
533e15:	cc                   	int3
533e16:	cc                   	int3
533e17:	cc                   	int3
533e18:	cc                   	int3
533e19:	cc                   	int3
533e1a:	cc                   	int3
533e1b:	cc                   	int3
533e1c:	cc                   	int3
533e1d:	cc                   	int3
533e1e:	cc                   	int3
533e1f:	cc                   	int3
533e20:	56                   	push   %esi
533e21:	57                   	push   %edi
533e22:	8b f9                	mov    %ecx,%edi
533e24:	8b 57 0c             	mov    0xc(%edi),%edx
533e27:	85 d2                	test   %edx,%edx
533e29:	74 27                	je     0x533e52
533e2b:	8b 47 14             	mov    0x14(%edi),%eax
533e2e:	8d 4f 0c             	lea    0xc(%edi),%ecx
533e31:	2b c2                	sub    %edx,%eax
533e33:	c1 f8 02             	sar    $0x2,%eax
533e36:	50                   	push   %eax
533e37:	52                   	push   %edx
533e38:	e8 1d fc ef ff       	call   0x433a5a
533e3d:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
533e44:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
533e4b:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
533e52:	8d 4f 04             	lea    0x4(%edi),%ecx
533e55:	e8 8e 1b ed ff       	call   0x4059e8
533e5a:	ff 77 04             	push   0x4(%edi)
533e5d:	e8 2d d9 ec ff       	call   0x40178f
533e62:	83 c4 04             	add    $0x4,%esp
533e65:	5f                   	pop    %edi
533e66:	5e                   	pop    %esi
533e67:	c3                   	ret
533e68:	cc                   	int3
533e69:	cc                   	int3
533e6a:	cc                   	int3
533e6b:	cc                   	int3
533e6c:	cc                   	int3
533e6d:	cc                   	int3
533e6e:	cc                   	int3
533e6f:	cc                   	int3
533e70:	cc                   	int3
533e71:	cc                   	int3
533e72:	cc                   	int3
533e73:	cc                   	int3
533e74:	cc                   	int3
533e75:	cc                   	int3
533e76:	cc                   	int3
533e77:	cc                   	int3
533e78:	cc                   	int3
533e79:	cc                   	int3
533e7a:	cc                   	int3
533e7b:	cc                   	int3
533e7c:	cc                   	int3
533e7d:	cc                   	int3
533e7e:	cc                   	int3
533e7f:	cc                   	int3
533e80:	56                   	push   %esi
533e81:	8b f1                	mov    %ecx,%esi
533e83:	8b 0e                	mov    (%esi),%ecx
533e85:	85 c9                	test   %ecx,%ecx
533e87:	74 25                	je     0x533eae
533e89:	8b 46 08             	mov    0x8(%esi),%eax
533e8c:	2b c1                	sub    %ecx,%eax
533e8e:	c1 f8 02             	sar    $0x2,%eax
533e91:	50                   	push   %eax
533e92:	51                   	push   %ecx
533e93:	8b ce                	mov    %esi,%ecx
533e95:	e8 43 e9 ed ff       	call   0x4127dd
533e9a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
533ea0:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
533ea7:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
533eae:	5e                   	pop    %esi
533eaf:	c3                   	ret
533eb0:	cc                   	int3
533eb1:	cc                   	int3
533eb2:	cc                   	int3
533eb3:	cc                   	int3
533eb4:	cc                   	int3
533eb5:	cc                   	int3
533eb6:	cc                   	int3
533eb7:	cc                   	int3
533eb8:	cc                   	int3
533eb9:	cc                   	int3
533eba:	cc                   	int3
533ebb:	cc                   	int3
533ebc:	cc                   	int3
533ebd:	cc                   	int3
533ebe:	cc                   	int3
533ebf:	cc                   	int3
533ec0:	51                   	push   %ecx
533ec1:	57                   	push   %edi
533ec2:	8b f9                	mov    %ecx,%edi
533ec4:	8b 07                	mov    (%edi),%eax
533ec6:	85 c0                	test   %eax,%eax
533ec8:	74 45                	je     0x533f0f
533eca:	ff 74 24 04          	push   0x4(%esp)
533ece:	57                   	push   %edi
533ecf:	ff 77 04             	push   0x4(%edi)
533ed2:	50                   	push   %eax
533ed3:	e8 27 74 f0 ff       	call   0x43b2ff
533ed8:	8b 4f 08             	mov    0x8(%edi),%ecx
533edb:	b8 4f ec c4 4e       	mov    $0x4ec4ec4f,%eax
533ee0:	2b 0f                	sub    (%edi),%ecx
533ee2:	83 c4 10             	add    $0x10,%esp
533ee5:	f7 e9                	imul   %ecx
533ee7:	8b cf                	mov    %edi,%ecx
533ee9:	c1 fa 04             	sar    $0x4,%edx
533eec:	8b c2                	mov    %edx,%eax
533eee:	c1 e8 1f             	shr    $0x1f,%eax
533ef1:	03 c2                	add    %edx,%eax
533ef3:	50                   	push   %eax
533ef4:	ff 37                	push   (%edi)
533ef6:	e8 96 c6 ed ff       	call   0x410591
533efb:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
533f01:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
533f08:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
533f0f:	5f                   	pop    %edi
533f10:	59                   	pop    %ecx
533f11:	c3                   	ret
533f12:	cc                   	int3
533f13:	cc                   	int3
533f14:	cc                   	int3
533f15:	cc                   	int3
533f16:	cc                   	int3
533f17:	cc                   	int3
533f18:	cc                   	int3
533f19:	cc                   	int3
533f1a:	cc                   	int3
533f1b:	cc                   	int3
533f1c:	cc                   	int3
533f1d:	cc                   	int3
533f1e:	cc                   	int3
533f1f:	cc                   	int3
533f20:	cc                   	int3
533f21:	cc                   	int3
533f22:	cc                   	int3
533f23:	cc                   	int3
533f24:	cc                   	int3
533f25:	cc                   	int3
533f26:	cc                   	int3
533f27:	cc                   	int3
533f28:	cc                   	int3
533f29:	cc                   	int3
533f2a:	cc                   	int3
533f2b:	cc                   	int3
533f2c:	cc                   	int3
533f2d:	cc                   	int3
533f2e:	cc                   	int3
533f2f:	cc                   	int3
533f30:	51                   	push   %ecx
533f31:	57                   	push   %edi
533f32:	8b f9                	mov    %ecx,%edi
533f34:	8b 07                	mov    (%edi),%eax
533f36:	85 c0                	test   %eax,%eax
533f38:	74 45                	je     0x533f7f
533f3a:	ff 74 24 04          	push   0x4(%esp)
533f3e:	57                   	push   %edi
533f3f:	ff 77 04             	push   0x4(%edi)
533f42:	50                   	push   %eax
533f43:	e8 71 a0 f0 ff       	call   0x43dfb9
533f48:	8b 4f 08             	mov    0x8(%edi),%ecx
533f4b:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
533f50:	2b 0f                	sub    (%edi),%ecx
533f52:	83 c4 10             	add    $0x10,%esp
533f55:	f7 e9                	imul   %ecx
533f57:	8b cf                	mov    %edi,%ecx
533f59:	c1 fa 03             	sar    $0x3,%edx
533f5c:	8b c2                	mov    %edx,%eax
533f5e:	c1 e8 1f             	shr    $0x1f,%eax
533f61:	03 c2                	add    %edx,%eax
533f63:	50                   	push   %eax
533f64:	ff 37                	push   (%edi)
533f66:	e8 4d 79 f0 ff       	call   0x43b8b8
533f6b:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
533f71:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
533f78:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
533f7f:	5f                   	pop    %edi
533f80:	59                   	pop    %ecx
533f81:	c3                   	ret
533f82:	cc                   	int3
533f83:	cc                   	int3
533f84:	cc                   	int3
533f85:	cc                   	int3
533f86:	cc                   	int3
533f87:	cc                   	int3
533f88:	cc                   	int3
533f89:	cc                   	int3
533f8a:	cc                   	int3
533f8b:	cc                   	int3
533f8c:	cc                   	int3
533f8d:	cc                   	int3
533f8e:	cc                   	int3
533f8f:	cc                   	int3
533f90:	cc                   	int3
533f91:	cc                   	int3
533f92:	cc                   	int3
533f93:	cc                   	int3
533f94:	cc                   	int3
533f95:	cc                   	int3
533f96:	cc                   	int3
533f97:	cc                   	int3
533f98:	cc                   	int3
533f99:	cc                   	int3
533f9a:	cc                   	int3
533f9b:	cc                   	int3
533f9c:	cc                   	int3
533f9d:	cc                   	int3
533f9e:	cc                   	int3
533f9f:	cc                   	int3
533fa0:	56                   	push   %esi
533fa1:	8b f1                	mov    %ecx,%esi
533fa3:	8b 0e                	mov    (%esi),%ecx
533fa5:	85 c9                	test   %ecx,%ecx
533fa7:	74 25                	je     0x533fce
533fa9:	8b 46 08             	mov    0x8(%esi),%eax
533fac:	2b c1                	sub    %ecx,%eax
533fae:	c1 f8 02             	sar    $0x2,%eax
533fb1:	50                   	push   %eax
533fb2:	51                   	push   %ecx
533fb3:	8b ce                	mov    %esi,%ecx
533fb5:	e8 a0 fa ef ff       	call   0x433a5a
533fba:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
533fc0:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)