43b0b3:	8b 45 f4             	mov    -0xc(%ebp),%eax
43b0b6:	46                   	inc    %esi
43b0b7:	89 75 f8             	mov    %esi,-0x8(%ebp)
43b0ba:	3b 70 04             	cmp    0x4(%eax),%esi
43b0bd:	72 a1                	jb     0x43b060
43b0bf:	8b cf                	mov    %edi,%ecx
43b0c1:	e8 5e fa ff ff       	call   0x43ab24
43b0c6:	5f                   	pop    %edi
43b0c7:	5e                   	pop    %esi
43b0c8:	8a c3                	mov    %bl,%al
43b0ca:	5b                   	pop    %ebx
43b0cb:	c9                   	leave
43b0cc:	c3                   	ret
43b0cd:	56                   	push   %esi
43b0ce:	8d 71 0c             	lea    0xc(%ecx),%esi
43b0d1:	56                   	push   %esi
43b0d2:	6a 00                	push   $0x0
43b0d4:	6a 28                	push   $0x28
43b0d6:	ff 15 fc d1 48 00    	call   *0x48d1fc
43b0dc:	50                   	push   %eax
43b0dd:	ff 15 3c d0 48 00    	call   *0x48d03c
43b0e3:	85 c0                	test   %eax,%eax
43b0e5:	75 16                	jne    0x43b0fd
43b0e7:	56                   	push   %esi
43b0e8:	6a 28                	push   $0x28
43b0ea:	ff 15 44 d3 48 00    	call   *0x48d344
43b0f0:	50                   	push   %eax
43b0f1:	ff 15 40 d0 48 00    	call   *0x48d040
43b0f7:	85 c0                	test   %eax,%eax
43b0f9:	75 02                	jne    0x43b0fd
43b0fb:	21 06                	and    %eax,(%esi)
43b0fd:	33 c0                	xor    %eax,%eax
43b0ff:	39 06                	cmp    %eax,(%esi)
43b101:	5e                   	pop    %esi
43b102:	0f 95 c0             	setne  %al
43b105:	c3                   	ret
43b106:	55                   	push   %ebp
43b107:	8b ec                	mov    %esp,%ebp
43b109:	0f be 45 14          	movsbl 0x14(%ebp),%eax
43b10d:	ff 75 1c             	push   0x1c(%ebp)
43b110:	83 e0 02             	and    $0x2,%eax
43b113:	6a 00                	push   $0x0
43b115:	83 c8 04             	or     $0x4,%eax
43b118:	d1 e8                	shr    $1,%eax
43b11a:	50                   	push   %eax
43b11b:	ff 75 10             	push   0x10(%ebp)
43b11e:	ff 75 0c             	push   0xc(%ebp)
43b121:	ff 75 08             	push   0x8(%ebp)
43b124:	ff 15 60 d0 48 00    	call   *0x48d060
43b12a:	f7 d8                	neg    %eax
43b12c:	1b c0                	sbb    %eax,%eax
43b12e:	f7 d8                	neg    %eax
43b130:	5d                   	pop    %ebp
43b131:	c2 18 00             	ret    $0x18
43b134:	55                   	push   %ebp
43b135:	8b ec                	mov    %esp,%ebp
43b137:	83 ec 0c             	sub    $0xc,%esp
43b13a:	53                   	push   %ebx
43b13b:	56                   	push   %esi
43b13c:	8b f1                	mov    %ecx,%esi
43b13e:	57                   	push   %edi
43b13f:	8b 5e 04             	mov    0x4(%esi),%ebx
43b142:	6b db 0c             	imul   $0xc,%ebx,%ebx
43b145:	83 c3 04             	add    $0x4,%ebx
43b148:	53                   	push   %ebx
43b149:	89 5d f4             	mov    %ebx,-0xc(%ebp)
43b14c:	e8 99 43 fe ff       	call   0x41f4ea
43b151:	8b f8                	mov    %eax,%edi
43b153:	53                   	push   %ebx
43b154:	89 7d f8             	mov    %edi,-0x8(%ebp)
43b157:	e8 8e 43 fe ff       	call   0x41f4ea
43b15c:	59                   	pop    %ecx
43b15d:	59                   	pop    %ecx
43b15e:	8b 4e 04             	mov    0x4(%esi),%ecx
43b161:	89 46 08             	mov    %eax,0x8(%esi)
43b164:	89 0f                	mov    %ecx,(%edi)
43b166:	33 c9                	xor    %ecx,%ecx
43b168:	39 4e 04             	cmp    %ecx,0x4(%esi)
43b16b:	76 2b                	jbe    0x43b198
43b16d:	8d 5f 04             	lea    0x4(%edi),%ebx
43b170:	8b f9                	mov    %ecx,%edi
43b172:	c7 43 08 02 00 00 00 	movl   $0x2,0x8(%ebx)
43b179:	8b 06                	mov    (%esi),%eax
43b17b:	53                   	push   %ebx
43b17c:	ff 34 b8             	push   (%eax,%edi,4)
43b17f:	51                   	push   %ecx
43b180:	ff 15 44 d0 48 00    	call   *0x48d044
43b186:	47                   	inc    %edi
43b187:	83 c3 0c             	add    $0xc,%ebx
43b18a:	6a 00                	push   $0x0
43b18c:	59                   	pop    %ecx
43b18d:	3b 7e 04             	cmp    0x4(%esi),%edi
43b190:	72 e0                	jb     0x43b172
43b192:	8b 7d f8             	mov    -0x8(%ebp),%edi
43b195:	8b 5d f4             	mov    -0xc(%ebp),%ebx
43b198:	39 4e 08             	cmp    %ecx,0x8(%esi)
43b19b:	74 05                	je     0x43b1a2
43b19d:	51                   	push   %ecx
43b19e:	51                   	push   %ecx
43b19f:	51                   	push   %ecx
43b1a0:	eb 06                	jmp    0x43b1a8
43b1a2:	8d 45 f4             	lea    -0xc(%ebp),%eax
43b1a5:	50                   	push   %eax
43b1a6:	51                   	push   %ecx
43b1a7:	53                   	push   %ebx
43b1a8:	57                   	push   %edi
43b1a9:	51                   	push   %ecx
43b1aa:	ff 76 0c             	push   0xc(%esi)
43b1ad:	ff 15 38 d0 48 00    	call   *0x48d038
43b1b3:	57                   	push   %edi
43b1b4:	e8 a5 43 fe ff       	call   0x41f55e
43b1b9:	59                   	pop    %ecx
43b1ba:	ff 15 10 d3 48 00    	call   *0x48d310
43b1c0:	f7 d8                	neg    %eax
43b1c2:	5f                   	pop    %edi
43b1c3:	1b c0                	sbb    %eax,%eax
43b1c5:	5e                   	pop    %esi
43b1c6:	40                   	inc    %eax
43b1c7:	5b                   	pop    %ebx
43b1c8:	c9                   	leave
43b1c9:	c2 04 00             	ret    $0x4
43b1cc:	55                   	push   %ebp
43b1cd:	8b ec                	mov    %esp,%ebp
43b1cf:	51                   	push   %ecx
43b1d0:	51                   	push   %ecx
43b1d1:	53                   	push   %ebx
43b1d2:	56                   	push   %esi
43b1d3:	8d 45 fc             	lea    -0x4(%ebp),%eax
43b1d6:	50                   	push   %eax
43b1d7:	51                   	push   %ecx
43b1d8:	8b 4d 08             	mov    0x8(%ebp),%ecx
43b1db:	8d 45 f8             	lea    -0x8(%ebp),%eax
43b1de:	33 db                	xor    %ebx,%ebx
43b1e0:	50                   	push   %eax
43b1e1:	89 5d f8             	mov    %ebx,-0x8(%ebp)
43b1e4:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43b1e7:	e8 76 f8 ff ff       	call   0x43aa62
43b1ec:	8b 75 f8             	mov    -0x8(%ebp),%esi
43b1ef:	83 c4 0c             	add    $0xc,%esp
43b1f2:	84 c0                	test   %al,%al
43b1f4:	74 5e                	je     0x43b254
43b1f6:	57                   	push   %edi
43b1f7:	8b fb                	mov    %ebx,%edi
43b1f9:	39 1e                	cmp    %ebx,(%esi)
43b1fb:	76 56                	jbe    0x43b253
43b1fd:	8d 4e 08             	lea    0x8(%esi),%ecx
43b200:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
43b205:	8b 01                	mov    (%ecx),%eax
43b207:	23 c2                	and    %edx,%eax
43b209:	3b c2                	cmp    %edx,%eax
43b20b:	74 0a                	je     0x43b217
43b20d:	47                   	inc    %edi
43b20e:	83 c1 08             	add    $0x8,%ecx
43b211:	3b 3e                	cmp    (%esi),%edi
43b213:	72 f0                	jb     0x43b205
43b215:	eb 3c                	jmp    0x43b253
43b217:	ff 74 fe 04          	push   0x4(%esi,%edi,8)
43b21b:	ff 15 54 d0 48 00    	call   *0x48d054
43b221:	50                   	push   %eax
43b222:	6a 08                	push   $0x8
43b224:	89 45 fc             	mov    %eax,-0x4(%ebp)
43b227:	ff 15 68 d1 48 00    	call   *0x48d168
43b22d:	50                   	push   %eax
43b22e:	ff 15 64 d1 48 00    	call   *0x48d164
43b234:	8b c8                	mov    %eax,%ecx
43b236:	8b 45 0c             	mov    0xc(%ebp),%eax
43b239:	89 08                	mov    %ecx,(%eax)
43b23b:	85 c9                	test   %ecx,%ecx
43b23d:	74 14                	je     0x43b253
43b23f:	ff 74 fe 04          	push   0x4(%esi,%edi,8)
43b243:	51                   	push   %ecx
43b244:	ff 75 fc             	push   -0x4(%ebp)
43b247:	ff 15 58 d0 48 00    	call   *0x48d058
43b24d:	85 c0                	test   %eax,%eax
43b24f:	74 02                	je     0x43b253
43b251:	b3 01                	mov    $0x1,%bl
43b253:	5f                   	pop    %edi
43b254:	8b ce                	mov    %esi,%ecx
43b256:	e8 c9 f8 ff ff       	call   0x43ab24
43b25b:	5e                   	pop    %esi
43b25c:	8a c3                	mov    %bl,%al
43b25e:	5b                   	pop    %ebx
43b25f:	c9                   	leave
43b260:	c2 08 00             	ret    $0x8
43b263:	55                   	push   %ebp
43b264:	8b ec                	mov    %esp,%ebp
43b266:	53                   	push   %ebx
43b267:	57                   	push   %edi
43b268:	6a 0c                	push   $0xc
43b26a:	6a 08                	push   $0x8
43b26c:	ff 15 68 d1 48 00    	call   *0x48d168
43b272:	50                   	push   %eax
43b273:	ff 15 64 d1 48 00    	call   *0x48d164
43b279:	8b 3d 44 d3 48 00    	mov    0x48d344,%edi
43b27f:	6a 02                	push   $0x2
43b281:	6a 00                	push   $0x0
43b283:	8b d8                	mov    %eax,%ebx
43b285:	6a 00                	push   $0x0
43b287:	53                   	push   %ebx
43b288:	ff d7                	call   *%edi
43b28a:	50                   	push   %eax
43b28b:	8b 45 08             	mov    0x8(%ebp),%eax
43b28e:	ff 30                	push   (%eax)
43b290:	ff d7                	call   *%edi
43b292:	50                   	push   %eax
43b293:	ff 15 3c d3 48 00    	call   *0x48d33c
43b299:	6a 02                	push   $0x2
43b29b:	6a 00                	push   $0x0
43b29d:	6a 00                	push   $0x0
43b29f:	8d 43 08             	lea    0x8(%ebx),%eax
43b2a2:	50                   	push   %eax
43b2a3:	ff d7                	call   *%edi
43b2a5:	50                   	push   %eax
43b2a6:	8b 45 10             	mov    0x10(%ebp),%eax
43b2a9:	ff 30                	push   (%eax)
43b2ab:	ff d7                	call   *%edi
43b2ad:	50                   	push   %eax
43b2ae:	ff 15 3c d3 48 00    	call   *0x48d33c
43b2b4:	8b 45 0c             	mov    0xc(%ebp),%eax
43b2b7:	8b 00                	mov    (%eax),%eax
43b2b9:	89 43 04             	mov    %eax,0x4(%ebx)
43b2bc:	33 c0                	xor    %eax,%eax
43b2be:	50                   	push   %eax
43b2bf:	50                   	push   %eax
43b2c0:	53                   	push   %ebx
43b2c1:	68 d4 b2 43 00       	push   $0x43b2d4
43b2c6:	50                   	push   %eax
43b2c7:	50                   	push   %eax
43b2c8:	ff 15 38 d3 48 00    	call   *0x48d338
43b2ce:	5f                   	pop    %edi
43b2cf:	5b                   	pop    %ebx
43b2d0:	5d                   	pop    %ebp
43b2d1:	c2 0c 00             	ret    $0xc
43b2d4:	55                   	push   %ebp
43b2d5:	8b ec                	mov    %esp,%ebp
43b2d7:	57                   	push   %edi
43b2d8:	8b 7d 08             	mov    0x8(%ebp),%edi
43b2db:	6a ff                	push   $0xffffffff
43b2dd:	ff 37                	push   (%edi)
43b2df:	ff 15 4c d2 48 00    	call   *0x48d24c
43b2e5:	ff 77 04             	push   0x4(%edi)
43b2e8:	ff 77 08             	push   0x8(%edi)
43b2eb:	ff 15 38 d7 48 00    	call   *0x48d738
43b2f1:	ff 77 08             	push   0x8(%edi)
43b2f4:	ff 15 0c d3 48 00    	call   *0x48d30c
43b2fa:	ff 37                	push   (%edi)
43b2fc:	ff 15 0c d3 48 00    	call   *0x48d30c
43b302:	8b cf                	mov    %edi,%ecx
43b304:	e8 1b f8 ff ff       	call   0x43ab24
43b309:	33 c0                	xor    %eax,%eax
43b30b:	5f                   	pop    %edi
43b30c:	5d                   	pop    %ebp
43b30d:	c2 04 00             	ret    $0x4
43b310:	55                   	push   %ebp
43b311:	8b ec                	mov    %esp,%ebp
43b313:	56                   	push   %esi
43b314:	8b f1                	mov    %ecx,%esi
43b316:	e8 24 00 00 00       	call   0x43b33f
43b31b:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
43b31f:	74 04                	je     0x43b325
43b321:	84 c0                	test   %al,%al
43b323:	eb 02                	jmp    0x43b327
43b325:	3c 01                	cmp    $0x1,%al
43b327:	75 0f                	jne    0x43b338
43b329:	6a ff                	push   $0xffffffff
43b32b:	6a ff                	push   $0xffffffff
43b32d:	6a 01                	push   $0x1
43b32f:	6a 00                	push   $0x0
43b331:	8b ce                	mov    %esi,%ecx
43b333:	e8 20 00 00 00       	call   0x43b358
43b338:	b0 01                	mov    $0x1,%al
43b33a:	5e                   	pop    %esi
43b33b:	5d                   	pop    %ebp
43b33c:	c2 04 00             	ret    $0x4
43b33f:	6a 00                	push   $0x0
43b341:	6a 00                	push   $0x0
43b343:	68 f0 00 00 00       	push   $0xf0
43b348:	ff 31                	push   (%ecx)
43b34a:	ff 15 70 d6 48 00    	call   *0x48d670
43b350:	48                   	dec    %eax
43b351:	f7 d8                	neg    %eax
43b353:	1a c0                	sbb    %al,%al
43b355:	fe c0                	inc    %al
43b357:	c3                   	ret
43b358:	55                   	push   %ebp
43b359:	8b ec                	mov    %esp,%ebp
43b35b:	83 ec 14             	sub    $0x14,%esp
43b35e:	8d 45 ec             	lea    -0x14(%ebp),%eax
43b361:	53                   	push   %ebx
43b362:	56                   	push   %esi
43b363:	57                   	push   %edi
43b364:	8b d9                	mov    %ecx,%ebx
43b366:	50                   	push   %eax
43b367:	ff 33                	push   (%ebx)
43b369:	ff 15 7c d6 48 00    	call   *0x48d67c
43b36f:	8b 75 10             	mov    0x10(%ebp),%esi
43b372:	83 fe ff             	cmp    $0xffffffff,%esi
43b375:	75 0d                	jne    0x43b384
43b377:	8b 45 f4             	mov    -0xc(%ebp),%eax
43b37a:	2b 45 ec             	sub    -0x14(%ebp),%eax
43b37d:	99                   	cltd
43b37e:	2b c2                	sub    %edx,%eax
43b380:	8b f0                	mov    %eax,%esi
43b382:	d1 fe                	sar    $1,%esi
43b384:	8b 45 14             	mov    0x14(%ebp),%eax
43b387:	83 f8 ff             	cmp    $0xffffffff,%eax
43b38a:	75 0b                	jne    0x43b397
43b38c:	8b 45 f8             	mov    -0x8(%ebp),%eax
43b38f:	2b 45 f0             	sub    -0x10(%ebp),%eax
43b392:	99                   	cltd
43b393:	2b c2                	sub    %edx,%eax
43b395:	d1 f8                	sar    $1,%eax
43b397:	0f b7 f8             	movzwl %ax,%edi
43b39a:	0f b7 c6             	movzwl %si,%eax
43b39d:	c1 e7 10             	shl    $0x10,%edi
43b3a0:	33 f6                	xor    %esi,%esi
43b3a2:	0b f8                	or     %eax,%edi
43b3a4:	46                   	inc    %esi
43b3a5:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
43b3a9:	c7 45 14 01 02 00 00 	movl   $0x201,0x14(%ebp)
43b3b0:	c7 45 10 03 02 00 00 	movl   $0x203,0x10(%ebp)
43b3b7:	c7 45 fc 02 02 00 00 	movl   $0x202,-0x4(%ebp)
43b3be:	75 12                	jne    0x43b3d2
43b3c0:	c7 45 14 04 02 00 00 	movl   $0x204,0x14(%ebp)
43b3c7:	c7 45 fc 05 02 00 00 	movl   $0x205,-0x4(%ebp)
43b3ce:	6a 02                	push   $0x2
43b3d0:	eb 16                	jmp    0x43b3e8
43b3d2:	83 7d 08 01          	cmpl   $0x1,0x8(%ebp)
43b3d6:	75 18                	jne    0x43b3f0
43b3d8:	c7 45 14 07 02 00 00 	movl   $0x207,0x14(%ebp)
43b3df:	c7 45 fc 08 02 00 00 	movl   $0x208,-0x4(%ebp)
43b3e6:	6a 10                	push   $0x10
43b3e8:	5e                   	pop    %esi
43b3e9:	c7 45 10 06 02 00 00 	movl   $0x206,0x10(%ebp)
43b3f0:	33 c9                	xor    %ecx,%ecx
43b3f2:	41                   	inc    %ecx
43b3f3:	89 4d 08             	mov    %ecx,0x8(%ebp)
43b3f6:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
43b3f9:	7c 48                	jl     0x43b443
43b3fb:	8b c1                	mov    %ecx,%eax
43b3fd:	99                   	cltd
43b3fe:	2b c2                	sub    %edx,%eax
43b400:	83 e0 fe             	and    $0xfffffffe,%eax
43b403:	57                   	push   %edi
43b404:	56                   	push   %esi
43b405:	3b c1                	cmp    %ecx,%eax
43b407:	75 05                	jne    0x43b40e
43b409:	ff 75 10             	push   0x10(%ebp)
43b40c:	eb 03                	jmp    0x43b411
43b40e:	ff 75 14             	push   0x14(%ebp)