43cb0b:	8b f9                	mov    %ecx,%edi
43cb0d:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43cb11:	85 c9                	test   %ecx,%ecx
43cb13:	7c 33                	jl     0x43cb48
43cb15:	8b 74 24 10          	mov    0x10(%esp),%esi
43cb19:	85 f6                	test   %esi,%esi
43cb1b:	7c 2b                	jl     0x43cb48
43cb1d:	8b 47 08             	mov    0x8(%edi),%eax
43cb20:	8d 14 31             	lea    (%ecx,%esi,1),%edx
43cb23:	3b d0                	cmp    %eax,%edx
43cb25:	7f 21                	jg     0x43cb48
43cb27:	2b c1                	sub    %ecx,%eax
43cb29:	2b c6                	sub    %esi,%eax
43cb2b:	74 13                	je     0x43cb40
43cb2d:	8b 57 04             	mov    0x4(%edi),%edx
43cb30:	03 ca                	add    %edx,%ecx
43cb32:	50                   	push   %eax
43cb33:	8d 04 31             	lea    (%ecx,%esi,1),%eax
43cb36:	50                   	push   %eax
43cb37:	51                   	push   %ecx
43cb38:	e8 e3 a4 fd ff       	call   0x417020
43cb3d:	83 c4 0c             	add    $0xc,%esp
43cb40:	29 77 08             	sub    %esi,0x8(%edi)
43cb43:	5f                   	pop    %edi
43cb44:	5e                   	pop    %esi
43cb45:	c2 08 00             	ret    $0x8
43cb48:	e8 fe 88 ff ff       	call   0x43544b
43cb4d:	cc                   	int3
43cb4e:	8b c1                	mov    %ecx,%eax
43cb50:	33 c9                	xor    %ecx,%ecx
43cb52:	c7 00 cc c9 48 00    	movl   $0x48c9cc,(%eax)
43cb58:	89 48 04             	mov    %ecx,0x4(%eax)
43cb5b:	89 48 10             	mov    %ecx,0x10(%eax)
43cb5e:	89 48 0c             	mov    %ecx,0xc(%eax)
43cb61:	89 48 08             	mov    %ecx,0x8(%eax)
43cb64:	c3                   	ret
43cb65:	ff 71 04             	push   0x4(%ecx)
43cb68:	c7 01 cc c9 48 00    	movl   $0x48c9cc,(%ecx)
43cb6e:	e8 0d 35 00 00       	call   0x440080
43cb73:	59                   	pop    %ecx
43cb74:	c3                   	ret
43cb75:	55                   	push   %ebp
43cb76:	8b ec                	mov    %esp,%ebp
43cb78:	51                   	push   %ecx
43cb79:	53                   	push   %ebx
43cb7a:	56                   	push   %esi
43cb7b:	8b 75 0c             	mov    0xc(%ebp),%esi
43cb7e:	57                   	push   %edi
43cb7f:	33 ff                	xor    %edi,%edi
43cb81:	3b f7                	cmp    %edi,%esi
43cb83:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43cb86:	74 48                	je     0x43cbd0
43cb88:	8b 5d 08             	mov    0x8(%ebp),%ebx
43cb8b:	3b df                	cmp    %edi,%ebx
43cb8d:	7c 41                	jl     0x43cbd0
43cb8f:	39 7e 08             	cmp    %edi,0x8(%esi)
43cb92:	7e 35                	jle    0x43cbc9
43cb94:	8b 46 08             	mov    0x8(%esi),%eax
43cb97:	3b c7                	cmp    %edi,%eax
43cb99:	7e 35                	jle    0x43cbd0
43cb9b:	50                   	push   %eax
43cb9c:	8b 46 04             	mov    0x4(%esi),%eax
43cb9f:	0f b6 00             	movzbl (%eax),%eax
43cba2:	50                   	push   %eax
43cba3:	53                   	push   %ebx
43cba4:	e8 e7 fe ff ff       	call   0x43ca90
43cba9:	39 7e 08             	cmp    %edi,0x8(%esi)
43cbac:	7e 1b                	jle    0x43cbc9
43cbae:	57                   	push   %edi
43cbaf:	8b ce                	mov    %esi,%ecx
43cbb1:	e8 08 82 fd ff       	call   0x414dbe
43cbb6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43cbb9:	50                   	push   %eax
43cbba:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
43cbbd:	50                   	push   %eax
43cbbe:	e8 17 82 fd ff       	call   0x414dda
43cbc3:	47                   	inc    %edi
43cbc4:	3b 7e 08             	cmp    0x8(%esi),%edi
43cbc7:	7c e5                	jl     0x43cbae
43cbc9:	5f                   	pop    %edi
43cbca:	5e                   	pop    %esi
43cbcb:	5b                   	pop    %ebx
43cbcc:	c9                   	leave
43cbcd:	c2 08 00             	ret    $0x8
43cbd0:	e8 76 88 ff ff       	call   0x43544b
43cbd5:	cc                   	int3
43cbd6:	53                   	push   %ebx
43cbd7:	55                   	push   %ebp
43cbd8:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
43cbdc:	8b 45 18             	mov    0x18(%ebp),%eax
43cbdf:	56                   	push   %esi
43cbe0:	f7 d0                	not    %eax
43cbe2:	a8 01                	test   $0x1,%al
43cbe4:	8b f1                	mov    %ecx,%esi
43cbe6:	57                   	push   %edi
43cbe7:	8b cd                	mov    %ebp,%ecx
43cbe9:	74 2e                	je     0x43cc19
43cbeb:	ff 76 08             	push   0x8(%esi)
43cbee:	e8 ea 40 01 00       	call   0x450cdd
43cbf3:	8b 7e 08             	mov    0x8(%esi),%edi
43cbf6:	85 ff                	test   %edi,%edi
43cbf8:	8b 76 04             	mov    0x4(%esi),%esi
43cbfb:	76 4f                	jbe    0x43cc4c
43cbfd:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
43cc02:	3b fb                	cmp    %ebx,%edi
43cc04:	73 02                	jae    0x43cc08
43cc06:	8b df                	mov    %edi,%ebx
43cc08:	53                   	push   %ebx
43cc09:	56                   	push   %esi
43cc0a:	8b cd                	mov    %ebp,%ecx
43cc0c:	e8 1b 40 01 00       	call   0x450c2c
43cc11:	03 f3                	add    %ebx,%esi
43cc13:	2b fb                	sub    %ebx,%edi
43cc15:	75 e6                	jne    0x43cbfd
43cc17:	eb 33                	jmp    0x43cc4c
43cc19:	e8 eb 40 01 00       	call   0x450d09
43cc1e:	6a ff                	push   $0xffffffff
43cc20:	50                   	push   %eax
43cc21:	8b ce                	mov    %esi,%ecx
43cc23:	e8 87 fc ff ff       	call   0x43c8af
43cc28:	8b 7e 08             	mov    0x8(%esi),%edi
43cc2b:	85 ff                	test   %edi,%edi
43cc2d:	8b 76 04             	mov    0x4(%esi),%esi
43cc30:	76 1a                	jbe    0x43cc4c
43cc32:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
43cc37:	3b fb                	cmp    %ebx,%edi
43cc39:	73 02                	jae    0x43cc3d
43cc3b:	8b df                	mov    %edi,%ebx
43cc3d:	53                   	push   %ebx
43cc3e:	56                   	push   %esi
43cc3f:	8b cd                	mov    %ebp,%ecx
43cc41:	e8 e3 3a 01 00       	call   0x450729
43cc46:	03 f3                	add    %ebx,%esi
43cc48:	2b fb                	sub    %ebx,%edi
43cc4a:	75 e6                	jne    0x43cc32
43cc4c:	5f                   	pop    %edi
43cc4d:	5e                   	pop    %esi
43cc4e:	5d                   	pop    %ebp
43cc4f:	5b                   	pop    %ebx
43cc50:	c2 04 00             	ret    $0x4
43cc53:	56                   	push   %esi
43cc54:	8b f1                	mov    %ecx,%esi
43cc56:	e8 0a ff ff ff       	call   0x43cb65
43cc5b:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
43cc60:	74 07                	je     0x43cc69
43cc62:	56                   	push   %esi
43cc63:	e8 18 34 00 00       	call   0x440080
43cc68:	59                   	pop    %ecx
43cc69:	8b c6                	mov    %esi,%eax
43cc6b:	5e                   	pop    %esi
43cc6c:	c2 04 00             	ret    $0x4
43cc6f:	55                   	push   %ebp
43cc70:	8b ec                	mov    %esp,%ebp
43cc72:	53                   	push   %ebx
43cc73:	56                   	push   %esi
43cc74:	57                   	push   %edi
43cc75:	8b 7d 08             	mov    0x8(%ebp),%edi
43cc78:	33 db                	xor    %ebx,%ebx
43cc7a:	3b fb                	cmp    %ebx,%edi
43cc7c:	8b f1                	mov    %ecx,%esi
43cc7e:	0f 8c b1 00 00 00    	jl     0x43cd35
43cc84:	8b 45 0c             	mov    0xc(%ebp),%eax
43cc87:	3b c3                	cmp    %ebx,%eax
43cc89:	7c 03                	jl     0x43cc8e
43cc8b:	89 46 10             	mov    %eax,0x10(%esi)
43cc8e:	3b fb                	cmp    %ebx,%edi
43cc90:	75 14                	jne    0x43cca6
43cc92:	ff 76 04             	push   0x4(%esi)
43cc95:	e8 e6 33 00 00       	call   0x440080
43cc9a:	59                   	pop    %ecx
43cc9b:	89 5e 0c             	mov    %ebx,0xc(%esi)
43cc9e:	89 5e 08             	mov    %ebx,0x8(%esi)
43cca1:	e9 d9 00 00 00       	jmp    0x43cd7f
43cca6:	8b 4e 04             	mov    0x4(%esi),%ecx
43cca9:	3b cb                	cmp    %ebx,%ecx
43ccab:	75 25                	jne    0x43ccd2
43ccad:	8b df                	mov    %edi,%ebx
43ccaf:	c1 e3 02             	shl    $0x2,%ebx
43ccb2:	53                   	push   %ebx
43ccb3:	e8 9d 33 00 00       	call   0x440055
43ccb8:	53                   	push   %ebx
43ccb9:	6a 00                	push   $0x0
43ccbb:	50                   	push   %eax
43ccbc:	89 46 04             	mov    %eax,0x4(%esi)
43ccbf:	e8 7c b5 fd ff       	call   0x418240
43ccc4:	83 c4 10             	add    $0x10,%esp
43ccc7:	89 7e 0c             	mov    %edi,0xc(%esi)
43ccca:	89 7e 08             	mov    %edi,0x8(%esi)
43cccd:	e9 b0 00 00 00       	jmp    0x43cd82
43ccd2:	8b 5e 0c             	mov    0xc(%esi),%ebx
43ccd5:	3b fb                	cmp    %ebx,%edi
43ccd7:	7f 1f                	jg     0x43ccf8
43ccd9:	8b 46 08             	mov    0x8(%esi),%eax
43ccdc:	3b f8                	cmp    %eax,%edi
43ccde:	7e ea                	jle    0x43ccca
43cce0:	8b d7                	mov    %edi,%edx
43cce2:	2b d0                	sub    %eax,%edx
43cce4:	c1 e2 02             	shl    $0x2,%edx
43cce7:	52                   	push   %edx
43cce8:	8d 04 81             	lea    (%ecx,%eax,4),%eax
43cceb:	6a 00                	push   $0x0
43cced:	50                   	push   %eax
43ccee:	e8 4d b5 fd ff       	call   0x418240
43ccf3:	83 c4 0c             	add    $0xc,%esp
43ccf6:	eb d2                	jmp    0x43ccca
43ccf8:	8b 46 10             	mov    0x10(%esi),%eax
43ccfb:	85 c0                	test   %eax,%eax
43ccfd:	75 23                	jne    0x43cd22
43ccff:	8b 46 08             	mov    0x8(%esi),%eax
43cd02:	6a 08                	push   $0x8
43cd04:	99                   	cltd
43cd05:	59                   	pop    %ecx
43cd06:	f7 f9                	idiv   %ecx
43cd08:	83 f8 04             	cmp    $0x4,%eax
43cd0b:	7c 12                	jl     0x43cd1f
43cd0d:	b9 00 04 00 00       	mov    $0x400,%ecx
43cd12:	3b c1                	cmp    %ecx,%eax
43cd14:	7e 04                	jle    0x43cd1a
43cd16:	8b c1                	mov    %ecx,%eax
43cd18:	eb 08                	jmp    0x43cd22
43cd1a:	83 f8 04             	cmp    $0x4,%eax
43cd1d:	7d 03                	jge    0x43cd22
43cd1f:	6a 04                	push   $0x4
43cd21:	58                   	pop    %eax
43cd22:	03 c3                	add    %ebx,%eax
43cd24:	3b f8                	cmp    %eax,%edi
43cd26:	89 45 08             	mov    %eax,0x8(%ebp)
43cd29:	7c 03                	jl     0x43cd2e
43cd2b:	89 7d 08             	mov    %edi,0x8(%ebp)
43cd2e:	8b 45 08             	mov    0x8(%ebp),%eax
43cd31:	3b c3                	cmp    %ebx,%eax
43cd33:	7d 05                	jge    0x43cd3a
43cd35:	e8 11 87 ff ff       	call   0x43544b
43cd3a:	c1 e0 02             	shl    $0x2,%eax
43cd3d:	50                   	push   %eax
43cd3e:	e8 12 33 00 00       	call   0x440055
43cd43:	8b d8                	mov    %eax,%ebx
43cd45:	8b 46 08             	mov    0x8(%esi),%eax
43cd48:	c1 e0 02             	shl    $0x2,%eax
43cd4b:	50                   	push   %eax
43cd4c:	ff 76 04             	push   0x4(%esi)
43cd4f:	53                   	push   %ebx
43cd50:	e8 1b ab fd ff       	call   0x417870
43cd55:	8b 46 08             	mov    0x8(%esi),%eax
43cd58:	8b cf                	mov    %edi,%ecx
43cd5a:	2b c8                	sub    %eax,%ecx
43cd5c:	c1 e1 02             	shl    $0x2,%ecx
43cd5f:	51                   	push   %ecx
43cd60:	8d 04 83             	lea    (%ebx,%eax,4),%eax
43cd63:	6a 00                	push   $0x0
43cd65:	50                   	push   %eax
43cd66:	e8 d5 b4 fd ff       	call   0x418240
43cd6b:	ff 76 04             	push   0x4(%esi)
43cd6e:	e8 0d 33 00 00       	call   0x440080
43cd73:	8b 45 08             	mov    0x8(%ebp),%eax
43cd76:	83 c4 20             	add    $0x20,%esp
43cd79:	89 7e 08             	mov    %edi,0x8(%esi)
43cd7c:	89 46 0c             	mov    %eax,0xc(%esi)
43cd7f:	89 5e 04             	mov    %ebx,0x4(%esi)
43cd82:	5f                   	pop    %edi
43cd83:	5e                   	pop    %esi
43cd84:	5b                   	pop    %ebx
43cd85:	5d                   	pop    %ebp
43cd86:	c2 08 00             	ret    $0x8
43cd89:	56                   	push   %esi
43cd8a:	8b 74 24 08          	mov    0x8(%esp),%esi
43cd8e:	57                   	push   %edi
43cd8f:	8b f9                	mov    %ecx,%edi
43cd91:	3b fe                	cmp    %esi,%edi
43cd93:	75 05                	jne    0x43cd9a
43cd95:	e8 b1 86 ff ff       	call   0x43544b
43cd9a:	8b 46 08             	mov    0x8(%esi),%eax
43cd9d:	53                   	push   %ebx
43cd9e:	8b 5f 08             	mov    0x8(%edi),%ebx
43cda1:	6a ff                	push   $0xffffffff
43cda3:	03 c3                	add    %ebx,%eax
43cda5:	50                   	push   %eax
43cda6:	8b cf                	mov    %edi,%ecx
43cda8:	e8 c2 fe ff ff       	call   0x43cc6f
43cdad:	8b 46 08             	mov    0x8(%esi),%eax
43cdb0:	c1 e0 02             	shl    $0x2,%eax
43cdb3:	50                   	push   %eax
43cdb4:	8b 47 04             	mov    0x4(%edi),%eax
43cdb7:	ff 76 04             	push   0x4(%esi)
43cdba:	8d 04 98             	lea    (%eax,%ebx,4),%eax
43cdbd:	50                   	push   %eax
43cdbe:	e8 ad aa fd ff       	call   0x417870
43cdc3:	83 c4 0c             	add    $0xc,%esp
43cdc6:	8b c3                	mov    %ebx,%eax
43cdc8:	5b                   	pop    %ebx
43cdc9:	5f                   	pop    %edi
43cdca:	5e                   	pop    %esi
43cdcb:	c2 04 00             	ret    $0x4
43cdce:	56                   	push   %esi
43cdcf:	8b 74 24 08          	mov    0x8(%esp),%esi
43cdd3:	57                   	push   %edi
43cdd4:	8b f9                	mov    %ecx,%edi
43cdd6:	3b fe                	cmp    %esi,%edi
43cdd8:	74 1f                	je     0x43cdf9
43cdda:	6a ff                	push   $0xffffffff
43cddc:	ff 76 08             	push   0x8(%esi)
43cddf:	e8 8b fe ff ff       	call   0x43cc6f
43cde4:	8b 46 08             	mov    0x8(%esi),%eax
43cde7:	c1 e0 02             	shl    $0x2,%eax
43cdea:	50                   	push   %eax
43cdeb:	ff 76 04             	push   0x4(%esi)
43cdee:	ff 77 04             	push   0x4(%edi)
43cdf1:	e8 7a aa fd ff       	call   0x417870
43cdf6:	83 c4 0c             	add    $0xc,%esp
43cdf9:	5f                   	pop    %edi
43cdfa:	5e                   	pop    %esi
43cdfb:	c2 04 00             	ret    $0x4
43cdfe:	56                   	push   %esi
43cdff:	8b f1                	mov    %ecx,%esi
43ce01:	8b 46 08             	mov    0x8(%esi),%eax
43ce04:	3b 46 0c             	cmp    0xc(%esi),%eax
43ce07:	74 38                	je     0x43ce41
43ce09:	57                   	push   %edi
43ce0a:	33 ff                	xor    %edi,%edi
43ce0c:	85 c0                	test   %eax,%eax
43ce0e:	74 1e                	je     0x43ce2e
43ce10:	c1 e0 02             	shl    $0x2,%eax
43ce13:	50                   	push   %eax
43ce14:	e8 3c 32 00 00       	call   0x440055
43ce19:	8b f8                	mov    %eax,%edi
43ce1b:	8b 46 08             	mov    0x8(%esi),%eax
43ce1e:	c1 e0 02             	shl    $0x2,%eax
43ce21:	50                   	push   %eax
43ce22:	ff 76 04             	push   0x4(%esi)
43ce25:	57                   	push   %edi
43ce26:	e8 45 aa fd ff       	call   0x417870
43ce2b:	83 c4 10             	add    $0x10,%esp
43ce2e:	ff 76 04             	push   0x4(%esi)
43ce31:	e8 4a 32 00 00       	call   0x440080
43ce36:	8b 46 08             	mov    0x8(%esi),%eax
43ce39:	59                   	pop    %ecx
43ce3a:	89 7e 04             	mov    %edi,0x4(%esi)
43ce3d:	89 46 0c             	mov    %eax,0xc(%esi)
43ce40:	5f                   	pop    %edi
43ce41:	5e                   	pop    %esi
43ce42:	c3                   	ret
43ce43:	56                   	push   %esi
43ce44:	8b 74 24 08          	mov    0x8(%esp),%esi
43ce48:	85 f6                	test   %esi,%esi
43ce4a:	57                   	push   %edi
43ce4b:	8b f9                	mov    %ecx,%edi
43ce4d:	7d 05                	jge    0x43ce54
43ce4f:	e8 f7 85 ff ff       	call   0x43544b
43ce54:	3b 77 08             	cmp    0x8(%edi),%esi
43ce57:	7c 0d                	jl     0x43ce66