73cc04:	0f 43 d1             	cmovae %ecx,%edx
73cc07:	8b ce                	mov    %esi,%ecx
73cc09:	52                   	push   %edx
73cc0a:	e8 5f 50 cf ff       	call   0x431c6e
73cc0f:	5b                   	pop    %ebx
73cc10:	5f                   	pop    %edi
73cc11:	5e                   	pop    %esi
73cc12:	c2 04 00             	ret    $0x4
73cc15:	68 58 20 bd 00       	push   $0xbd2058
73cc1a:	e8 f7 cb ce ff       	call   0x429816
73cc1f:	cc                   	int3
73cc20:	cc                   	int3
73cc21:	cc                   	int3
73cc22:	cc                   	int3
73cc23:	cc                   	int3
73cc24:	cc                   	int3
73cc25:	cc                   	int3
73cc26:	cc                   	int3
73cc27:	cc                   	int3
73cc28:	cc                   	int3
73cc29:	cc                   	int3
73cc2a:	cc                   	int3
73cc2b:	cc                   	int3
73cc2c:	cc                   	int3
73cc2d:	cc                   	int3
73cc2e:	cc                   	int3
73cc2f:	cc                   	int3
73cc30:	cc                   	int3
73cc31:	cc                   	int3
73cc32:	cc                   	int3
73cc33:	cc                   	int3
73cc34:	cc                   	int3
73cc35:	cc                   	int3
73cc36:	cc                   	int3
73cc37:	cc                   	int3
73cc38:	cc                   	int3
73cc39:	cc                   	int3
73cc3a:	cc                   	int3
73cc3b:	cc                   	int3
73cc3c:	cc                   	int3
73cc3d:	cc                   	int3
73cc3e:	cc                   	int3
73cc3f:	cc                   	int3
73cc40:	56                   	push   %esi
73cc41:	8b f1                	mov    %ecx,%esi
73cc43:	8b 4c 24 08          	mov    0x8(%esp),%ecx
73cc47:	57                   	push   %edi
73cc48:	8b 7e 08             	mov    0x8(%esi),%edi
73cc4b:	8b c7                	mov    %edi,%eax
73cc4d:	8b 56 04             	mov    0x4(%esi),%edx
73cc50:	2b c2                	sub    %edx,%eax
73cc52:	c1 f8 02             	sar    $0x2,%eax
73cc55:	3b c1                	cmp    %ecx,%eax
73cc57:	73 37                	jae    0x73cc90
73cc59:	2b 16                	sub    (%esi),%edx
73cc5b:	53                   	push   %ebx
73cc5c:	bb ff ff ff 3f       	mov    $0x3fffffff,%ebx
73cc61:	c1 fa 02             	sar    $0x2,%edx
73cc64:	8b c3                	mov    %ebx,%eax
73cc66:	2b c2                	sub    %edx,%eax
73cc68:	3b c1                	cmp    %ecx,%eax
73cc6a:	72 29                	jb     0x73cc95
73cc6c:	2b 3e                	sub    (%esi),%edi
73cc6e:	03 d1                	add    %ecx,%edx
73cc70:	c1 ff 02             	sar    $0x2,%edi
73cc73:	33 c9                	xor    %ecx,%ecx
73cc75:	8b c7                	mov    %edi,%eax
73cc77:	d1 e8                	shr    $1,%eax
73cc79:	2b d8                	sub    %eax,%ebx
73cc7b:	03 c7                	add    %edi,%eax
73cc7d:	3b df                	cmp    %edi,%ebx
73cc7f:	0f 43 c8             	cmovae %eax,%ecx
73cc82:	3b ca                	cmp    %edx,%ecx
73cc84:	0f 43 d1             	cmovae %ecx,%edx
73cc87:	8b ce                	mov    %esi,%ecx
73cc89:	52                   	push   %edx
73cc8a:	e8 43 cb cc ff       	call   0x4097d2
73cc8f:	5b                   	pop    %ebx
73cc90:	5f                   	pop    %edi
73cc91:	5e                   	pop    %esi
73cc92:	c2 04 00             	ret    $0x4
73cc95:	68 58 20 bd 00       	push   $0xbd2058
73cc9a:	e8 77 cb ce ff       	call   0x429816
73cc9f:	cc                   	int3
73cca0:	cc                   	int3
73cca1:	cc                   	int3
73cca2:	cc                   	int3
73cca3:	cc                   	int3
73cca4:	cc                   	int3
73cca5:	cc                   	int3
73cca6:	cc                   	int3
73cca7:	cc                   	int3
73cca8:	cc                   	int3
73cca9:	cc                   	int3
73ccaa:	cc                   	int3
73ccab:	cc                   	int3
73ccac:	cc                   	int3
73ccad:	cc                   	int3
73ccae:	cc                   	int3
73ccaf:	cc                   	int3
73ccb0:	cc                   	int3
73ccb1:	cc                   	int3
73ccb2:	cc                   	int3
73ccb3:	cc                   	int3
73ccb4:	cc                   	int3
73ccb5:	cc                   	int3
73ccb6:	cc                   	int3
73ccb7:	cc                   	int3
73ccb8:	cc                   	int3
73ccb9:	cc                   	int3
73ccba:	cc                   	int3
73ccbb:	cc                   	int3
73ccbc:	cc                   	int3
73ccbd:	cc                   	int3
73ccbe:	cc                   	int3
73ccbf:	cc                   	int3
73ccc0:	56                   	push   %esi
73ccc1:	8b f1                	mov    %ecx,%esi
73ccc3:	8b 0e                	mov    (%esi),%ecx
73ccc5:	85 c9                	test   %ecx,%ecx
73ccc7:	74 25                	je     0x73ccee
73ccc9:	8b 46 08             	mov    0x8(%esi),%eax
73cccc:	2b c1                	sub    %ecx,%eax
73ccce:	c1 f8 02             	sar    $0x2,%eax
73ccd1:	50                   	push   %eax
73ccd2:	51                   	push   %ecx
73ccd3:	8b ce                	mov    %esi,%ecx
73ccd5:	e8 7f cb cc ff       	call   0x409859
73ccda:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
73cce0:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
73cce7:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
73ccee:	5e                   	pop    %esi
73ccef:	c3                   	ret
73ccf0:	cc                   	int3
73ccf1:	cc                   	int3
73ccf2:	cc                   	int3
73ccf3:	cc                   	int3
73ccf4:	cc                   	int3
73ccf5:	cc                   	int3
73ccf6:	cc                   	int3
73ccf7:	cc                   	int3
73ccf8:	cc                   	int3
73ccf9:	cc                   	int3
73ccfa:	cc                   	int3
73ccfb:	cc                   	int3
73ccfc:	cc                   	int3
73ccfd:	cc                   	int3
73ccfe:	cc                   	int3
73ccff:	cc                   	int3
73cd00:	56                   	push   %esi
73cd01:	8b f1                	mov    %ecx,%esi
73cd03:	8b 0e                	mov    (%esi),%ecx
73cd05:	85 c9                	test   %ecx,%ecx
73cd07:	74 25                	je     0x73cd2e
73cd09:	8b 46 08             	mov    0x8(%esi),%eax
73cd0c:	2b c1                	sub    %ecx,%eax
73cd0e:	c1 f8 02             	sar    $0x2,%eax
73cd11:	50                   	push   %eax
73cd12:	51                   	push   %ecx
73cd13:	8b ce                	mov    %esi,%ecx
73cd15:	e8 7d c7 ce ff       	call   0x429497
73cd1a:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
73cd20:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
73cd27:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
73cd2e:	5e                   	pop    %esi
73cd2f:	c3                   	ret
73cd30:	cc                   	int3
73cd31:	cc                   	int3
73cd32:	cc                   	int3
73cd33:	cc                   	int3
73cd34:	cc                   	int3
73cd35:	cc                   	int3
73cd36:	cc                   	int3
73cd37:	cc                   	int3
73cd38:	cc                   	int3
73cd39:	cc                   	int3
73cd3a:	cc                   	int3
73cd3b:	cc                   	int3
73cd3c:	cc                   	int3
73cd3d:	cc                   	int3
73cd3e:	cc                   	int3
73cd3f:	cc                   	int3
73cd40:	8b 41 08             	mov    0x8(%ecx),%eax
73cd43:	2b 41 04             	sub    0x4(%ecx),%eax
73cd46:	c1 f8 02             	sar    $0x2,%eax
73cd49:	c3                   	ret
73cd4a:	cc                   	int3
73cd4b:	cc                   	int3
73cd4c:	cc                   	int3
73cd4d:	cc                   	int3
73cd4e:	cc                   	int3
73cd4f:	cc                   	int3
73cd50:	8b 41 08             	mov    0x8(%ecx),%eax
73cd53:	2b 41 04             	sub    0x4(%ecx),%eax
73cd56:	c1 f8 02             	sar    $0x2,%eax
73cd59:	c3                   	ret
73cd5a:	cc                   	int3
73cd5b:	cc                   	int3
73cd5c:	cc                   	int3
73cd5d:	cc                   	int3
73cd5e:	cc                   	int3
73cd5f:	cc                   	int3
73cd60:	68 58 20 bd 00       	push   $0xbd2058
73cd65:	e8 ac ca ce ff       	call   0x429816
73cd6a:	cc                   	int3
73cd6b:	cc                   	int3
73cd6c:	cc                   	int3
73cd6d:	cc                   	int3
73cd6e:	cc                   	int3
73cd6f:	cc                   	int3
73cd70:	68 58 20 bd 00       	push   $0xbd2058
73cd75:	e8 9c ca ce ff       	call   0x429816
73cd7a:	cc                   	int3
73cd7b:	cc                   	int3
73cd7c:	cc                   	int3
73cd7d:	cc                   	int3
73cd7e:	cc                   	int3
73cd7f:	cc                   	int3
73cd80:	e9 64 fe cc ff       	jmp    0x40cbe9
73cd85:	cc                   	int3
73cd86:	cc                   	int3
73cd87:	cc                   	int3
73cd88:	cc                   	int3
73cd89:	cc                   	int3
73cd8a:	cc                   	int3
73cd8b:	cc                   	int3
73cd8c:	cc                   	int3
73cd8d:	cc                   	int3
73cd8e:	cc                   	int3
73cd8f:	cc                   	int3
73cd90:	e9 5c a1 cc ff       	jmp    0x406ef1
73cd95:	cc                   	int3
73cd96:	cc                   	int3
73cd97:	cc                   	int3
73cd98:	cc                   	int3
73cd99:	cc                   	int3
73cd9a:	cc                   	int3
73cd9b:	cc                   	int3
73cd9c:	cc                   	int3
73cd9d:	cc                   	int3
73cd9e:	cc                   	int3
73cd9f:	cc                   	int3
73cda0:	8b 44 24 04          	mov    0x4(%esp),%eax
73cda4:	85 c0                	test   %eax,%eax
73cda6:	75 03                	jne    0x73cdab
73cda8:	c2 04 00             	ret    $0x4
73cdab:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
73cdb0:	77 3b                	ja     0x73cded
73cdb2:	c1 e0 02             	shl    $0x2,%eax
73cdb5:	3d 00 10 00 00       	cmp    $0x1000,%eax
73cdba:	72 22                	jb     0x73cdde
73cdbc:	8d 48 23             	lea    0x23(%eax),%ecx
73cdbf:	3b c8                	cmp    %eax,%ecx
73cdc1:	76 2f                	jbe    0x73cdf2
73cdc3:	51                   	push   %ecx
73cdc4:	e8 b4 db ce ff       	call   0x42a97d
73cdc9:	8b c8                	mov    %eax,%ecx
73cdcb:	83 c4 04             	add    $0x4,%esp
73cdce:	85 c9                	test   %ecx,%ecx
73cdd0:	74 25                	je     0x73cdf7
73cdd2:	8d 41 23             	lea    0x23(%ecx),%eax
73cdd5:	83 e0 e0             	and    $0xffffffe0,%eax
73cdd8:	89 48 fc             	mov    %ecx,-0x4(%eax)
73cddb:	c2 04 00             	ret    $0x4
73cdde:	50                   	push   %eax
73cddf:	e8 99 db ce ff       	call   0x42a97d
73cde4:	83 c4 04             	add    $0x4,%esp
73cde7:	85 c0                	test   %eax,%eax
73cde9:	75 bd                	jne    0x73cda8
73cdeb:	eb 0f                	jmp    0x73cdfc
73cded:	e8 2c 51 cc ff       	call   0x401f1e
73cdf2:	e8 27 51 cc ff       	call   0x401f1e
73cdf7:	e8 91 0b d0 ff       	call   0x43d98d
73cdfc:	e8 8c 0b d0 ff       	call   0x43d98d
73ce01:	cc                   	int3
73ce02:	cc                   	int3
73ce03:	cc                   	int3
73ce04:	cc                   	int3
73ce05:	cc                   	int3
73ce06:	cc                   	int3
73ce07:	cc                   	int3
73ce08:	cc                   	int3
73ce09:	cc                   	int3
73ce0a:	cc                   	int3
73ce0b:	cc                   	int3
73ce0c:	cc                   	int3
73ce0d:	cc                   	int3
73ce0e:	cc                   	int3
73ce0f:	cc                   	int3
73ce10:	cc                   	int3
73ce11:	cc                   	int3
73ce12:	cc                   	int3
73ce13:	cc                   	int3
73ce14:	cc                   	int3
73ce15:	cc                   	int3
73ce16:	cc                   	int3
73ce17:	cc                   	int3
73ce18:	cc                   	int3
73ce19:	cc                   	int3
73ce1a:	cc                   	int3
73ce1b:	cc                   	int3
73ce1c:	cc                   	int3
73ce1d:	cc                   	int3
73ce1e:	cc                   	int3
73ce1f:	cc                   	int3
73ce20:	8b 44 24 04          	mov    0x4(%esp),%eax
73ce24:	85 c0                	test   %eax,%eax
73ce26:	75 03                	jne    0x73ce2b
73ce28:	c2 04 00             	ret    $0x4
73ce2b:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
73ce30:	77 3b                	ja     0x73ce6d
73ce32:	c1 e0 02             	shl    $0x2,%eax
73ce35:	3d 00 10 00 00       	cmp    $0x1000,%eax
73ce3a:	72 22                	jb     0x73ce5e
73ce3c:	8d 48 23             	lea    0x23(%eax),%ecx
73ce3f:	3b c8                	cmp    %eax,%ecx
73ce41:	76 2f                	jbe    0x73ce72
73ce43:	51                   	push   %ecx
73ce44:	e8 34 db ce ff       	call   0x42a97d
73ce49:	8b c8                	mov    %eax,%ecx
73ce4b:	83 c4 04             	add    $0x4,%esp
73ce4e:	85 c9                	test   %ecx,%ecx
73ce50:	74 25                	je     0x73ce77
73ce52:	8d 41 23             	lea    0x23(%ecx),%eax
73ce55:	83 e0 e0             	and    $0xffffffe0,%eax
73ce58:	89 48 fc             	mov    %ecx,-0x4(%eax)
73ce5b:	c2 04 00             	ret    $0x4
73ce5e:	50                   	push   %eax
73ce5f:	e8 19 db ce ff       	call   0x42a97d
73ce64:	83 c4 04             	add    $0x4,%esp
73ce67:	85 c0                	test   %eax,%eax
73ce69:	75 bd                	jne    0x73ce28
73ce6b:	eb 0f                	jmp    0x73ce7c
73ce6d:	e8 ac 50 cc ff       	call   0x401f1e
73ce72:	e8 a7 50 cc ff       	call   0x401f1e
73ce77:	e8 11 0b d0 ff       	call   0x43d98d
73ce7c:	e8 0c 0b d0 ff       	call   0x43d98d
73ce81:	cc                   	int3
73ce82:	cc                   	int3
73ce83:	cc                   	int3
73ce84:	cc                   	int3
73ce85:	cc                   	int3
73ce86:	cc                   	int3
73ce87:	cc                   	int3
73ce88:	cc                   	int3
73ce89:	cc                   	int3
73ce8a:	cc                   	int3
73ce8b:	cc                   	int3
73ce8c:	cc                   	int3
73ce8d:	cc                   	int3