40eacd:	c7 05 60 70 43 00 e0 	movl   $0x4371e0,0x437060
40ead4:	71 43 00
40ead7:	80 3f 00             	cmpb   $0x0,(%edi)
40eada:	75 05                	jne    0x40eae1
40eadc:	bf e0 71 43 00       	mov    $0x4371e0,%edi
40eae1:	8d 44 24 0c          	lea    0xc(%esp),%eax
40eae5:	8d 4c 24 08          	lea    0x8(%esp),%ecx
40eae9:	50                   	push   %eax
40eaea:	51                   	push   %ecx
40eaeb:	6a 00                	push   $0x0
40eaed:	6a 00                	push   $0x0
40eaef:	57                   	push   %edi
40eaf0:	e8 5b 00 00 00       	call   0x40eb50
40eaf5:	8b 54 24 20          	mov    0x20(%esp),%edx
40eaf9:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40eafd:	83 c4 14             	add    $0x14,%esp
40eb00:	8d 0c 82             	lea    (%edx,%eax,4),%ecx
40eb03:	51                   	push   %ecx
40eb04:	e8 b7 d9 ff ff       	call   0x40c4c0
40eb09:	8b f0                	mov    %eax,%esi
40eb0b:	83 c4 04             	add    $0x4,%esp
40eb0e:	85 f6                	test   %esi,%esi
40eb10:	75 0a                	jne    0x40eb1c
40eb12:	6a 08                	push   $0x8
40eb14:	e8 77 d8 ff ff       	call   0x40c390
40eb19:	83 c4 04             	add    $0x4,%esp
40eb1c:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40eb20:	8d 54 24 0c          	lea    0xc(%esp),%edx
40eb24:	52                   	push   %edx
40eb25:	8d 44 24 0c          	lea    0xc(%esp),%eax
40eb29:	8d 14 8e             	lea    (%esi,%ecx,4),%edx
40eb2c:	50                   	push   %eax
40eb2d:	52                   	push   %edx
40eb2e:	56                   	push   %esi
40eb2f:	57                   	push   %edi
40eb30:	e8 1b 00 00 00       	call   0x40eb50
40eb35:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40eb39:	83 c4 14             	add    $0x14,%esp
40eb3c:	48                   	dec    %eax
40eb3d:	89 35 48 70 43 00    	mov    %esi,0x437048
40eb43:	5f                   	pop    %edi
40eb44:	a3 44 70 43 00       	mov    %eax,0x437044
40eb49:	5e                   	pop    %esi
40eb4a:	83 c4 08             	add    $0x8,%esp
40eb4d:	c3                   	ret
40eb4e:	90                   	nop
40eb4f:	90                   	nop
40eb50:	8b 44 24 10          	mov    0x10(%esp),%eax
40eb54:	53                   	push   %ebx
40eb55:	55                   	push   %ebp
40eb56:	8b 6c 24 10          	mov    0x10(%esp),%ebp
40eb5a:	56                   	push   %esi
40eb5b:	8b 74 24 18          	mov    0x18(%esp),%esi
40eb5f:	57                   	push   %edi
40eb60:	8b 7c 24 24          	mov    0x24(%esp),%edi
40eb64:	85 ed                	test   %ebp,%ebp
40eb66:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
40eb6c:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40eb72:	8b 44 24 14          	mov    0x14(%esp),%eax
40eb76:	bb 04 00 00 00       	mov    $0x4,%ebx
40eb7b:	74 09                	je     0x40eb86
40eb7d:	89 75 00             	mov    %esi,0x0(%ebp)
40eb80:	03 eb                	add    %ebx,%ebp
40eb82:	89 6c 24 18          	mov    %ebp,0x18(%esp)
40eb86:	80 38 22             	cmpb   $0x22,(%eax)
40eb89:	75 56                	jne    0x40ebe1
40eb8b:	8a 48 01             	mov    0x1(%eax),%cl
40eb8e:	40                   	inc    %eax
40eb8f:	80 f9 22             	cmp    $0x22,%cl
40eb92:	74 38                	je     0x40ebcc
40eb94:	84 c9                	test   %cl,%cl
40eb96:	74 34                	je     0x40ebcc
40eb98:	81 e1 ff 00 00 00    	and    $0xff,%ecx
40eb9e:	84 99 79 70 43 00    	test   %bl,0x437079(%ecx)
40eba4:	74 0f                	je     0x40ebb5
40eba6:	8b 17                	mov    (%edi),%edx
40eba8:	42                   	inc    %edx
40eba9:	85 f6                	test   %esi,%esi
40ebab:	89 17                	mov    %edx,(%edi)
40ebad:	74 06                	je     0x40ebb5
40ebaf:	8a 08                	mov    (%eax),%cl
40ebb1:	88 0e                	mov    %cl,(%esi)
40ebb3:	46                   	inc    %esi
40ebb4:	40                   	inc    %eax
40ebb5:	8b 17                	mov    (%edi),%edx
40ebb7:	42                   	inc    %edx
40ebb8:	85 f6                	test   %esi,%esi
40ebba:	89 17                	mov    %edx,(%edi)
40ebbc:	74 05                	je     0x40ebc3
40ebbe:	8a 10                	mov    (%eax),%dl
40ebc0:	88 16                	mov    %dl,(%esi)
40ebc2:	46                   	inc    %esi
40ebc3:	8a 48 01             	mov    0x1(%eax),%cl
40ebc6:	40                   	inc    %eax
40ebc7:	80 f9 22             	cmp    $0x22,%cl
40ebca:	75 c8                	jne    0x40eb94
40ebcc:	8b 17                	mov    (%edi),%edx
40ebce:	42                   	inc    %edx
40ebcf:	85 f6                	test   %esi,%esi
40ebd1:	89 17                	mov    %edx,(%edi)
40ebd3:	74 04                	je     0x40ebd9
40ebd5:	c6 06 00             	movb   $0x0,(%esi)
40ebd8:	46                   	inc    %esi
40ebd9:	80 38 22             	cmpb   $0x22,(%eax)
40ebdc:	75 56                	jne    0x40ec34
40ebde:	40                   	inc    %eax
40ebdf:	eb 53                	jmp    0x40ec34
40ebe1:	8b 17                	mov    (%edi),%edx
40ebe3:	42                   	inc    %edx
40ebe4:	85 f6                	test   %esi,%esi
40ebe6:	89 17                	mov    %edx,(%edi)
40ebe8:	74 05                	je     0x40ebef
40ebea:	8a 08                	mov    (%eax),%cl
40ebec:	88 0e                	mov    %cl,(%esi)
40ebee:	46                   	inc    %esi
40ebef:	8a 08                	mov    (%eax),%cl
40ebf1:	40                   	inc    %eax
40ebf2:	88 4c 24 24          	mov    %cl,0x24(%esp)
40ebf6:	8b 54 24 24          	mov    0x24(%esp),%edx
40ebfa:	81 e2 ff 00 00 00    	and    $0xff,%edx
40ec00:	84 9a 79 70 43 00    	test   %bl,0x437079(%edx)
40ec06:	74 0f                	je     0x40ec17
40ec08:	8b 17                	mov    (%edi),%edx
40ec0a:	42                   	inc    %edx
40ec0b:	85 f6                	test   %esi,%esi
40ec0d:	89 17                	mov    %edx,(%edi)
40ec0f:	74 05                	je     0x40ec16
40ec11:	8a 10                	mov    (%eax),%dl
40ec13:	88 16                	mov    %dl,(%esi)
40ec15:	46                   	inc    %esi
40ec16:	40                   	inc    %eax
40ec17:	80 f9 20             	cmp    $0x20,%cl
40ec1a:	74 09                	je     0x40ec25
40ec1c:	84 c9                	test   %cl,%cl
40ec1e:	74 09                	je     0x40ec29
40ec20:	80 f9 09             	cmp    $0x9,%cl
40ec23:	75 bc                	jne    0x40ebe1
40ec25:	84 c9                	test   %cl,%cl
40ec27:	75 03                	jne    0x40ec2c
40ec29:	48                   	dec    %eax
40ec2a:	eb 08                	jmp    0x40ec34
40ec2c:	85 f6                	test   %esi,%esi
40ec2e:	74 04                	je     0x40ec34
40ec30:	c6 46 ff 00          	movb   $0x0,-0x1(%esi)
40ec34:	33 d2                	xor    %edx,%edx
40ec36:	89 54 24 24          	mov    %edx,0x24(%esp)
40ec3a:	80 38 00             	cmpb   $0x0,(%eax)
40ec3d:	0f 84 03 01 00 00    	je     0x40ed46
40ec43:	8a 08                	mov    (%eax),%cl
40ec45:	80 f9 20             	cmp    $0x20,%cl
40ec48:	74 05                	je     0x40ec4f
40ec4a:	80 f9 09             	cmp    $0x9,%cl
40ec4d:	75 03                	jne    0x40ec52
40ec4f:	40                   	inc    %eax
40ec50:	eb f1                	jmp    0x40ec43
40ec52:	80 38 00             	cmpb   $0x0,(%eax)
40ec55:	0f 84 eb 00 00 00    	je     0x40ed46
40ec5b:	85 ed                	test   %ebp,%ebp
40ec5d:	74 09                	je     0x40ec68
40ec5f:	89 75 00             	mov    %esi,0x0(%ebp)
40ec62:	03 eb                	add    %ebx,%ebp
40ec64:	89 6c 24 18          	mov    %ebp,0x18(%esp)
40ec68:	8b 4c 24 20          	mov    0x20(%esp),%ecx
40ec6c:	ff 01                	incl   (%ecx)
40ec6e:	8a 18                	mov    (%eax),%bl
40ec70:	33 c9                	xor    %ecx,%ecx
40ec72:	80 fb 5c             	cmp    $0x5c,%bl
40ec75:	bd 01 00 00 00       	mov    $0x1,%ebp
40ec7a:	75 0a                	jne    0x40ec86
40ec7c:	8a 58 01             	mov    0x1(%eax),%bl
40ec7f:	40                   	inc    %eax
40ec80:	41                   	inc    %ecx
40ec81:	80 fb 5c             	cmp    $0x5c,%bl
40ec84:	74 f6                	je     0x40ec7c
40ec86:	80 38 22             	cmpb   $0x22,(%eax)
40ec89:	75 25                	jne    0x40ecb0
40ec8b:	f6 c1 01             	test   $0x1,%cl
40ec8e:	75 1e                	jne    0x40ecae
40ec90:	85 d2                	test   %edx,%edx
40ec92:	74 09                	je     0x40ec9d
40ec94:	80 78 01 22          	cmpb   $0x22,0x1(%eax)
40ec98:	75 03                	jne    0x40ec9d
40ec9a:	40                   	inc    %eax
40ec9b:	eb 02                	jmp    0x40ec9f
40ec9d:	33 ed                	xor    %ebp,%ebp
40ec9f:	8b 5c 24 24          	mov    0x24(%esp),%ebx
40eca3:	33 d2                	xor    %edx,%edx
40eca5:	85 db                	test   %ebx,%ebx
40eca7:	0f 94 c2             	sete   %dl
40ecaa:	89 54 24 24          	mov    %edx,0x24(%esp)
40ecae:	d1 e9                	shr    $1,%ecx
40ecb0:	8b d9                	mov    %ecx,%ebx
40ecb2:	49                   	dec    %ecx
40ecb3:	85 db                	test   %ebx,%ebx
40ecb5:	74 11                	je     0x40ecc8
40ecb7:	41                   	inc    %ecx
40ecb8:	85 f6                	test   %esi,%esi
40ecba:	74 04                	je     0x40ecc0
40ecbc:	c6 06 5c             	movb   $0x5c,(%esi)
40ecbf:	46                   	inc    %esi
40ecc0:	8b 1f                	mov    (%edi),%ebx
40ecc2:	43                   	inc    %ebx
40ecc3:	49                   	dec    %ecx
40ecc4:	89 1f                	mov    %ebx,(%edi)
40ecc6:	75 f0                	jne    0x40ecb8
40ecc8:	8a 08                	mov    (%eax),%cl
40ecca:	84 c9                	test   %cl,%cl
40eccc:	74 5d                	je     0x40ed2b
40ecce:	85 d2                	test   %edx,%edx
40ecd0:	75 0a                	jne    0x40ecdc
40ecd2:	80 f9 20             	cmp    $0x20,%cl
40ecd5:	74 54                	je     0x40ed2b
40ecd7:	80 f9 09             	cmp    $0x9,%cl
40ecda:	74 4f                	je     0x40ed2b
40ecdc:	85 ed                	test   %ebp,%ebp
40ecde:	74 45                	je     0x40ed25
40ece0:	85 f6                	test   %esi,%esi
40ece2:	74 2a                	je     0x40ed0e
40ece4:	8b d9                	mov    %ecx,%ebx
40ece6:	81 e3 ff 00 00 00    	and    $0xff,%ebx
40ecec:	f6 83 79 70 43 00 04 	testb  $0x4,0x437079(%ebx)
40ecf3:	74 09                	je     0x40ecfe
40ecf5:	88 0e                	mov    %cl,(%esi)
40ecf7:	8b 0f                	mov    (%edi),%ecx
40ecf9:	46                   	inc    %esi
40ecfa:	40                   	inc    %eax
40ecfb:	41                   	inc    %ecx
40ecfc:	89 0f                	mov    %ecx,(%edi)
40ecfe:	8a 08                	mov    (%eax),%cl
40ed00:	88 0e                	mov    %cl,(%esi)
40ed02:	8b 0f                	mov    (%edi),%ecx
40ed04:	46                   	inc    %esi
40ed05:	41                   	inc    %ecx
40ed06:	89 0f                	mov    %ecx,(%edi)
40ed08:	40                   	inc    %eax
40ed09:	e9 60 ff ff ff       	jmp    0x40ec6e
40ed0e:	81 e1 ff 00 00 00    	and    $0xff,%ecx
40ed14:	f6 81 79 70 43 00 04 	testb  $0x4,0x437079(%ecx)
40ed1b:	74 06                	je     0x40ed23
40ed1d:	8b 0f                	mov    (%edi),%ecx
40ed1f:	40                   	inc    %eax
40ed20:	41                   	inc    %ecx
40ed21:	89 0f                	mov    %ecx,(%edi)
40ed23:	ff 07                	incl   (%edi)
40ed25:	40                   	inc    %eax
40ed26:	e9 43 ff ff ff       	jmp    0x40ec6e
40ed2b:	85 f6                	test   %esi,%esi
40ed2d:	74 04                	je     0x40ed33
40ed2f:	c6 06 00             	movb   $0x0,(%esi)
40ed32:	46                   	inc    %esi
40ed33:	8b 0f                	mov    (%edi),%ecx
40ed35:	8b 6c 24 18          	mov    0x18(%esp),%ebp
40ed39:	41                   	inc    %ecx
40ed3a:	bb 04 00 00 00       	mov    $0x4,%ebx
40ed3f:	89 0f                	mov    %ecx,(%edi)
40ed41:	e9 f4 fe ff ff       	jmp    0x40ec3a
40ed46:	85 ed                	test   %ebp,%ebp
40ed48:	74 07                	je     0x40ed51
40ed4a:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
40ed51:	8b 44 24 20          	mov    0x20(%esp),%eax
40ed55:	5f                   	pop    %edi
40ed56:	5e                   	pop    %esi
40ed57:	5d                   	pop    %ebp
40ed58:	8b 08                	mov    (%eax),%ecx
40ed5a:	5b                   	pop    %ebx
40ed5b:	41                   	inc    %ecx
40ed5c:	89 08                	mov    %ecx,(%eax)
40ed5e:	c3                   	ret
40ed5f:	90                   	nop
40ed60:	a1 e8 72 43 00       	mov    0x4372e8,%eax
40ed65:	53                   	push   %ebx
40ed66:	55                   	push   %ebp
40ed67:	8b 2d fc 95 43 00    	mov    0x4395fc,%ebp
40ed6d:	56                   	push   %esi
40ed6e:	33 f6                	xor    %esi,%esi
40ed70:	33 db                	xor    %ebx,%ebx
40ed72:	57                   	push   %edi
40ed73:	8b 3d 00 96 43 00    	mov    0x439600,%edi
40ed79:	85 c0                	test   %eax,%eax
40ed7b:	75 25                	jne    0x40eda2
40ed7d:	ff d7                	call   *%edi
40ed7f:	8b f0                	mov    %eax,%esi
40ed81:	85 f6                	test   %esi,%esi
40ed83:	74 07                	je     0x40ed8c
40ed85:	b8 01 00 00 00       	mov    $0x1,%eax
40ed8a:	eb 11                	jmp    0x40ed9d
40ed8c:	ff d5                	call   *%ebp
40ed8e:	8b d8                	mov    %eax,%ebx
40ed90:	85 db                	test   %ebx,%ebx
40ed92:	0f 84 17 01 00 00    	je     0x40eeaf
40ed98:	b8 02 00 00 00       	mov    $0x2,%eax
40ed9d:	a3 e8 72 43 00       	mov    %eax,0x4372e8
40eda2:	83 f8 01             	cmp    $0x1,%eax
40eda5:	0f 85 97 00 00 00    	jne    0x40ee42
40edab:	85 f6                	test   %esi,%esi
40edad:	75 0c                	jne    0x40edbb
40edaf:	ff d7                	call   *%edi
40edb1:	8b f0                	mov    %eax,%esi
40edb3:	85 f6                	test   %esi,%esi
40edb5:	0f 84 f4 00 00 00    	je     0x40eeaf
40edbb:	66 83 3e 00          	cmpw   $0x0,(%esi)
40edbf:	8b c6                	mov    %esi,%eax
40edc1:	74 12                	je     0x40edd5
40edc3:	83 c0 02             	add    $0x2,%eax
40edc6:	66 83 38 00          	cmpw   $0x0,(%eax)
40edca:	75 f7                	jne    0x40edc3
40edcc:	83 c0 02             	add    $0x2,%eax
40edcf:	66 83 38 00          	cmpw   $0x0,(%eax)
40edd3:	75 ee                	jne    0x40edc3
40edd5:	2b c6                	sub    %esi,%eax
40edd7:	6a 00                	push   $0x0
40edd9:	d1 f8                	sar    $1,%eax
40eddb:	40                   	inc    %eax
40eddc:	6a 00                	push   $0x0
40edde:	8b e8                	mov    %eax,%ebp
40ede0:	6a 00                	push   $0x0
40ede2:	6a 00                	push   $0x0
40ede4:	55                   	push   %ebp
40ede5:	56                   	push   %esi
40ede6:	6a 00                	push   $0x0
40ede8:	6a 00                	push   $0x0
40edea:	ff 15 f8 96 43 00    	call   *0x4396f8
40edf0:	8b f8                	mov    %eax,%edi
40edf2:	85 ff                	test   %edi,%edi
40edf4:	74 3e                	je     0x40ee34
40edf6:	57                   	push   %edi
40edf7:	e8 c4 d6 ff ff       	call   0x40c4c0
40edfc:	8b d8                	mov    %eax,%ebx
40edfe:	83 c4 04             	add    $0x4,%esp
40ee01:	85 db                	test   %ebx,%ebx
40ee03:	74 2f                	je     0x40ee34
40ee05:	6a 00                	push   $0x0
40ee07:	6a 00                	push   $0x0
40ee09:	57                   	push   %edi
40ee0a:	53                   	push   %ebx
40ee0b:	55                   	push   %ebp
40ee0c:	56                   	push   %esi
40ee0d:	6a 00                	push   $0x0
40ee0f:	6a 00                	push   $0x0
40ee11:	ff 15 f8 96 43 00    	call   *0x4396f8
40ee17:	85 c0                	test   %eax,%eax
40ee19:	75 0b                	jne    0x40ee26
40ee1b:	53                   	push   %ebx
40ee1c:	e8 6f d7 ff ff       	call   0x40c590
40ee21:	83 c4 04             	add    $0x4,%esp
40ee24:	33 db                	xor    %ebx,%ebx
40ee26:	56                   	push   %esi
40ee27:	ff 15 f8 95 43 00    	call   *0x4395f8
40ee2d:	8b c3                	mov    %ebx,%eax
40ee2f:	5f                   	pop    %edi