43aee9:	ff 75 2c             	push   0x2c(%ebp)
43aeec:	e8 72 03 00 00       	call   0x43b263
43aef1:	b3 01                	mov    $0x1,%bl
43aef3:	eb 11                	jmp    0x43af06
43aef5:	39 5d c0             	cmp    %ebx,-0x40(%ebp)
43aef8:	74 0c                	je     0x43af06
43aefa:	ff 75 c0             	push   -0x40(%ebp)
43aefd:	ff 75 fc             	push   -0x4(%ebp)
43af00:	ff 15 38 d7 48 00    	call   *0x48d738
43af06:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43af09:	e8 16 fc ff ff       	call   0x43ab24
43af0e:	85 f6                	test   %esi,%esi
43af10:	74 07                	je     0x43af19
43af12:	56                   	push   %esi
43af13:	ff 15 88 d6 48 00    	call   *0x48d688
43af19:	85 ff                	test   %edi,%edi
43af1b:	74 07                	je     0x43af24
43af1d:	57                   	push   %edi
43af1e:	ff 15 84 d6 48 00    	call   *0x48d684
43af24:	8b 45 ec             	mov    -0x14(%ebp),%eax
43af27:	85 c0                	test   %eax,%eax
43af29:	74 07                	je     0x43af32
43af2b:	50                   	push   %eax
43af2c:	ff 15 90 d6 48 00    	call   *0x48d690
43af32:	ff 75 fc             	push   -0x4(%ebp)
43af35:	ff 15 0c d3 48 00    	call   *0x48d30c
43af3b:	ff 75 f0             	push   -0x10(%ebp)
43af3e:	e8 1b 46 fe ff       	call   0x41f55e
43af43:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
43af47:	59                   	pop    %ecx
43af48:	74 09                	je     0x43af53
43af4a:	ff 75 f4             	push   -0xc(%ebp)
43af4d:	ff 15 3c d7 48 00    	call   *0x48d73c
43af53:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
43af56:	e8 29 fc ff ff       	call   0x43ab84
43af5b:	5f                   	pop    %edi
43af5c:	5e                   	pop    %esi
43af5d:	8a c3                	mov    %bl,%al
43af5f:	5b                   	pop    %ebx
43af60:	c9                   	leave
43af61:	c2 28 00             	ret    $0x28
43af64:	55                   	push   %ebp
43af65:	8b ec                	mov    %esp,%ebp
43af67:	e8 20 fd ff ff       	call   0x43ac8c
43af6c:	84 c0                	test   %al,%al
43af6e:	74 06                	je     0x43af76
43af70:	5d                   	pop    %ebp
43af71:	e9 4f fd ff ff       	jmp    0x43acc5
43af76:	5d                   	pop    %ebp
43af77:	e9 01 00 00 00       	jmp    0x43af7d
43af7c:	cc                   	int3
43af7d:	55                   	push   %ebp
43af7e:	8b ec                	mov    %esp,%ebp
43af80:	51                   	push   %ecx
43af81:	53                   	push   %ebx
43af82:	33 db                	xor    %ebx,%ebx
43af84:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
43af88:	8b c3                	mov    %ebx,%eax
43af8a:	57                   	push   %edi
43af8b:	89 45 fc             	mov    %eax,-0x4(%ebp)
43af8e:	8b fb                	mov    %ebx,%edi
43af90:	74 03                	je     0x43af95
43af92:	47                   	inc    %edi
43af93:	eb 09                	jmp    0x43af9e
43af95:	f6 45 14 02          	testb  $0x2,0x14(%ebp)
43af99:	74 03                	je     0x43af9e
43af9b:	6a 02                	push   $0x2
43af9d:	5f                   	pop    %edi
43af9e:	f6 45 14 04          	testb  $0x4,0x14(%ebp)
43afa2:	74 39                	je     0x43afdd
43afa4:	56                   	push   %esi
43afa5:	8d 45 14             	lea    0x14(%ebp),%eax
43afa8:	50                   	push   %eax
43afa9:	6a 0a                	push   $0xa
43afab:	89 5d 14             	mov    %ebx,0x14(%ebp)
43afae:	ff 15 44 d3 48 00    	call   *0x48d344
43afb4:	50                   	push   %eax
43afb5:	ff 15 40 d0 48 00    	call   *0x48d040
43afbb:	6a 01                	push   $0x1
43afbd:	ff 75 14             	push   0x14(%ebp)
43afc0:	8d 45 fc             	lea    -0x4(%ebp),%eax
43afc3:	50                   	push   %eax
43afc4:	ff 15 40 d7 48 00    	call   *0x48d740
43afca:	ff 75 14             	push   0x14(%ebp)
43afcd:	8b f0                	mov    %eax,%esi
43afcf:	ff 15 0c d3 48 00    	call   *0x48d30c
43afd5:	85 f6                	test   %esi,%esi
43afd7:	5e                   	pop    %esi
43afd8:	74 2f                	je     0x43b009
43afda:	8b 45 fc             	mov    -0x4(%ebp),%eax
43afdd:	ff 75 2c             	push   0x2c(%ebp)
43afe0:	ff 75 28             	push   0x28(%ebp)
43afe3:	ff 75 24             	push   0x24(%ebp)
43afe6:	50                   	push   %eax
43afe7:	8b 45 20             	mov    0x20(%ebp),%eax
43afea:	0d 00 04 00 00       	or     $0x400,%eax
43afef:	50                   	push   %eax
43aff0:	ff 75 1c             	push   0x1c(%ebp)
43aff3:	53                   	push   %ebx
43aff4:	57                   	push   %edi
43aff5:	ff 75 10             	push   0x10(%ebp)
43aff8:	ff 75 0c             	push   0xc(%ebp)
43affb:	ff 75 08             	push   0x8(%ebp)
43affe:	ff 15 50 d0 48 00    	call   *0x48d050
43b004:	85 c0                	test   %eax,%eax
43b006:	0f 95 c3             	setne  %bl
43b009:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
43b00d:	74 09                	je     0x43b018
43b00f:	ff 75 fc             	push   -0x4(%ebp)
43b012:	ff 15 3c d7 48 00    	call   *0x48d73c
43b018:	5f                   	pop    %edi
43b019:	8a c3                	mov    %bl,%al
43b01b:	5b                   	pop    %ebx
43b01c:	c9                   	leave
43b01d:	c2 28 00             	ret    $0x28
43b020:	55                   	push   %ebp
43b021:	8b ec                	mov    %esp,%ebp
43b023:	83 ec 1c             	sub    $0x1c,%esp
43b026:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
43b02a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43b02e:	53                   	push   %ebx
43b02f:	56                   	push   %esi
43b030:	8b c1                	mov    %ecx,%eax
43b032:	57                   	push   %edi
43b033:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43b036:	51                   	push   %ecx
43b037:	51                   	push   %ecx
43b038:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43b03b:	51                   	push   %ecx
43b03c:	8b 48 0c             	mov    0xc(%eax),%ecx
43b03f:	89 45 f4             	mov    %eax,-0xc(%ebp)
43b042:	32 db                	xor    %bl,%bl
43b044:	e8 7a fa ff ff       	call   0x43aac3
43b049:	8b 7d fc             	mov    -0x4(%ebp),%edi
43b04c:	83 c4 0c             	add    $0xc,%esp
43b04f:	84 c0                	test   %al,%al
43b051:	74 6c                	je     0x43b0bf
43b053:	8b 45 f4             	mov    -0xc(%ebp),%eax
43b056:	33 f6                	xor    %esi,%esi
43b058:	89 75 f8             	mov    %esi,-0x8(%ebp)
43b05b:	39 70 04             	cmp    %esi,0x4(%eax)
43b05e:	76 5f                	jbe    0x43b0bf
43b060:	8b 00                	mov    (%eax),%eax
43b062:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43b065:	51                   	push   %ecx
43b066:	ff 34 b0             	push   (%eax,%esi,4)
43b069:	32 db                	xor    %bl,%bl
43b06b:	6a 00                	push   $0x0
43b06d:	ff 15 44 d0 48 00    	call   *0x48d044
43b073:	85 c0                	test   %eax,%eax
43b075:	74 48                	je     0x43b0bf
43b077:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
43b07b:	83 3f 00             	cmpl   $0x0,(%edi)
43b07e:	76 3f                	jbe    0x43b0bf
43b080:	8b 75 ec             	mov    -0x14(%ebp),%esi
43b083:	8d 47 04             	lea    0x4(%edi),%eax
43b086:	89 45 fc             	mov    %eax,-0x4(%ebp)
43b089:	6a 08                	push   $0x8
43b08b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
43b08e:	51                   	push   %ecx
43b08f:	50                   	push   %eax
43b090:	e8 ce 44 fe ff       	call   0x41f563
43b095:	83 c4 0c             	add    $0xc,%esp
43b098:	85 c0                	test   %eax,%eax
43b09a:	75 02                	jne    0x43b09e
43b09c:	b3 01                	mov    $0x1,%bl
43b09e:	8b 45 fc             	mov    -0x4(%ebp),%eax
43b0a1:	46                   	inc    %esi
43b0a2:	83 c0 0c             	add    $0xc,%eax
43b0a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
43b0a8:	3b 37                	cmp    (%edi),%esi
43b0aa:	72 dd                	jb     0x43b089
43b0ac:	8b 75 f8             	mov    -0x8(%ebp),%esi
43b0af:	84 db                	test   %bl,%bl
43b0b1:	74 0c                	je     0x43b0bf
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