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
43d1a4:	50                   	push   %eax
43d1a5:	ff 76 04             	push   0x4(%esi)
43d1a8:	57                   	push   %edi
43d1a9:	e8 c2 a6 fd ff       	call   0x417870
43d1ae:	83 c4 10             	add    $0x10,%esp
43d1b1:	ff 76 04             	push   0x4(%esi)
43d1b4:	e8 c7 2e 00 00       	call   0x440080
43d1b9:	8b 46 08             	mov    0x8(%esi),%eax
43d1bc:	59                   	pop    %ecx
43d1bd:	89 7e 04             	mov    %edi,0x4(%esi)
43d1c0:	89 46 0c             	mov    %eax,0xc(%esi)
43d1c3:	5f                   	pop    %edi
43d1c4:	5e                   	pop    %esi
43d1c5:	c3                   	ret
43d1c6:	56                   	push   %esi
43d1c7:	8b 74 24 08          	mov    0x8(%esp),%esi
43d1cb:	85 f6                	test   %esi,%esi
43d1cd:	57                   	push   %edi
43d1ce:	8b f9                	mov    %ecx,%edi
43d1d0:	7d 05                	jge    0x43d1d7
43d1d2:	e8 74 82 ff ff       	call   0x43544b
43d1d7:	3b 77 08             	cmp    0x8(%edi),%esi
43d1da:	7c 0d                	jl     0x43d1e9
43d1dc:	6a ff                	push   $0xffffffff
43d1de:	8d 46 01             	lea    0x1(%esi),%eax
43d1e1:	50                   	push   %eax
43d1e2:	8b cf                	mov    %edi,%ecx
43d1e4:	e8 09 fe ff ff       	call   0x43cff2
43d1e9:	8b 47 04             	mov    0x4(%edi),%eax
43d1ec:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43d1f0:	5f                   	pop    %edi
43d1f1:	89 0c b0             	mov    %ecx,(%eax,%esi,4)
43d1f4:	5e                   	pop    %esi
43d1f5:	c2 08 00             	ret    $0x8
43d1f8:	55                   	push   %ebp
43d1f9:	8b ec                	mov    %esp,%ebp
43d1fb:	53                   	push   %ebx
43d1fc:	8b 5d 08             	mov    0x8(%ebp),%ebx
43d1ff:	85 db                	test   %ebx,%ebx
43d201:	57                   	push   %edi
43d202:	8b f9                	mov    %ecx,%edi
43d204:	7c 7c                	jl     0x43d282
43d206:	8b 45 10             	mov    0x10(%ebp),%eax
43d209:	85 c0                	test   %eax,%eax
43d20b:	7e 75                	jle    0x43d282
43d20d:	3b 5f 08             	cmp    0x8(%edi),%ebx
43d210:	7c 0c                	jl     0x43d21e
43d212:	6a ff                	push   $0xffffffff
43d214:	03 c3                	add    %ebx,%eax
43d216:	50                   	push   %eax
43d217:	e8 d6 fd ff ff       	call   0x43cff2
43d21c:	eb 49                	jmp    0x43d267
43d21e:	8b 45 10             	mov    0x10(%ebp),%eax
43d221:	56                   	push   %esi
43d222:	8b 77 08             	mov    0x8(%edi),%esi
43d225:	6a ff                	push   $0xffffffff
43d227:	03 c6                	add    %esi,%eax
43d229:	50                   	push   %eax
43d22a:	e8 c3 fd ff ff       	call   0x43cff2
43d22f:	8b 47 04             	mov    0x4(%edi),%eax
43d232:	2b f3                	sub    %ebx,%esi
43d234:	c1 e6 02             	shl    $0x2,%esi
43d237:	8d 0c 98             	lea    (%eax,%ebx,4),%ecx
43d23a:	56                   	push   %esi
43d23b:	8b 75 10             	mov    0x10(%ebp),%esi
43d23e:	51                   	push   %ecx
43d23f:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
43d242:	8d 04 88             	lea    (%eax,%ecx,4),%eax
43d245:	50                   	push   %eax
43d246:	e8 d5 9d fd ff       	call   0x417020
43d24b:	8b 4f 04             	mov    0x4(%edi),%ecx
43d24e:	8b c6                	mov    %esi,%eax
43d250:	c1 e0 02             	shl    $0x2,%eax
43d253:	50                   	push   %eax
43d254:	8b c3                	mov    %ebx,%eax
43d256:	c1 e0 02             	shl    $0x2,%eax
43d259:	03 c8                	add    %eax,%ecx
43d25b:	6a 00                	push   $0x0
43d25d:	51                   	push   %ecx
43d25e:	e8 dd af fd ff       	call   0x418240
43d263:	83 c4 18             	add    $0x18,%esp
43d266:	5e                   	pop    %esi
43d267:	8b 45 10             	mov    0x10(%ebp),%eax
43d26a:	c1 e3 02             	shl    $0x2,%ebx
43d26d:	8b 4f 04             	mov    0x4(%edi),%ecx
43d270:	8b 55 0c             	mov    0xc(%ebp),%edx
43d273:	89 14 0b             	mov    %edx,(%ebx,%ecx,1)
43d276:	83 c3 04             	add    $0x4,%ebx
43d279:	48                   	dec    %eax
43d27a:	75 f1                	jne    0x43d26d
43d27c:	5f                   	pop    %edi
43d27d:	5b                   	pop    %ebx
43d27e:	5d                   	pop    %ebp
43d27f:	c2 0c 00             	ret    $0xc
43d282:	e8 c4 81 ff ff       	call   0x43544b
43d287:	cc                   	int3
43d288:	8b 54 24 04          	mov    0x4(%esp),%edx
43d28c:	85 d2                	test   %edx,%edx
43d28e:	53                   	push   %ebx
43d28f:	56                   	push   %esi
43d290:	57                   	push   %edi
43d291:	8b f1                	mov    %ecx,%esi
43d293:	7c 38                	jl     0x43d2cd
43d295:	8b 5c 24 14          	mov    0x14(%esp),%ebx
43d299:	85 db                	test   %ebx,%ebx
43d29b:	7c 30                	jl     0x43d2cd
43d29d:	8b 46 08             	mov    0x8(%esi),%eax
43d2a0:	8d 3c 1a             	lea    (%edx,%ebx,1),%edi
43d2a3:	3b f8                	cmp    %eax,%edi
43d2a5:	7f 26                	jg     0x43d2cd
43d2a7:	2b c2                	sub    %edx,%eax
43d2a9:	2b c3                	sub    %ebx,%eax
43d2ab:	74 17                	je     0x43d2c4
43d2ad:	8b 4e 04             	mov    0x4(%esi),%ecx
43d2b0:	c1 e0 02             	shl    $0x2,%eax
43d2b3:	50                   	push   %eax
43d2b4:	8d 04 b9             	lea    (%ecx,%edi,4),%eax
43d2b7:	50                   	push   %eax
43d2b8:	8d 04 91             	lea    (%ecx,%edx,4),%eax
43d2bb:	50                   	push   %eax
43d2bc:	e8 5f 9d fd ff       	call   0x417020
43d2c1:	83 c4 0c             	add    $0xc,%esp
43d2c4:	29 5e 08             	sub    %ebx,0x8(%esi)
43d2c7:	5f                   	pop    %edi
43d2c8:	5e                   	pop    %esi
43d2c9:	5b                   	pop    %ebx
43d2ca:	c2 08 00             	ret    $0x8
43d2cd:	e8 79 81 ff ff       	call   0x43544b
43d2d2:	cc                   	int3
43d2d3:	8b c1                	mov    %ecx,%eax
43d2d5:	33 c9                	xor    %ecx,%ecx
43d2d7:	c7 00 90 0e 49 00    	movl   $0x490e90,(%eax)
43d2dd:	89 48 04             	mov    %ecx,0x4(%eax)
43d2e0:	89 48 10             	mov    %ecx,0x10(%eax)
43d2e3:	89 48 0c             	mov    %ecx,0xc(%eax)
43d2e6:	89 48 08             	mov    %ecx,0x8(%eax)
43d2e9:	c3                   	ret
43d2ea:	ff 71 04             	push   0x4(%ecx)
43d2ed:	c7 01 90 0e 49 00    	movl   $0x490e90,(%ecx)
43d2f3:	e8 88 2d 00 00       	call   0x440080
43d2f8:	59                   	pop    %ecx
43d2f9:	c3                   	ret
43d2fa:	55                   	push   %ebp
43d2fb:	8b ec                	mov    %esp,%ebp
43d2fd:	51                   	push   %ecx
43d2fe:	53                   	push   %ebx
43d2ff:	56                   	push   %esi
43d300:	8b 75 0c             	mov    0xc(%ebp),%esi
43d303:	57                   	push   %edi
43d304:	33 ff                	xor    %edi,%edi
43d306:	3b f7                	cmp    %edi,%esi
43d308:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43d30b:	74 46                	je     0x43d353
43d30d:	8b 5d 08             	mov    0x8(%ebp),%ebx
43d310:	3b df                	cmp    %edi,%ebx
43d312:	7c 3f                	jl     0x43d353
43d314:	39 7e 08             	cmp    %edi,0x8(%esi)
43d317:	7e 33                	jle    0x43d34c
43d319:	8b 46 08             	mov    0x8(%esi),%eax
43d31c:	3b c7                	cmp    %edi,%eax
43d31e:	7e 33                	jle    0x43d353
43d320:	50                   	push   %eax
43d321:	8b 46 04             	mov    0x4(%esi),%eax
43d324:	ff 30                	push   (%eax)
43d326:	53                   	push   %ebx
43d327:	e8 cc fe ff ff       	call   0x43d1f8
43d32c:	39 7e 08             	cmp    %edi,0x8(%esi)
43d32f:	7e 1b                	jle    0x43d34c
43d331:	57                   	push   %edi
43d332:	8b ce                	mov    %esi,%ecx
43d334:	e8 e2 8e fd ff       	call   0x41621b
43d339:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43d33c:	50                   	push   %eax
43d33d:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
43d340:	50                   	push   %eax