42adf9:	85 ff                	test   %edi,%edi
42adfb:	75 0c                	jne    0x42ae09
42adfd:	e8 e1 d8 fe ff       	call   0x4186e3
42ae02:	8b f0                	mov    %eax,%esi
42ae04:	e9 18 01 00 00       	jmp    0x42af21
42ae09:	56                   	push   %esi
42ae0a:	53                   	push   %ebx
42ae0b:	ff b5 e4 fb ff ff    	push   -0x41c(%ebp)
42ae11:	57                   	push   %edi
42ae12:	ff 15 74 a1 43 00    	call   *0x43a174
42ae18:	8b d8                	mov    %eax,%ebx
42ae1a:	85 db                	test   %ebx,%ebx
42ae1c:	75 0a                	jne    0x42ae28
42ae1e:	e8 c0 d8 fe ff       	call   0x4186e3
42ae23:	e9 f0 00 00 00       	jmp    0x42af18
42ae28:	53                   	push   %ebx
42ae29:	57                   	push   %edi
42ae2a:	ff 15 80 a1 43 00    	call   *0x43a180
42ae30:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
42ae36:	85 c0                	test   %eax,%eax
42ae38:	74 e4                	je     0x42ae1e
42ae3a:	53                   	push   %ebx
42ae3b:	57                   	push   %edi
42ae3c:	ff 15 78 a1 43 00    	call   *0x43a178
42ae42:	8b d8                	mov    %eax,%ebx
42ae44:	89 9d e4 fb ff ff    	mov    %ebx,-0x41c(%ebp)
42ae4a:	8d 4b 01             	lea    0x1(%ebx),%ecx
42ae4d:	3b cb                	cmp    %ebx,%ecx
42ae4f:	73 23                	jae    0x42ae74
42ae51:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
42ae57:	39 85 e8 fb ff ff    	cmp    %eax,-0x418(%ebp)
42ae5d:	74 0b                	je     0x42ae6a
42ae5f:	8d 8d e8 fb ff ff    	lea    -0x418(%ebp),%ecx
42ae65:	e8 85 d0 ff ff       	call   0x427eef
42ae6a:	be 0e 00 07 80       	mov    $0x8007000e,%esi
42ae6f:	e9 c6 00 00 00       	jmp    0x42af3a
42ae74:	6a 02                	push   $0x2
42ae76:	5a                   	pop    %edx
42ae77:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
42ae7b:	e8 07 8e ff ff       	call   0x423c87
42ae80:	3d 00 04 00 00       	cmp    $0x400,%eax
42ae85:	76 14                	jbe    0x42ae9b
42ae87:	50                   	push   %eax
42ae88:	8d 8d e8 fb ff ff    	lea    -0x418(%ebp),%ecx
42ae8e:	e8 04 c1 ff ff       	call   0x426f97
42ae93:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
42ae99:	eb 0c                	jmp    0x42aea7
42ae9b:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
42aea1:	89 85 e8 fb ff ff    	mov    %eax,-0x418(%ebp)
42aea7:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
42aeae:	eb 21                	jmp    0x42aed1
42aeb0:	b8 b6 ae 42 00       	mov    $0x42aeb6,%eax
42aeb5:	c3                   	ret
42aeb6:	8b bd e0 fb ff ff    	mov    -0x420(%ebp),%edi
42aebc:	33 f6                	xor    %esi,%esi
42aebe:	8b 9d e4 fb ff ff    	mov    -0x41c(%ebp),%ebx
42aec4:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
42aecb:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
42aed1:	85 c0                	test   %eax,%eax
42aed3:	75 07                	jne    0x42aedc
42aed5:	be 0e 00 07 80       	mov    $0x8007000e,%esi
42aeda:	eb 3e                	jmp    0x42af1a
42aedc:	53                   	push   %ebx
42aedd:	50                   	push   %eax
42aede:	53                   	push   %ebx
42aedf:	ff b5 dc fb ff ff    	push   -0x424(%ebp)
42aee5:	56                   	push   %esi
42aee6:	6a 03                	push   $0x3
42aee8:	ff 15 60 a2 43 00    	call   *0x43a260
42aeee:	8b c8                	mov    %eax,%ecx
42aef0:	85 c9                	test   %ecx,%ecx
42aef2:	0f 84 26 ff ff ff    	je     0x42ae1e
42aef8:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
42aefe:	33 d2                	xor    %edx,%edx
42af00:	ff 75 14             	push   0x14(%ebp)
42af03:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
42af07:	8d 8d d0 fb ff ff    	lea    -0x430(%ebp),%ecx
42af0d:	ff b5 e8 fb ff ff    	push   -0x418(%ebp)
42af13:	e8 39 fd ff ff       	call   0x42ac51
42af18:	8b f0                	mov    %eax,%esi
42af1a:	57                   	push   %edi
42af1b:	ff 15 70 a1 43 00    	call   *0x43a170
42af21:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
42af27:	39 85 e8 fb ff ff    	cmp    %eax,-0x418(%ebp)
42af2d:	74 0b                	je     0x42af3a
42af2f:	8d 8d e8 fb ff ff    	lea    -0x418(%ebp),%ecx
42af35:	e8 b5 cf ff ff       	call   0x427eef
42af3a:	8d 8d d8 fb ff ff    	lea    -0x428(%ebp),%ecx
42af40:	e8 5a 9f ff ff       	call   0x424e9f
42af45:	8b c6                	mov    %esi,%eax
42af47:	e8 b3 fe fe ff       	call   0x41adff
42af4c:	c2 10 00             	ret    $0x10
42af4f:	8b ff                	mov    %edi,%edi
42af51:	55                   	push   %ebp
42af52:	8b ec                	mov    %esp,%ebp
42af54:	6a ff                	push   $0xffffffff
42af56:	68 bf f3 41 00       	push   $0x41f3bf
42af5b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
42af61:	50                   	push   %eax
42af62:	b8 60 22 00 00       	mov    $0x2260,%eax
42af67:	e8 c4 30 ff ff       	call   0x41e030
42af6c:	a1 08 85 43 00       	mov    0x438508,%eax
42af71:	33 c5                	xor    %ebp,%eax
42af73:	89 45 f0             	mov    %eax,-0x10(%ebp)
42af76:	53                   	push   %ebx
42af77:	56                   	push   %esi
42af78:	57                   	push   %edi
42af79:	50                   	push   %eax
42af7a:	8d 45 f4             	lea    -0xc(%ebp),%eax
42af7d:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
42af83:	8b c1                	mov    %ecx,%eax
42af85:	89 85 e4 dd ff ff    	mov    %eax,-0x221c(%ebp)
42af8b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42af8e:	8b 7d 08             	mov    0x8(%ebp),%edi
42af91:	89 8d e0 dd ff ff    	mov    %ecx,-0x2220(%ebp)
42af97:	33 c9                	xor    %ecx,%ecx
42af99:	8b d9                	mov    %ecx,%ebx
42af9b:	89 8d b8 dd ff ff    	mov    %ecx,-0x2248(%ebp)
42afa1:	89 9d cc dd ff ff    	mov    %ebx,-0x2234(%ebp)
42afa7:	89 8d d0 dd ff ff    	mov    %ecx,-0x2230(%ebp)
42afad:	89 8d d4 dd ff ff    	mov    %ecx,-0x222c(%ebp)
42afb3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42afb6:	8b c8                	mov    %eax,%ecx
42afb8:	57                   	push   %edi
42afb9:	e8 dc e0 ff ff       	call   0x42909a
42afbe:	8b f0                	mov    %eax,%esi
42afc0:	85 f6                	test   %esi,%esi
42afc2:	0f 88 43 05 00 00    	js     0x42b50b
42afc8:	e9 ea 04 00 00       	jmp    0x42b4b7
42afcd:	68 8c 71 40 00       	push   $0x40718c
42afd2:	57                   	push   %edi
42afd3:	c7 85 dc dd ff ff 01 	movl   $0x1,-0x2224(%ebp)
42afda:	00 00 00
42afdd:	ff 15 78 a2 43 00    	call   *0x43a278
42afe3:	f7 d8                	neg    %eax
42afe5:	68 60 71 40 00       	push   $0x407160
42afea:	1b db                	sbb    %ebx,%ebx
42afec:	57                   	push   %edi
42afed:	43                   	inc    %ebx
42afee:	ff 15 78 a2 43 00    	call   *0x43a278
42aff4:	85 c0                	test   %eax,%eax
42aff6:	74 08                	je     0x42b000
42aff8:	85 db                	test   %ebx,%ebx
42affa:	0f 84 95 00 00 00    	je     0x42b095
42b000:	8b 8d e4 dd ff ff    	mov    -0x221c(%ebp),%ecx
42b006:	57                   	push   %edi
42b007:	e8 8e e0 ff ff       	call   0x42909a
42b00c:	8b f0                	mov    %eax,%esi
42b00e:	85 f6                	test   %esi,%esi
42b010:	0f 88 e4 04 00 00    	js     0x42b4fa
42b016:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
42b01a:	74 79                	je     0x42b095
42b01c:	33 c0                	xor    %eax,%eax
42b01e:	8b cf                	mov    %edi,%ecx
42b020:	6a 5c                	push   $0x5c
42b022:	5a                   	pop    %edx
42b023:	89 85 ac dd ff ff    	mov    %eax,-0x2254(%ebp)
42b029:	89 85 b0 dd ff ff    	mov    %eax,-0x2250(%ebp)
42b02f:	89 85 b4 dd ff ff    	mov    %eax,-0x224c(%ebp)
42b035:	e8 0d 1e 00 00       	call   0x42ce47
42b03a:	85 c0                	test   %eax,%eax
42b03c:	0f 85 b3 04 00 00    	jne    0x42b4f5
42b042:	57                   	push   %edi
42b043:	e8 9f c1 ff ff       	call   0x4271e7
42b048:	85 c0                	test   %eax,%eax
42b04a:	74 20                	je     0x42b06c
42b04c:	8b 85 e0 dd ff ff    	mov    -0x2220(%ebp),%eax
42b052:	8d 8d ac dd ff ff    	lea    -0x2254(%ebp),%ecx
42b058:	57                   	push   %edi
42b059:	89 85 ac dd ff ff    	mov    %eax,-0x2254(%ebp)
42b05f:	e8 23 fb ff ff       	call   0x42ab87
42b064:	33 c0                	xor    %eax,%eax
42b066:	89 85 ac dd ff ff    	mov    %eax,-0x2254(%ebp)
42b06c:	85 db                	test   %ebx,%ebx
42b06e:	74 25                	je     0x42b095
42b070:	8b 9d e4 dd ff ff    	mov    -0x221c(%ebp),%ebx
42b076:	8b cb                	mov    %ebx,%ecx
42b078:	57                   	push   %edi
42b079:	e8 1c e0 ff ff       	call   0x42909a
42b07e:	8b f0                	mov    %eax,%esi
42b080:	85 f6                	test   %esi,%esi
42b082:	0f 88 72 04 00 00    	js     0x42b4fa
42b088:	57                   	push   %edi
42b089:	8b cb                	mov    %ebx,%ecx
42b08b:	e8 a5 17 00 00       	call   0x42c835
42b090:	e9 f0 01 00 00       	jmp    0x42b285
42b095:	68 78 71 40 00       	push   $0x407178
42b09a:	57                   	push   %edi
42b09b:	ff 15 78 a2 43 00    	call   *0x43a278
42b0a1:	8b 9d e4 dd ff ff    	mov    -0x221c(%ebp),%ebx
42b0a7:	85 c0                	test   %eax,%eax
42b0a9:	75 18                	jne    0x42b0c3
42b0ab:	57                   	push   %edi
42b0ac:	8b cb                	mov    %ebx,%ecx
42b0ae:	89 85 dc dd ff ff    	mov    %eax,-0x2224(%ebp)
42b0b4:	e8 e1 df ff ff       	call   0x42909a
42b0b9:	8b f0                	mov    %eax,%esi
42b0bb:	85 f6                	test   %esi,%esi
42b0bd:	0f 88 37 04 00 00    	js     0x42b4fa
42b0c3:	68 58 71 40 00       	push   $0x407158
42b0c8:	57                   	push   %edi
42b0c9:	ff 15 78 a2 43 00    	call   *0x43a278
42b0cf:	85 c0                	test   %eax,%eax
42b0d1:	0f 85 1d 01 00 00    	jne    0x42b1f4
42b0d7:	8d 85 e8 dd ff ff    	lea    -0x2218(%ebp),%eax
42b0dd:	8b cb                	mov    %ebx,%ecx
42b0df:	50                   	push   %eax
42b0e0:	e8 b5 df ff ff       	call   0x42909a
42b0e5:	8b f0                	mov    %eax,%esi
42b0e7:	85 f6                	test   %esi,%esi
42b0e9:	0f 88 0b 04 00 00    	js     0x42b4fa
42b0ef:	57                   	push   %edi
42b0f0:	8b cb                	mov    %ebx,%ecx
42b0f2:	e8 a3 df ff ff       	call   0x42909a
42b0f7:	8b f0                	mov    %eax,%esi
42b0f9:	85 f6                	test   %esi,%esi
42b0fb:	0f 88 f9 03 00 00    	js     0x42b4fa
42b101:	6a 3d                	push   $0x3d
42b103:	58                   	pop    %eax
42b104:	66 39 07             	cmp    %ax,(%edi)
42b107:	0f 85 e8 03 00 00    	jne    0x42b4f5
42b10d:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
42b111:	74 4e                	je     0x42b161
42b113:	33 c0                	xor    %eax,%eax
42b115:	89 85 a4 dd ff ff    	mov    %eax,-0x225c(%ebp)
42b11b:	89 85 a8 dd ff ff    	mov    %eax,-0x2258(%ebp)
42b121:	8b 85 e0 dd ff ff    	mov    -0x2220(%ebp),%eax
42b127:	8b cb                	mov    %ebx,%ecx
42b129:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
42b12d:	89 85 a0 dd ff ff    	mov    %eax,-0x2260(%ebp)
42b133:	8d 85 e8 dd ff ff    	lea    -0x2218(%ebp),%eax
42b139:	57                   	push   %edi
42b13a:	50                   	push   %eax
42b13b:	8d 85 a0 dd ff ff    	lea    -0x2260(%ebp),%eax
42b141:	50                   	push   %eax
42b142:	e8 1b ba ff ff       	call   0x426b62
42b147:	8b f0                	mov    %eax,%esi
42b149:	33 c0                	xor    %eax,%eax
42b14b:	89 85 a0 dd ff ff    	mov    %eax,-0x2260(%ebp)
42b151:	85 f6                	test   %esi,%esi
42b153:	0f 88 a1 03 00 00    	js     0x42b4fa
42b159:	88 45 fc             	mov    %al,-0x4(%ebp)
42b15c:	e9 2e 01 00 00       	jmp    0x42b28f
42b161:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
42b165:	75 76                	jne    0x42b1dd
42b167:	83 bd dc dd ff ff 00 	cmpl   $0x0,-0x2224(%ebp)
42b16e:	74 6d                	je     0x42b1dd
42b170:	33 c0                	xor    %eax,%eax
42b172:	8d 8d bc dd ff ff    	lea    -0x2244(%ebp),%ecx
42b178:	68 06 00 02 00       	push   $0x20006
42b17d:	50                   	push   %eax
42b17e:	ff b5 e0 dd ff ff    	push   -0x2220(%ebp)
42b184:	89 85 bc dd ff ff    	mov    %eax,-0x2244(%ebp)
42b18a:	89 85 c0 dd ff ff    	mov    %eax,-0x2240(%ebp)
42b190:	89 85 c4 dd ff ff    	mov    %eax,-0x223c(%ebp)
42b196:	e8 4b e7 ff ff       	call   0x4298e6
42b19b:	85 c0                	test   %eax,%eax
42b19d:	0f 85 38 03 00 00    	jne    0x42b4db
42b1a3:	8b 9d bc dd ff ff    	mov    -0x2244(%ebp),%ebx
42b1a9:	8d 85 e8 dd ff ff    	lea    -0x2218(%ebp),%eax
42b1af:	50                   	push   %eax
42b1b0:	53                   	push   %ebx
42b1b1:	ff 15 24 a2 43 00    	call   *0x43a224
42b1b7:	85 c0                	test   %eax,%eax
42b1b9:	74 09                	je     0x42b1c4
42b1bb:	83 f8 02             	cmp    $0x2,%eax
42b1be:	0f 85 01 03 00 00    	jne    0x42b4c5
42b1c4:	85 db                	test   %ebx,%ebx
42b1c6:	74 0f                	je     0x42b1d7
42b1c8:	53                   	push   %ebx
42b1c9:	ff 15 38 a2 43 00    	call   *0x43a238
42b1cf:	33 c0                	xor    %eax,%eax
42b1d1:	89 85 bc dd ff ff    	mov    %eax,-0x2244(%ebp)
42b1d7:	8b 9d e4 dd ff ff    	mov    -0x221c(%ebp),%ebx
42b1dd:	57                   	push   %edi
42b1de:	8b cb                	mov    %ebx,%ecx
42b1e0:	e8 50 16 00 00       	call   0x42c835
42b1e5:	8b f0                	mov    %eax,%esi
42b1e7:	85 f6                	test   %esi,%esi
42b1e9:	0f 88 0b 03 00 00    	js     0x42b4fa
42b1ef:	e9 c3 02 00 00       	jmp    0x42b4b7
42b1f4:	6a 5c                	push   $0x5c
42b1f6:	5a                   	pop    %edx
42b1f7:	8b cf                	mov    %edi,%ecx
42b1f9:	e8 49 1c 00 00       	call   0x42ce47
42b1fe:	85 c0                	test   %eax,%eax
42b200:	0f 85 ef 02 00 00    	jne    0x42b4f5
42b206:	39 45 10             	cmp    %eax,0x10(%ebp)
42b209:	0f 84 d8 00 00 00    	je     0x42b2e7
42b20f:	8b b5 e0 dd ff ff    	mov    -0x2220(%ebp),%esi
42b215:	8d 8d cc dd ff ff    	lea    -0x2234(%ebp),%ecx
42b21b:	68 1f 00 02 00       	push   $0x2001f
42b220:	57                   	push   %edi
42b221:	56                   	push   %esi
42b222:	e8 bf e6 ff ff       	call   0x4298e6
42b227:	85 c0                	test   %eax,%eax
42b229:	74 2e                	je     0x42b259
42b22b:	68 19 00 02 00       	push   $0x20019
42b230:	57                   	push   %edi
42b231:	56                   	push   %esi
42b232:	8d 8d cc dd ff ff    	lea    -0x2234(%ebp),%ecx
42b238:	e8 a9 e6 ff ff       	call   0x4298e6
42b23d:	85 c0                	test   %eax,%eax
42b23f:	74 18                	je     0x42b259
42b241:	83 ec 14             	sub    $0x14,%esp
42b244:	8d 8d cc dd ff ff    	lea    -0x2234(%ebp),%ecx
42b24a:	57                   	push   %edi
42b24b:	56                   	push   %esi
42b24c:	e8 a2 c3 ff ff       	call   0x4275f3
42b251:	85 c0                	test   %eax,%eax
42b253:	0f 85 99 01 00 00    	jne    0x42b3f2
42b259:	57                   	push   %edi
42b25a:	8b cb                	mov    %ebx,%ecx
42b25c:	e8 39 de ff ff       	call   0x42909a
42b261:	8b f0                	mov    %eax,%esi
42b263:	85 f6                	test   %esi,%esi
42b265:	0f 88 8f 02 00 00    	js     0x42b4fa
42b26b:	6a 3d                	push   $0x3d
42b26d:	58                   	pop    %eax
42b26e:	66 39 07             	cmp    %ax,(%edi)
42b271:	75 1c                	jne    0x42b28f
42b273:	57                   	push   %edi
42b274:	33 c0                	xor    %eax,%eax
42b276:	8b cb                	mov    %ebx,%ecx
42b278:	50                   	push   %eax
42b279:	8d 85 cc dd ff ff    	lea    -0x2234(%ebp),%eax
42b27f:	50                   	push   %eax
42b280:	e8 dd b8 ff ff       	call   0x426b62
42b285:	8b f0                	mov    %eax,%esi
42b287:	85 f6                	test   %esi,%esi
42b289:	0f 88 6b 02 00 00    	js     0x42b4fa
42b28f:	6a 7b                	push   $0x7b
42b291:	58                   	pop    %eax
42b292:	66 39 07             	cmp    %ax,(%edi)
42b295:	0f 85 1c 02 00 00    	jne    0x42b4b7
42b29b:	8b cf                	mov    %edi,%ecx
42b29d:	8d 51 02             	lea    0x2(%ecx),%edx
42b2a0:	66 8b 01             	mov    (%ecx),%ax
42b2a3:	83 c1 02             	add    $0x2,%ecx
42b2a6:	66 3b 85 b8 dd ff ff 	cmp    -0x2248(%ebp),%ax
42b2ad:	75 f1                	jne    0x42b2a0
42b2af:	2b ca                	sub    %edx,%ecx
42b2b1:	d1 f9                	sar    $1,%ecx
42b2b3:	83 f9 01             	cmp    $0x1,%ecx
42b2b6:	0f 85 fb 01 00 00    	jne    0x42b4b7
42b2bc:	33 c0                	xor    %eax,%eax
42b2be:	8b cb                	mov    %ebx,%ecx
42b2c0:	50                   	push   %eax
42b2c1:	ff 75 10             	push   0x10(%ebp)
42b2c4:	ff b5 cc dd ff ff    	push   -0x2234(%ebp)