43d1c0:	8b 47 30             	mov    0x30(%edi),%eax
43d1c3:	8b 00                	mov    (%eax),%eax
43d1c5:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
43d1c8:	8b 47 20             	mov    0x20(%edi),%eax
43d1cb:	2b ca                	sub    %edx,%ecx
43d1cd:	d1 f9                	sar    $1,%ecx
43d1cf:	89 10                	mov    %edx,(%eax)
43d1d1:	8b 47 30             	mov    0x30(%edi),%eax
43d1d4:	89 08                	mov    %ecx,(%eax)
43d1d6:	eb 63                	jmp    0x43d23b
43d1d8:	8b 1d cc f7 6c 00    	mov    0x6cf7cc,%ebx
43d1de:	eb 55                	jmp    0x43d235
43d1e0:	a1 cc f7 6c 00       	mov    0x6cf7cc,%eax
43d1e5:	f6 c1 02             	test   $0x2,%cl
43d1e8:	74 49                	je     0x43d233
43d1ea:	8b 0a                	mov    (%edx),%ecx
43d1ec:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
43d1f0:	85 c9                	test   %ecx,%ecx
43d1f2:	74 3f                	je     0x43d233
43d1f4:	85 db                	test   %ebx,%ebx
43d1f6:	7c e0                	jl     0x43d1d8
43d1f8:	7f 04                	jg     0x43d1fe
43d1fa:	85 f6                	test   %esi,%esi
43d1fc:	72 da                	jb     0x43d1d8
43d1fe:	8b 47 0c             	mov    0xc(%edi),%eax
43d201:	8b 08                	mov    (%eax),%ecx
43d203:	8b 47 38             	mov    0x38(%edi),%eax
43d206:	2b c1                	sub    %ecx,%eax
43d208:	d1 f8                	sar    $1,%eax
43d20a:	99                   	cltd
43d20b:	3b da                	cmp    %edx,%ebx
43d20d:	7f c9                	jg     0x43d1d8
43d20f:	7c 04                	jl     0x43d215
43d211:	3b f0                	cmp    %eax,%esi
43d213:	77 c3                	ja     0x43d1d8
43d215:	2b 4c 24 0c          	sub    0xc(%esp),%ecx
43d219:	8b 47 30             	mov    0x30(%edi),%eax
43d21c:	d1 f9                	sar    $1,%ecx
43d21e:	03 ce                	add    %esi,%ecx
43d220:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
43d224:	29 08                	sub    %ecx,(%eax)
43d226:	8b 4f 20             	mov    0x20(%edi),%ecx
43d229:	8b 44 24 0c          	mov    0xc(%esp),%eax
43d22d:	03 c0                	add    %eax,%eax
43d22f:	01 01                	add    %eax,(%ecx)
43d231:	eb 08                	jmp    0x43d23b
43d233:	8b d8                	mov    %eax,%ebx
43d235:	8b 35 c8 f7 6c 00    	mov    0x6cf7c8,%esi
43d23b:	8b 45 08             	mov    0x8(%ebp),%eax
43d23e:	0f 57 c0             	xorps  %xmm0,%xmm0
43d241:	5f                   	pop    %edi
43d242:	89 30                	mov    %esi,(%eax)
43d244:	89 58 04             	mov    %ebx,0x4(%eax)
43d247:	5e                   	pop    %esi
43d248:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
43d24f:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
43d256:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
43d25b:	5b                   	pop    %ebx
43d25c:	8b e5                	mov    %ebp,%esp
43d25e:	5d                   	pop    %ebp
43d25f:	c2 20 00             	ret    $0x20
43d262:	cc                   	int3
43d263:	cc                   	int3
43d264:	cc                   	int3
43d265:	cc                   	int3
43d266:	cc                   	int3
43d267:	cc                   	int3
43d268:	cc                   	int3
43d269:	cc                   	int3
43d26a:	cc                   	int3
43d26b:	cc                   	int3
43d26c:	cc                   	int3
43d26d:	cc                   	int3
43d26e:	cc                   	int3
43d26f:	cc                   	int3
43d270:	55                   	push   %ebp
43d271:	8b ec                	mov    %esp,%ebp
43d273:	51                   	push   %ecx
43d274:	53                   	push   %ebx
43d275:	8b d9                	mov    %ecx,%ebx
43d277:	56                   	push   %esi
43d278:	57                   	push   %edi
43d279:	8b 53 20             	mov    0x20(%ebx),%edx
43d27c:	8b 02                	mov    (%edx),%eax
43d27e:	85 c0                	test   %eax,%eax
43d280:	74 08                	je     0x43d28a
43d282:	39 43 38             	cmp    %eax,0x38(%ebx)
43d285:	73 03                	jae    0x43d28a
43d287:	89 43 38             	mov    %eax,0x38(%ebx)
43d28a:	8b 4d 18             	mov    0x18(%ebp),%ecx
43d28d:	f6 c1 01             	test   $0x1,%cl
43d290:	0f 84 e8 00 00 00    	je     0x43d37e
43d296:	8b 43 1c             	mov    0x1c(%ebx),%eax
43d299:	8b 30                	mov    (%eax),%esi
43d29b:	89 75 fc             	mov    %esi,-0x4(%ebp)
43d29e:	85 f6                	test   %esi,%esi
43d2a0:	0f 84 d8 00 00 00    	je     0x43d37e
43d2a6:	8b 45 14             	mov    0x14(%ebp),%eax
43d2a9:	83 f8 02             	cmp    $0x2,%eax
43d2ac:	75 17                	jne    0x43d2c5
43d2ae:	8b 4b 0c             	mov    0xc(%ebx),%ecx
43d2b1:	8b 43 38             	mov    0x38(%ebx),%eax
43d2b4:	8b 75 0c             	mov    0xc(%ebp),%esi
43d2b7:	8b 7d 10             	mov    0x10(%ebp),%edi
43d2ba:	2b 01                	sub    (%ecx),%eax
43d2bc:	d1 f8                	sar    $1,%eax
43d2be:	99                   	cltd
43d2bf:	03 f0                	add    %eax,%esi
43d2c1:	13 fa                	adc    %edx,%edi
43d2c3:	eb 38                	jmp    0x43d2fd
43d2c5:	83 f8 01             	cmp    $0x1,%eax
43d2c8:	75 1b                	jne    0x43d2e5
43d2ca:	f6 c1 02             	test   $0x2,%cl
43d2cd:	75 1a                	jne    0x43d2e9
43d2cf:	8b 4b 0c             	mov    0xc(%ebx),%ecx
43d2d2:	8b c6                	mov    %esi,%eax
43d2d4:	8b 75 0c             	mov    0xc(%ebp),%esi
43d2d7:	8b 7d 10             	mov    0x10(%ebp),%edi
43d2da:	2b 01                	sub    (%ecx),%eax
43d2dc:	d1 f8                	sar    $1,%eax
43d2de:	99                   	cltd
43d2df:	03 f0                	add    %eax,%esi
43d2e1:	13 fa                	adc    %edx,%edi
43d2e3:	eb 18                	jmp    0x43d2fd
43d2e5:	85 c0                	test   %eax,%eax
43d2e7:	74 0e                	je     0x43d2f7
43d2e9:	8b 35 c8 f7 6c 00    	mov    0x6cf7c8,%esi
43d2ef:	8b 3d cc f7 6c 00    	mov    0x6cf7cc,%edi
43d2f5:	eb 06                	jmp    0x43d2fd
43d2f7:	8b 7d 10             	mov    0x10(%ebp),%edi
43d2fa:	8b 75 0c             	mov    0xc(%ebp),%esi
43d2fd:	85 ff                	test   %edi,%edi
43d2ff:	0f 8c 29 01 00 00    	jl     0x43d42e
43d305:	7f 08                	jg     0x43d30f
43d307:	85 f6                	test   %esi,%esi
43d309:	0f 82 1f 01 00 00    	jb     0x43d42e
43d30f:	8b 43 0c             	mov    0xc(%ebx),%eax
43d312:	8b 08                	mov    (%eax),%ecx
43d314:	8b 43 38             	mov    0x38(%ebx),%eax
43d317:	2b c1                	sub    %ecx,%eax
43d319:	d1 f8                	sar    $1,%eax
43d31b:	99                   	cltd
43d31c:	3b fa                	cmp    %edx,%edi
43d31e:	0f 8f 0a 01 00 00    	jg     0x43d42e
43d324:	7c 08                	jl     0x43d32e
43d326:	3b f0                	cmp    %eax,%esi
43d328:	0f 87 00 01 00 00    	ja     0x43d42e
43d32e:	2b 4d fc             	sub    -0x4(%ebp),%ecx
43d331:	8b 43 2c             	mov    0x2c(%ebx),%eax
43d334:	d1 f9                	sar    $1,%ecx
43d336:	03 ce                	add    %esi,%ecx
43d338:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43d33b:	29 08                	sub    %ecx,(%eax)
43d33d:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
43d340:	8b 45 fc             	mov    -0x4(%ebp),%eax
43d343:	03 c0                	add    %eax,%eax
43d345:	01 01                	add    %eax,(%ecx)
43d347:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
43d34b:	0f 84 e9 00 00 00    	je     0x43d43a
43d351:	8b 43 20             	mov    0x20(%ebx),%eax
43d354:	8b 08                	mov    (%eax),%ecx
43d356:	85 c9                	test   %ecx,%ecx
43d358:	0f 84 dc 00 00 00    	je     0x43d43a
43d35e:	8b 43 1c             	mov    0x1c(%ebx),%eax
43d361:	8b 10                	mov    (%eax),%edx
43d363:	8b 43 30             	mov    0x30(%ebx),%eax
43d366:	8b 00                	mov    (%eax),%eax
43d368:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
43d36b:	8b 43 20             	mov    0x20(%ebx),%eax
43d36e:	2b ca                	sub    %edx,%ecx
43d370:	d1 f9                	sar    $1,%ecx
43d372:	89 10                	mov    %edx,(%eax)
43d374:	8b 43 30             	mov    0x30(%ebx),%eax
43d377:	89 08                	mov    %ecx,(%eax)
43d379:	e9 bc 00 00 00       	jmp    0x43d43a
43d37e:	f6 c1 02             	test   $0x2,%cl
43d381:	0f 84 9b 00 00 00    	je     0x43d422
43d387:	8b 12                	mov    (%edx),%edx
43d389:	89 55 fc             	mov    %edx,-0x4(%ebp)
43d38c:	85 d2                	test   %edx,%edx
43d38e:	0f 84 8e 00 00 00    	je     0x43d422
43d394:	8b 45 14             	mov    0x14(%ebp),%eax
43d397:	83 f8 02             	cmp    $0x2,%eax
43d39a:	75 17                	jne    0x43d3b3
43d39c:	8b 4b 0c             	mov    0xc(%ebx),%ecx
43d39f:	8b 43 38             	mov    0x38(%ebx),%eax
43d3a2:	8b 75 0c             	mov    0xc(%ebp),%esi
43d3a5:	8b 7d 10             	mov    0x10(%ebp),%edi
43d3a8:	2b 01                	sub    (%ecx),%eax
43d3aa:	d1 f8                	sar    $1,%eax
43d3ac:	99                   	cltd
43d3ad:	03 f0                	add    %eax,%esi
43d3af:	13 fa                	adc    %edx,%edi
43d3b1:	eb 33                	jmp    0x43d3e6
43d3b3:	83 f8 01             	cmp    $0x1,%eax
43d3b6:	75 16                	jne    0x43d3ce
43d3b8:	8b 4b 0c             	mov    0xc(%ebx),%ecx
43d3bb:	8b c2                	mov    %edx,%eax
43d3bd:	8b 75 0c             	mov    0xc(%ebp),%esi
43d3c0:	8b 7d 10             	mov    0x10(%ebp),%edi
43d3c3:	2b 01                	sub    (%ecx),%eax
43d3c5:	d1 f8                	sar    $1,%eax
43d3c7:	99                   	cltd
43d3c8:	03 f0                	add    %eax,%esi
43d3ca:	13 fa                	adc    %edx,%edi
43d3cc:	eb 18                	jmp    0x43d3e6
43d3ce:	85 c0                	test   %eax,%eax
43d3d0:	74 0e                	je     0x43d3e0
43d3d2:	8b 35 c8 f7 6c 00    	mov    0x6cf7c8,%esi
43d3d8:	8b 3d cc f7 6c 00    	mov    0x6cf7cc,%edi
43d3de:	eb 06                	jmp    0x43d3e6
43d3e0:	8b 7d 10             	mov    0x10(%ebp),%edi
43d3e3:	8b 75 0c             	mov    0xc(%ebp),%esi
43d3e6:	85 ff                	test   %edi,%edi
43d3e8:	7c 44                	jl     0x43d42e
43d3ea:	7f 04                	jg     0x43d3f0
43d3ec:	85 f6                	test   %esi,%esi
43d3ee:	72 3e                	jb     0x43d42e
43d3f0:	8b 43 0c             	mov    0xc(%ebx),%eax
43d3f3:	8b 08                	mov    (%eax),%ecx
43d3f5:	8b 43 38             	mov    0x38(%ebx),%eax
43d3f8:	2b c1                	sub    %ecx,%eax
43d3fa:	d1 f8                	sar    $1,%eax
43d3fc:	99                   	cltd
43d3fd:	3b fa                	cmp    %edx,%edi
43d3ff:	7f 2d                	jg     0x43d42e
43d401:	7c 04                	jl     0x43d407
43d403:	3b f0                	cmp    %eax,%esi
43d405:	77 27                	ja     0x43d42e
43d407:	2b 4d fc             	sub    -0x4(%ebp),%ecx
43d40a:	8b 43 30             	mov    0x30(%ebx),%eax
43d40d:	d1 f9                	sar    $1,%ecx
43d40f:	03 ce                	add    %esi,%ecx
43d411:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43d414:	29 08                	sub    %ecx,(%eax)
43d416:	8b 4b 20             	mov    0x20(%ebx),%ecx
43d419:	8b 45 fc             	mov    -0x4(%ebp),%eax
43d41c:	03 c0                	add    %eax,%eax
43d41e:	01 01                	add    %eax,(%ecx)
43d420:	eb 18                	jmp    0x43d43a
43d422:	8b 75 0c             	mov    0xc(%ebp),%esi
43d425:	8b c6                	mov    %esi,%eax
43d427:	8b 7d 10             	mov    0x10(%ebp),%edi
43d42a:	0b c7                	or     %edi,%eax
43d42c:	74 0c                	je     0x43d43a
43d42e:	8b 35 c8 f7 6c 00    	mov    0x6cf7c8,%esi
43d434:	8b 3d cc f7 6c 00    	mov    0x6cf7cc,%edi
43d43a:	8b 45 08             	mov    0x8(%ebp),%eax
43d43d:	0f 57 c0             	xorps  %xmm0,%xmm0
43d440:	89 78 04             	mov    %edi,0x4(%eax)
43d443:	5f                   	pop    %edi
43d444:	89 30                	mov    %esi,(%eax)
43d446:	5e                   	pop    %esi
43d447:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
43d44e:	c7 40 0c 00 00 00 00 	movl   $0x0,0xc(%eax)
43d455:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
43d45a:	5b                   	pop    %ebx
43d45b:	8b e5                	mov    %ebp,%esp
43d45d:	5d                   	pop    %ebp
43d45e:	c2 14 00             	ret    $0x14
43d461:	cc                   	int3
43d462:	cc                   	int3
43d463:	cc                   	int3
43d464:	cc                   	int3
43d465:	cc                   	int3
43d466:	cc                   	int3
43d467:	cc                   	int3
43d468:	cc                   	int3
43d469:	cc                   	int3
43d46a:	cc                   	int3
43d46b:	cc                   	int3
43d46c:	cc                   	int3
43d46d:	cc                   	int3
43d46e:	cc                   	int3
43d46f:	cc                   	int3
43d470:	53                   	push   %ebx
43d471:	56                   	push   %esi
43d472:	8b f1                	mov    %ecx,%esi
43d474:	57                   	push   %edi
43d475:	8b 7e 1c             	mov    0x1c(%esi),%edi
43d478:	8b 17                	mov    (%edi),%edx
43d47a:	85 d2                	test   %edx,%edx
43d47c:	74 4b                	je     0x43d4c9
43d47e:	8b 5e 2c             	mov    0x2c(%esi),%ebx
43d481:	8b 0b                	mov    (%ebx),%ecx
43d483:	8d 0c 4a             	lea    (%edx,%ecx,2),%ecx
43d486:	3b d1                	cmp    %ecx,%edx
43d488:	73 07                	jae    0x43d491
43d48a:	66 8b 02             	mov    (%edx),%ax
43d48d:	5f                   	pop    %edi
43d48e:	5e                   	pop    %esi
43d48f:	5b                   	pop    %ebx
43d490:	c3                   	ret
43d491:	f6 46 3c 04          	testb  $0x4,0x3c(%esi)
43d495:	75 32                	jne    0x43d4c9
43d497:	8b 46 20             	mov    0x20(%esi),%eax
43d49a:	8b 08                	mov    (%eax),%ecx
43d49c:	85 c9                	test   %ecx,%ecx
43d49e:	74 29                	je     0x43d4c9
43d4a0:	3b ca                	cmp    %edx,%ecx
43d4a2:	77 05                	ja     0x43d4a9
43d4a4:	39 56 38             	cmp    %edx,0x38(%esi)
43d4a7:	76 20                	jbe    0x43d4c9
43d4a9:	8b 46 38             	mov    0x38(%esi),%eax
43d4ac:	3b c1                	cmp    %ecx,%eax
43d4ae:	73 07                	jae    0x43d4b7
43d4b0:	89 4e 38             	mov    %ecx,0x38(%esi)
43d4b3:	8b c1                	mov    %ecx,%eax
43d4b5:	8b 17                	mov    (%edi),%edx
43d4b7:	2b c2                	sub    %edx,%eax
43d4b9:	d1 f8                	sar    $1,%eax
43d4bb:	89 03                	mov    %eax,(%ebx)
43d4bd:	8b 46 1c             	mov    0x1c(%esi),%eax
43d4c0:	5f                   	pop    %edi
43d4c1:	5e                   	pop    %esi
43d4c2:	5b                   	pop    %ebx
43d4c3:	8b 00                	mov    (%eax),%eax
43d4c5:	66 8b 00             	mov    (%eax),%ax
43d4c8:	c3                   	ret
43d4c9:	5f                   	pop    %edi
43d4ca:	5e                   	pop    %esi
43d4cb:	b8 ff ff 00 00       	mov    $0xffff,%eax
43d4d0:	5b                   	pop    %ebx
43d4d1:	c3                   	ret
43d4d2:	cc                   	int3
43d4d3:	cc                   	int3
43d4d4:	cc                   	int3
43d4d5:	cc                   	int3
43d4d6:	cc                   	int3
43d4d7:	cc                   	int3
43d4d8:	cc                   	int3
43d4d9:	cc                   	int3
43d4da:	cc                   	int3
43d4db:	cc                   	int3
43d4dc:	cc                   	int3
43d4dd:	cc                   	int3
43d4de:	cc                   	int3
43d4df:	cc                   	int3
43d4e0:	55                   	push   %ebp
43d4e1:	8b ec                	mov    %esp,%ebp
43d4e3:	8b 41 1c             	mov    0x1c(%ecx),%eax
43d4e6:	56                   	push   %esi
43d4e7:	57                   	push   %edi
43d4e8:	bf ff ff 00 00       	mov    $0xffff,%edi
43d4ed:	8b 30                	mov    (%eax),%esi
43d4ef:	85 f6                	test   %esi,%esi
43d4f1:	74 45                	je     0x43d538
43d4f3:	8b 41 0c             	mov    0xc(%ecx),%eax
43d4f6:	3b 30                	cmp    (%eax),%esi
43d4f8:	76 3e                	jbe    0x43d538