43ce59:	6a ff                	push   $0xffffffff
43ce5b:	8d 46 01             	lea    0x1(%esi),%eax
43ce5e:	50                   	push   %eax
43ce5f:	8b cf                	mov    %edi,%ecx
43ce61:	e8 09 fe ff ff       	call   0x43cc6f
43ce66:	8b 47 04             	mov    0x4(%edi),%eax
43ce69:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43ce6d:	5f                   	pop    %edi
43ce6e:	89 0c b0             	mov    %ecx,(%eax,%esi,4)
43ce71:	5e                   	pop    %esi
43ce72:	c2 08 00             	ret    $0x8
43ce75:	55                   	push   %ebp
43ce76:	8b ec                	mov    %esp,%ebp
43ce78:	53                   	push   %ebx
43ce79:	8b 5d 08             	mov    0x8(%ebp),%ebx
43ce7c:	85 db                	test   %ebx,%ebx
43ce7e:	57                   	push   %edi
43ce7f:	8b f9                	mov    %ecx,%edi
43ce81:	7c 7c                	jl     0x43ceff
43ce83:	8b 45 10             	mov    0x10(%ebp),%eax
43ce86:	85 c0                	test   %eax,%eax
43ce88:	7e 75                	jle    0x43ceff
43ce8a:	3b 5f 08             	cmp    0x8(%edi),%ebx
43ce8d:	7c 0c                	jl     0x43ce9b
43ce8f:	6a ff                	push   $0xffffffff
43ce91:	03 c3                	add    %ebx,%eax
43ce93:	50                   	push   %eax
43ce94:	e8 d6 fd ff ff       	call   0x43cc6f
43ce99:	eb 49                	jmp    0x43cee4
43ce9b:	8b 45 10             	mov    0x10(%ebp),%eax
43ce9e:	56                   	push   %esi
43ce9f:	8b 77 08             	mov    0x8(%edi),%esi
43cea2:	6a ff                	push   $0xffffffff
43cea4:	03 c6                	add    %esi,%eax
43cea6:	50                   	push   %eax
43cea7:	e8 c3 fd ff ff       	call   0x43cc6f
43ceac:	8b 47 04             	mov    0x4(%edi),%eax
43ceaf:	2b f3                	sub    %ebx,%esi
43ceb1:	c1 e6 02             	shl    $0x2,%esi
43ceb4:	8d 0c 98             	lea    (%eax,%ebx,4),%ecx
43ceb7:	56                   	push   %esi
43ceb8:	8b 75 10             	mov    0x10(%ebp),%esi
43cebb:	51                   	push   %ecx
43cebc:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
43cebf:	8d 04 88             	lea    (%eax,%ecx,4),%eax
43cec2:	50                   	push   %eax
43cec3:	e8 58 a1 fd ff       	call   0x417020
43cec8:	8b 4f 04             	mov    0x4(%edi),%ecx
43cecb:	8b c6                	mov    %esi,%eax
43cecd:	c1 e0 02             	shl    $0x2,%eax
43ced0:	50                   	push   %eax
43ced1:	8b c3                	mov    %ebx,%eax
43ced3:	c1 e0 02             	shl    $0x2,%eax
43ced6:	03 c8                	add    %eax,%ecx
43ced8:	6a 00                	push   $0x0
43ceda:	51                   	push   %ecx
43cedb:	e8 60 b3 fd ff       	call   0x418240
43cee0:	83 c4 18             	add    $0x18,%esp
43cee3:	5e                   	pop    %esi
43cee4:	8b 45 10             	mov    0x10(%ebp),%eax
43cee7:	c1 e3 02             	shl    $0x2,%ebx
43ceea:	8b 4f 04             	mov    0x4(%edi),%ecx
43ceed:	8b 55 0c             	mov    0xc(%ebp),%edx
43cef0:	89 14 0b             	mov    %edx,(%ebx,%ecx,1)
43cef3:	83 c3 04             	add    $0x4,%ebx
43cef6:	48                   	dec    %eax
43cef7:	75 f1                	jne    0x43ceea
43cef9:	5f                   	pop    %edi
43cefa:	5b                   	pop    %ebx
43cefb:	5d                   	pop    %ebp
43cefc:	c2 0c 00             	ret    $0xc
43ceff:	e8 47 85 ff ff       	call   0x43544b
43cf04:	cc                   	int3
43cf05:	8b 54 24 04          	mov    0x4(%esp),%edx
43cf09:	85 d2                	test   %edx,%edx
43cf0b:	53                   	push   %ebx
43cf0c:	56                   	push   %esi
43cf0d:	57                   	push   %edi
43cf0e:	8b f1                	mov    %ecx,%esi
43cf10:	7c 38                	jl     0x43cf4a
43cf12:	8b 5c 24 14          	mov    0x14(%esp),%ebx
43cf16:	85 db                	test   %ebx,%ebx
43cf18:	7c 30                	jl     0x43cf4a
43cf1a:	8b 46 08             	mov    0x8(%esi),%eax
43cf1d:	8d 3c 1a             	lea    (%edx,%ebx,1),%edi
43cf20:	3b f8                	cmp    %eax,%edi
43cf22:	7f 26                	jg     0x43cf4a
43cf24:	2b c2                	sub    %edx,%eax
43cf26:	2b c3                	sub    %ebx,%eax
43cf28:	74 17                	je     0x43cf41
43cf2a:	8b 4e 04             	mov    0x4(%esi),%ecx
43cf2d:	c1 e0 02             	shl    $0x2,%eax
43cf30:	50                   	push   %eax
43cf31:	8d 04 b9             	lea    (%ecx,%edi,4),%eax
43cf34:	50                   	push   %eax
43cf35:	8d 04 91             	lea    (%ecx,%edx,4),%eax
43cf38:	50                   	push   %eax
43cf39:	e8 e2 a0 fd ff       	call   0x417020
43cf3e:	83 c4 0c             	add    $0xc,%esp
43cf41:	29 5e 08             	sub    %ebx,0x8(%esi)
43cf44:	5f                   	pop    %edi
43cf45:	5e                   	pop    %esi
43cf46:	5b                   	pop    %ebx
43cf47:	c2 08 00             	ret    $0x8
43cf4a:	e8 fc 84 ff ff       	call   0x43544b
43cf4f:	cc                   	int3
43cf50:	8b c1                	mov    %ecx,%eax
43cf52:	33 c9                	xor    %ecx,%ecx
43cf54:	c7 00 6c f3 48 00    	movl   $0x48f36c,(%eax)
43cf5a:	89 48 04             	mov    %ecx,0x4(%eax)
43cf5d:	89 48 10             	mov    %ecx,0x10(%eax)
43cf60:	89 48 0c             	mov    %ecx,0xc(%eax)
43cf63:	89 48 08             	mov    %ecx,0x8(%eax)
43cf66:	c3                   	ret
43cf67:	ff 71 04             	push   0x4(%ecx)
43cf6a:	c7 01 6c f3 48 00    	movl   $0x48f36c,(%ecx)
43cf70:	e8 0b 31 00 00       	call   0x440080
43cf75:	59                   	pop    %ecx
43cf76:	c3                   	ret
43cf77:	55                   	push   %ebp
43cf78:	8b ec                	mov    %esp,%ebp
43cf7a:	51                   	push   %ecx
43cf7b:	53                   	push   %ebx
43cf7c:	56                   	push   %esi
43cf7d:	8b 75 0c             	mov    0xc(%ebp),%esi
43cf80:	57                   	push   %edi
43cf81:	33 ff                	xor    %edi,%edi
43cf83:	3b f7                	cmp    %edi,%esi
43cf85:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43cf88:	74 46                	je     0x43cfd0
43cf8a:	8b 5d 08             	mov    0x8(%ebp),%ebx
43cf8d:	3b df                	cmp    %edi,%ebx
43cf8f:	7c 3f                	jl     0x43cfd0
43cf91:	39 7e 08             	cmp    %edi,0x8(%esi)
43cf94:	7e 33                	jle    0x43cfc9
43cf96:	8b 46 08             	mov    0x8(%esi),%eax
43cf99:	3b c7                	cmp    %edi,%eax
43cf9b:	7e 33                	jle    0x43cfd0
43cf9d:	50                   	push   %eax
43cf9e:	8b 46 04             	mov    0x4(%esi),%eax
43cfa1:	ff 30                	push   (%eax)
43cfa3:	53                   	push   %ebx
43cfa4:	e8 cc fe ff ff       	call   0x43ce75
43cfa9:	39 7e 08             	cmp    %edi,0x8(%esi)
43cfac:	7e 1b                	jle    0x43cfc9
43cfae:	57                   	push   %edi
43cfaf:	8b ce                	mov    %esi,%ecx
43cfb1:	e8 40 83 fd ff       	call   0x4152f6
43cfb6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43cfb9:	50                   	push   %eax
43cfba:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
43cfbd:	50                   	push   %eax
43cfbe:	e8 4f 83 fd ff       	call   0x415312
43cfc3:	47                   	inc    %edi
43cfc4:	3b 7e 08             	cmp    0x8(%esi),%edi
43cfc7:	7c e5                	jl     0x43cfae
43cfc9:	5f                   	pop    %edi
43cfca:	5e                   	pop    %esi
43cfcb:	5b                   	pop    %ebx
43cfcc:	c9                   	leave
43cfcd:	c2 08 00             	ret    $0x8
43cfd0:	e8 76 84 ff ff       	call   0x43544b
43cfd5:	cc                   	int3
43cfd6:	56                   	push   %esi
43cfd7:	8b f1                	mov    %ecx,%esi
43cfd9:	e8 89 ff ff ff       	call   0x43cf67
43cfde:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
43cfe3:	74 07                	je     0x43cfec
43cfe5:	56                   	push   %esi
43cfe6:	e8 95 30 00 00       	call   0x440080
43cfeb:	59                   	pop    %ecx
43cfec:	8b c6                	mov    %esi,%eax
43cfee:	5e                   	pop    %esi
43cfef:	c2 04 00             	ret    $0x4
43cff2:	55                   	push   %ebp
43cff3:	8b ec                	mov    %esp,%ebp
43cff5:	53                   	push   %ebx
43cff6:	56                   	push   %esi
43cff7:	57                   	push   %edi
43cff8:	8b 7d 08             	mov    0x8(%ebp),%edi
43cffb:	33 db                	xor    %ebx,%ebx
43cffd:	3b fb                	cmp    %ebx,%edi
43cfff:	8b f1                	mov    %ecx,%esi
43d001:	0f 8c b1 00 00 00    	jl     0x43d0b8
43d007:	8b 45 0c             	mov    0xc(%ebp),%eax
43d00a:	3b c3                	cmp    %ebx,%eax
43d00c:	7c 03                	jl     0x43d011
43d00e:	89 46 10             	mov    %eax,0x10(%esi)
43d011:	3b fb                	cmp    %ebx,%edi
43d013:	75 14                	jne    0x43d029
43d015:	ff 76 04             	push   0x4(%esi)
43d018:	e8 63 30 00 00       	call   0x440080
43d01d:	59                   	pop    %ecx
43d01e:	89 5e 0c             	mov    %ebx,0xc(%esi)
43d021:	89 5e 08             	mov    %ebx,0x8(%esi)
43d024:	e9 d9 00 00 00       	jmp    0x43d102
43d029:	8b 4e 04             	mov    0x4(%esi),%ecx
43d02c:	3b cb                	cmp    %ebx,%ecx
43d02e:	75 25                	jne    0x43d055
43d030:	8b df                	mov    %edi,%ebx
43d032:	c1 e3 02             	shl    $0x2,%ebx
43d035:	53                   	push   %ebx
43d036:	e8 1a 30 00 00       	call   0x440055
43d03b:	53                   	push   %ebx
43d03c:	6a 00                	push   $0x0
43d03e:	50                   	push   %eax
43d03f:	89 46 04             	mov    %eax,0x4(%esi)
43d042:	e8 f9 b1 fd ff       	call   0x418240
43d047:	83 c4 10             	add    $0x10,%esp
43d04a:	89 7e 0c             	mov    %edi,0xc(%esi)
43d04d:	89 7e 08             	mov    %edi,0x8(%esi)
43d050:	e9 b0 00 00 00       	jmp    0x43d105
43d055:	8b 5e 0c             	mov    0xc(%esi),%ebx
43d058:	3b fb                	cmp    %ebx,%edi
43d05a:	7f 1f                	jg     0x43d07b
43d05c:	8b 46 08             	mov    0x8(%esi),%eax
43d05f:	3b f8                	cmp    %eax,%edi
43d061:	7e ea                	jle    0x43d04d
43d063:	8b d7                	mov    %edi,%edx
43d065:	2b d0                	sub    %eax,%edx
43d067:	c1 e2 02             	shl    $0x2,%edx
43d06a:	52                   	push   %edx
43d06b:	8d 04 81             	lea    (%ecx,%eax,4),%eax
43d06e:	6a 00                	push   $0x0
43d070:	50                   	push   %eax
43d071:	e8 ca b1 fd ff       	call   0x418240
43d076:	83 c4 0c             	add    $0xc,%esp
43d079:	eb d2                	jmp    0x43d04d
43d07b:	8b 46 10             	mov    0x10(%esi),%eax
43d07e:	85 c0                	test   %eax,%eax
43d080:	75 23                	jne    0x43d0a5
43d082:	8b 46 08             	mov    0x8(%esi),%eax
43d085:	6a 08                	push   $0x8
43d087:	99                   	cltd
43d088:	59                   	pop    %ecx
43d089:	f7 f9                	idiv   %ecx
43d08b:	83 f8 04             	cmp    $0x4,%eax
43d08e:	7c 12                	jl     0x43d0a2
43d090:	b9 00 04 00 00       	mov    $0x400,%ecx
43d095:	3b c1                	cmp    %ecx,%eax
43d097:	7e 04                	jle    0x43d09d
43d099:	8b c1                	mov    %ecx,%eax
43d09b:	eb 08                	jmp    0x43d0a5
43d09d:	83 f8 04             	cmp    $0x4,%eax
43d0a0:	7d 03                	jge    0x43d0a5
43d0a2:	6a 04                	push   $0x4
43d0a4:	58                   	pop    %eax
43d0a5:	03 c3                	add    %ebx,%eax
43d0a7:	3b f8                	cmp    %eax,%edi
43d0a9:	89 45 08             	mov    %eax,0x8(%ebp)
43d0ac:	7c 03                	jl     0x43d0b1
43d0ae:	89 7d 08             	mov    %edi,0x8(%ebp)
43d0b1:	8b 45 08             	mov    0x8(%ebp),%eax
43d0b4:	3b c3                	cmp    %ebx,%eax
43d0b6:	7d 05                	jge    0x43d0bd
43d0b8:	e8 8e 83 ff ff       	call   0x43544b
43d0bd:	c1 e0 02             	shl    $0x2,%eax
43d0c0:	50                   	push   %eax
43d0c1:	e8 8f 2f 00 00       	call   0x440055
43d0c6:	8b d8                	mov    %eax,%ebx
43d0c8:	8b 46 08             	mov    0x8(%esi),%eax
43d0cb:	c1 e0 02             	shl    $0x2,%eax
43d0ce:	50                   	push   %eax
43d0cf:	ff 76 04             	push   0x4(%esi)
43d0d2:	53                   	push   %ebx
43d0d3:	e8 98 a7 fd ff       	call   0x417870
43d0d8:	8b 46 08             	mov    0x8(%esi),%eax
43d0db:	8b cf                	mov    %edi,%ecx
43d0dd:	2b c8                	sub    %eax,%ecx
43d0df:	c1 e1 02             	shl    $0x2,%ecx
43d0e2:	51                   	push   %ecx
43d0e3:	8d 04 83             	lea    (%ebx,%eax,4),%eax
43d0e6:	6a 00                	push   $0x0
43d0e8:	50                   	push   %eax
43d0e9:	e8 52 b1 fd ff       	call   0x418240
43d0ee:	ff 76 04             	push   0x4(%esi)
43d0f1:	e8 8a 2f 00 00       	call   0x440080
43d0f6:	8b 45 08             	mov    0x8(%ebp),%eax
43d0f9:	83 c4 20             	add    $0x20,%esp
43d0fc:	89 7e 08             	mov    %edi,0x8(%esi)
43d0ff:	89 46 0c             	mov    %eax,0xc(%esi)
43d102:	89 5e 04             	mov    %ebx,0x4(%esi)
43d105:	5f                   	pop    %edi
43d106:	5e                   	pop    %esi
43d107:	5b                   	pop    %ebx
43d108:	5d                   	pop    %ebp
43d109:	c2 08 00             	ret    $0x8
43d10c:	56                   	push   %esi
43d10d:	8b 74 24 08          	mov    0x8(%esp),%esi
43d111:	57                   	push   %edi
43d112:	8b f9                	mov    %ecx,%edi
43d114:	3b fe                	cmp    %esi,%edi
43d116:	75 05                	jne    0x43d11d
43d118:	e8 2e 83 ff ff       	call   0x43544b
43d11d:	8b 46 08             	mov    0x8(%esi),%eax
43d120:	53                   	push   %ebx
43d121:	8b 5f 08             	mov    0x8(%edi),%ebx
43d124:	6a ff                	push   $0xffffffff
43d126:	03 c3                	add    %ebx,%eax
43d128:	50                   	push   %eax
43d129:	8b cf                	mov    %edi,%ecx
43d12b:	e8 c2 fe ff ff       	call   0x43cff2
43d130:	8b 46 08             	mov    0x8(%esi),%eax
43d133:	c1 e0 02             	shl    $0x2,%eax
43d136:	50                   	push   %eax
43d137:	8b 47 04             	mov    0x4(%edi),%eax
43d13a:	ff 76 04             	push   0x4(%esi)
43d13d:	8d 04 98             	lea    (%eax,%ebx,4),%eax
43d140:	50                   	push   %eax
43d141:	e8 2a a7 fd ff       	call   0x417870
43d146:	83 c4 0c             	add    $0xc,%esp
43d149:	8b c3                	mov    %ebx,%eax
43d14b:	5b                   	pop    %ebx
43d14c:	5f                   	pop    %edi
43d14d:	5e                   	pop    %esi
43d14e:	c2 04 00             	ret    $0x4
43d151:	56                   	push   %esi
43d152:	8b 74 24 08          	mov    0x8(%esp),%esi
43d156:	57                   	push   %edi
43d157:	8b f9                	mov    %ecx,%edi
43d159:	3b fe                	cmp    %esi,%edi
43d15b:	74 1f                	je     0x43d17c
43d15d:	6a ff                	push   $0xffffffff
43d15f:	ff 76 08             	push   0x8(%esi)
43d162:	e8 8b fe ff ff       	call   0x43cff2
43d167:	8b 46 08             	mov    0x8(%esi),%eax
43d16a:	c1 e0 02             	shl    $0x2,%eax
43d16d:	50                   	push   %eax
43d16e:	ff 76 04             	push   0x4(%esi)
43d171:	ff 77 04             	push   0x4(%edi)
43d174:	e8 f7 a6 fd ff       	call   0x417870
43d179:	83 c4 0c             	add    $0xc,%esp
43d17c:	5f                   	pop    %edi
43d17d:	5e                   	pop    %esi
43d17e:	c2 04 00             	ret    $0x4
43d181:	56                   	push   %esi
43d182:	8b f1                	mov    %ecx,%esi
43d184:	8b 46 08             	mov    0x8(%esi),%eax
43d187:	3b 46 0c             	cmp    0xc(%esi),%eax
43d18a:	74 38                	je     0x43d1c4
43d18c:	57                   	push   %edi
43d18d:	33 ff                	xor    %edi,%edi
43d18f:	85 c0                	test   %eax,%eax
43d191:	74 1e                	je     0x43d1b1
43d193:	c1 e0 02             	shl    $0x2,%eax
43d196:	50                   	push   %eax
43d197:	e8 b9 2e 00 00       	call   0x440055
43d19c:	8b f8                	mov    %eax,%edi
43d19e:	8b 46 08             	mov    0x8(%esi),%eax
43d1a1:	c1 e0 02             	shl    $0x2,%eax