41abf4:	53                   	push   %ebx
41abf5:	56                   	push   %esi
41abf6:	57                   	push   %edi
41abf7:	84 d2                	test   %dl,%dl
41abf9:	74 08                	je     0x41ac03
41abfb:	83 c4 f0             	add    $0xfffffff0,%esp
41abfe:	e8 d9 91 fe ff       	call   0x403ddc
41ac03:	8b da                	mov    %edx,%ebx
41ac05:	8b f8                	mov    %eax,%edi
41ac07:	33 d2                	xor    %edx,%edx
41ac09:	8b c7                	mov    %edi,%eax
41ac0b:	e8 38 8e fe ff       	call   0x403a48
41ac10:	b2 01                	mov    $0x1,%dl
41ac12:	a1 24 94 41 00       	mov    0x419424,%eax
41ac17:	e8 2c 8e fe ff       	call   0x403a48
41ac1c:	89 47 04             	mov    %eax,0x4(%edi)
41ac1f:	8d 47 08             	lea    0x8(%edi),%eax
41ac22:	50                   	push   %eax
41ac23:	e8 d0 c6 fe ff       	call   0x4072f8
41ac28:	8b 0d 34 95 41 00    	mov    0x419534,%ecx
41ac2e:	b2 01                	mov    $0x1,%dl
41ac30:	a1 f4 a6 41 00       	mov    0x41a6f4,%eax
41ac35:	e8 46 fc ff ff       	call   0x41a880
41ac3a:	8b f0                	mov    %eax,%esi
41ac3c:	8b 47 04             	mov    0x4(%edi),%eax
41ac3f:	8b d6                	mov    %esi,%edx
41ac41:	e8 ce 0f 00 00       	call   0x41bc14
41ac46:	c6 46 10 01          	movb   $0x1,0x10(%esi)
41ac4a:	8b c7                	mov    %edi,%eax
41ac4c:	84 db                	test   %bl,%bl
41ac4e:	74 0f                	je     0x41ac5f
41ac50:	e8 df 91 fe ff       	call   0x403e34
41ac55:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41ac5c:	83 c4 0c             	add    $0xc,%esp
41ac5f:	8b c7                	mov    %edi,%eax
41ac61:	5f                   	pop    %edi
41ac62:	5e                   	pop    %esi
41ac63:	5b                   	pop    %ebx
41ac64:	c3                   	ret
41ac65:	8d 40 00             	lea    0x0(%eax),%eax
41ac68:	53                   	push   %ebx
41ac69:	56                   	push   %esi
41ac6a:	57                   	push   %edi
41ac6b:	55                   	push   %ebp
41ac6c:	e8 d3 91 fe ff       	call   0x403e44
41ac71:	8b da                	mov    %edx,%ebx
41ac73:	8b f0                	mov    %eax,%esi
41ac75:	8d 46 08             	lea    0x8(%esi),%eax
41ac78:	50                   	push   %eax
41ac79:	e8 82 c4 fe ff       	call   0x407100
41ac7e:	8b 46 04             	mov    0x4(%esi),%eax
41ac81:	8b 68 08             	mov    0x8(%eax),%ebp
41ac84:	4d                   	dec    %ebp
41ac85:	85 ed                	test   %ebp,%ebp
41ac87:	7c 16                	jl     0x41ac9f
41ac89:	45                   	inc    %ebp
41ac8a:	33 ff                	xor    %edi,%edi
41ac8c:	8b 46 04             	mov    0x4(%esi),%eax
41ac8f:	8b d7                	mov    %edi,%edx
41ac91:	e8 2a 11 00 00       	call   0x41bdc0
41ac96:	e8 dd 8d fe ff       	call   0x403a78
41ac9b:	47                   	inc    %edi
41ac9c:	4d                   	dec    %ebp
41ac9d:	75 ed                	jne    0x41ac8c
41ac9f:	8b 46 04             	mov    0x4(%esi),%eax
41aca2:	e8 d1 8d fe ff       	call   0x403a78
41aca7:	8b d3                	mov    %ebx,%edx
41aca9:	80 e2 fc             	and    $0xfc,%dl
41acac:	8b c6                	mov    %esi,%eax
41acae:	e8 b5 8d fe ff       	call   0x403a68
41acb3:	84 db                	test   %bl,%bl
41acb5:	7e 07                	jle    0x41acbe
41acb7:	8b c6                	mov    %esi,%eax
41acb9:	e8 6e 91 fe ff       	call   0x403e2c
41acbe:	5d                   	pop    %ebp
41acbf:	5f                   	pop    %edi
41acc0:	5e                   	pop    %esi
41acc1:	5b                   	pop    %ebx
41acc2:	c3                   	ret
41acc3:	90                   	nop
41acc4:	53                   	push   %ebx
41acc5:	56                   	push   %esi
41acc6:	57                   	push   %edi
41acc7:	55                   	push   %ebp
41acc8:	51                   	push   %ecx
41acc9:	89 14 24             	mov    %edx,(%esp)
41accc:	8b e8                	mov    %eax,%ebp
41acce:	33 f6                	xor    %esi,%esi
41acd0:	8b 45 04             	mov    0x4(%ebp),%eax
41acd3:	8b 58 08             	mov    0x8(%eax),%ebx
41acd6:	4b                   	dec    %ebx
41acd7:	85 db                	test   %ebx,%ebx
41acd9:	7c 25                	jl     0x41ad00
41acdb:	43                   	inc    %ebx
41acdc:	33 ff                	xor    %edi,%edi
41acde:	8b 45 04             	mov    0x4(%ebp),%eax
41ace1:	8b d7                	mov    %edi,%edx
41ace3:	e8 d8 10 00 00       	call   0x41bdc0
41ace8:	8b 14 24             	mov    (%esp),%edx
41aceb:	52                   	push   %edx
41acec:	8b ce                	mov    %esi,%ecx
41acee:	8b d0                	mov    %eax,%edx
41acf0:	a1 f4 a6 41 00       	mov    0x41a6f4,%eax
41acf5:	e8 16 fb ff ff       	call   0x41a810
41acfa:	8b f0                	mov    %eax,%esi
41acfc:	47                   	inc    %edi
41acfd:	4b                   	dec    %ebx
41acfe:	75 de                	jne    0x41acde
41ad00:	8b c6                	mov    %esi,%eax
41ad02:	5a                   	pop    %edx
41ad03:	5d                   	pop    %ebp
41ad04:	5f                   	pop    %edi
41ad05:	5e                   	pop    %esi
41ad06:	5b                   	pop    %ebx
41ad07:	c3                   	ret
41ad08:	53                   	push   %ebx
41ad09:	56                   	push   %esi
41ad0a:	57                   	push   %edi
41ad0b:	55                   	push   %ebp
41ad0c:	51                   	push   %ecx
41ad0d:	89 14 24             	mov    %edx,(%esp)
41ad10:	8b e8                	mov    %eax,%ebp
41ad12:	33 ff                	xor    %edi,%edi
41ad14:	8b 45 04             	mov    0x4(%ebp),%eax
41ad17:	8b 58 08             	mov    0x8(%eax),%ebx
41ad1a:	4b                   	dec    %ebx
41ad1b:	85 db                	test   %ebx,%ebx
41ad1d:	7c 25                	jl     0x41ad44
41ad1f:	43                   	inc    %ebx
41ad20:	33 f6                	xor    %esi,%esi
41ad22:	8b 45 04             	mov    0x4(%ebp),%eax
41ad25:	8b d6                	mov    %esi,%edx
41ad27:	e8 94 10 00 00       	call   0x41bdc0
41ad2c:	80 78 10 00          	cmpb   $0x0,0x10(%eax)
41ad30:	74 0a                	je     0x41ad3c
41ad32:	8b 14 24             	mov    (%esp),%edx
41ad35:	e8 02 fc ff ff       	call   0x41a93c
41ad3a:	8b f8                	mov    %eax,%edi
41ad3c:	85 ff                	test   %edi,%edi
41ad3e:	75 04                	jne    0x41ad44
41ad40:	46                   	inc    %esi
41ad41:	4b                   	dec    %ebx
41ad42:	75 de                	jne    0x41ad22
41ad44:	8b c7                	mov    %edi,%eax
41ad46:	5a                   	pop    %edx
41ad47:	5d                   	pop    %ebp
41ad48:	5f                   	pop    %edi
41ad49:	5e                   	pop    %esi
41ad4a:	5b                   	pop    %ebx
41ad4b:	c3                   	ret
41ad4c:	55                   	push   %ebp
41ad4d:	8b ec                	mov    %esp,%ebp
41ad4f:	81 c4 f4 fe ff ff    	add    $0xfffffef4,%esp
41ad55:	33 c0                	xor    %eax,%eax
41ad57:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
41ad5d:	33 c0                	xor    %eax,%eax
41ad5f:	55                   	push   %ebp
41ad60:	68 cf ad 41 00       	push   $0x41adcf
41ad65:	64 ff 30             	push   %fs:(%eax)
41ad68:	64 89 20             	mov    %esp,%fs:(%eax)
41ad6b:	8d 95 f8 fe ff ff    	lea    -0x108(%ebp),%edx
41ad71:	8b 45 08             	mov    0x8(%ebp),%eax
41ad74:	8b 40 fc             	mov    -0x4(%eax),%eax
41ad77:	e8 4c 8c fe ff       	call   0x4039c8
41ad7c:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
41ad82:	89 45 f8             	mov    %eax,-0x8(%ebp)
41ad85:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
41ad89:	8d 45 f8             	lea    -0x8(%ebp),%eax
41ad8c:	50                   	push   %eax
41ad8d:	6a 00                	push   $0x0
41ad8f:	8d 95 f4 fe ff ff    	lea    -0x10c(%ebp),%edx
41ad95:	a1 dc 71 6a 00       	mov    0x6a71dc,%eax
41ad9a:	e8 7d bf fe ff       	call   0x406d1c
41ad9f:	8b 8d f4 fe ff ff    	mov    -0x10c(%ebp),%ecx
41ada5:	b2 01                	mov    $0x1,%dl
41ada7:	a1 3c 90 41 00       	mov    0x41903c,%eax
41adac:	e8 d3 20 ff ff       	call   0x40ce84
41adb1:	e8 8e 94 fe ff       	call   0x404244
41adb6:	33 c0                	xor    %eax,%eax
41adb8:	5a                   	pop    %edx
41adb9:	59                   	pop    %ecx
41adba:	59                   	pop    %ecx
41adbb:	64 89 10             	mov    %edx,%fs:(%eax)
41adbe:	68 d6 ad 41 00       	push   $0x41add6
41adc3:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
41adc9:	e8 9a 9a fe ff       	call   0x404868
41adce:	c3                   	ret
41adcf:	e9 38 94 fe ff       	jmp    0x40420c
41add4:	eb ed                	jmp    0x41adc3
41add6:	8b e5                	mov    %ebp,%esp
41add8:	5d                   	pop    %ebp
41add9:	c3                   	ret
41adda:	8b c0                	mov    %eax,%eax
41addc:	55                   	push   %ebp
41addd:	8b ec                	mov    %esp,%ebp
41addf:	83 c4 e8             	add    $0xffffffe8,%esp
41ade2:	53                   	push   %ebx
41ade3:	56                   	push   %esi
41ade4:	57                   	push   %edi
41ade5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41ade8:	89 55 f4             	mov    %edx,-0xc(%ebp)
41adeb:	89 45 f8             	mov    %eax,-0x8(%ebp)
41adee:	8b 55 fc             	mov    -0x4(%ebp),%edx
41adf1:	8b 45 f8             	mov    -0x8(%ebp),%eax
41adf4:	e8 cb fe ff ff       	call   0x41acc4
41adf9:	89 45 f0             	mov    %eax,-0x10(%ebp)
41adfc:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
41ae00:	75 07                	jne    0x41ae09
41ae02:	55                   	push   %ebp
41ae03:	e8 44 ff ff ff       	call   0x41ad4c
41ae08:	59                   	pop    %ecx
41ae09:	8b 55 f4             	mov    -0xc(%ebp),%edx
41ae0c:	8b 45 f0             	mov    -0x10(%ebp),%eax
41ae0f:	e8 90 f9 ff ff       	call   0x41a7a4
41ae14:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ae17:	8b 40 04             	mov    0x4(%eax),%eax
41ae1a:	8b 40 08             	mov    0x8(%eax),%eax
41ae1d:	48                   	dec    %eax
41ae1e:	85 c0                	test   %eax,%eax
41ae20:	7c 7a                	jl     0x41ae9c
41ae22:	40                   	inc    %eax
41ae23:	89 45 e8             	mov    %eax,-0x18(%ebp)
41ae26:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
41ae2d:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ae30:	8b 40 04             	mov    0x4(%eax),%eax
41ae33:	8b 55 ec             	mov    -0x14(%ebp),%edx
41ae36:	e8 85 0f 00 00       	call   0x41bdc0
41ae3b:	8b f8                	mov    %eax,%edi
41ae3d:	3b 7d f0             	cmp    -0x10(%ebp),%edi
41ae40:	74 52                	je     0x41ae94
41ae42:	8b 47 04             	mov    0x4(%edi),%eax
41ae45:	8b 58 08             	mov    0x8(%eax),%ebx
41ae48:	4b                   	dec    %ebx
41ae49:	83 fb 00             	cmp    $0x0,%ebx
41ae4c:	7c 46                	jl     0x41ae94
41ae4e:	8b 47 04             	mov    0x4(%edi),%eax
41ae51:	8b d3                	mov    %ebx,%edx
41ae53:	e8 68 0f 00 00       	call   0x41bdc0
41ae58:	8b f0                	mov    %eax,%esi
41ae5a:	8b 55 f4             	mov    -0xc(%ebp),%edx
41ae5d:	8b c6                	mov    %esi,%eax
41ae5f:	e8 40 8e fe ff       	call   0x403ca4
41ae64:	84 c0                	test   %al,%al
41ae66:	74 26                	je     0x41ae8e
41ae68:	8b d6                	mov    %esi,%edx
41ae6a:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ae6d:	e8 52 fe ff ff       	call   0x41acc4
41ae72:	3b 45 f0             	cmp    -0x10(%ebp),%eax
41ae75:	75 17                	jne    0x41ae8e
41ae77:	8b 47 04             	mov    0x4(%edi),%eax
41ae7a:	8b d3                	mov    %ebx,%edx
41ae7c:	e8 df 0d 00 00       	call   0x41bc60
41ae81:	8b 45 f0             	mov    -0x10(%ebp),%eax
41ae84:	8b 40 04             	mov    0x4(%eax),%eax
41ae87:	8b d6                	mov    %esi,%edx
41ae89:	e8 86 0d 00 00       	call   0x41bc14
41ae8e:	4b                   	dec    %ebx
41ae8f:	83 fb ff             	cmp    $0xffffffff,%ebx
41ae92:	75 ba                	jne    0x41ae4e
41ae94:	ff 45 ec             	incl   -0x14(%ebp)
41ae97:	ff 4d e8             	decl   -0x18(%ebp)
41ae9a:	75 91                	jne    0x41ae2d
41ae9c:	5f                   	pop    %edi
41ae9d:	5e                   	pop    %esi
41ae9e:	5b                   	pop    %ebx
41ae9f:	8b e5                	mov    %ebp,%esp
41aea1:	5d                   	pop    %ebp
41aea2:	c3                   	ret
41aea3:	90                   	nop
41aea4:	83 c0 08             	add    $0x8,%eax
41aea7:	50                   	push   %eax
41aea8:	e8 63 c2 fe ff       	call   0x407110
41aead:	c3                   	ret
41aeae:	8b c0                	mov    %eax,%eax
41aeb0:	53                   	push   %ebx
41aeb1:	8b da                	mov    %edx,%ebx
41aeb3:	8b d3                	mov    %ebx,%edx
41aeb5:	e8 0a fe ff ff       	call   0x41acc4
41aeba:	85 c0                	test   %eax,%eax
41aebc:	74 07                	je     0x41aec5
41aebe:	8b d3                	mov    %ebx,%edx
41aec0:	e8 1b fb ff ff       	call   0x41a9e0
41aec5:	5b                   	pop    %ebx
41aec6:	c3                   	ret
41aec7:	90                   	nop
41aec8:	53                   	push   %ebx
41aec9:	56                   	push   %esi
41aeca:	57                   	push   %edi
41aecb:	55                   	push   %ebp
41aecc:	51                   	push   %ecx
41aecd:	8b ea                	mov    %edx,%ebp
41aecf:	8b f8                	mov    %eax,%edi
41aed1:	c6 04 24 01          	movb   $0x1,(%esp)
41aed5:	8b 47 04             	mov    0x4(%edi),%eax
41aed8:	8b 58 08             	mov    0x8(%eax),%ebx
41aedb:	4b                   	dec    %ebx
41aedc:	85 db                	test   %ebx,%ebx
41aede:	7c 1c                	jl     0x41aefc
41aee0:	43                   	inc    %ebx
41aee1:	33 f6                	xor    %esi,%esi
41aee3:	8b 47 04             	mov    0x4(%edi),%eax
41aee6:	8b d6                	mov    %esi,%edx
41aee8:	e8 d3 0e 00 00       	call   0x41bdc0
41aeed:	8b d5                	mov    %ebp,%edx
41aeef:	e8 94 fb ff ff       	call   0x41aa88
41aef4:	84 c0                	test   %al,%al
41aef6:	75 08                	jne    0x41af00
41aef8:	46                   	inc    %esi
41aef9:	4b                   	dec    %ebx
41aefa:	75 e7                	jne    0x41aee3
41aefc:	c6 04 24 00          	movb   $0x0,(%esp)
41af00:	8a 04 24             	mov    (%esp),%al
41af03:	5a                   	pop    %edx
41af04:	5d                   	pop    %ebp
41af05:	5f                   	pop    %edi
41af06:	5e                   	pop    %esi
41af07:	5b                   	pop    %ebx
41af08:	c3                   	ret
41af09:	8d 40 00             	lea    0x0(%eax),%eax
41af0c:	53                   	push   %ebx
41af0d:	56                   	push   %esi
41af0e:	57                   	push   %edi
41af0f:	55                   	push   %ebp
41af10:	8b ea                	mov    %edx,%ebp
41af12:	8b f8                	mov    %eax,%edi
41af14:	8b 47 04             	mov    0x4(%edi),%eax
41af17:	8b 58 08             	mov    0x8(%eax),%ebx
41af1a:	4b                   	dec    %ebx
41af1b:	85 db                	test   %ebx,%ebx
41af1d:	7c 1f                	jl     0x41af3e
41af1f:	43                   	inc    %ebx
41af20:	33 f6                	xor    %esi,%esi
41af22:	8b 47 04             	mov    0x4(%edi),%eax
41af25:	8b d6                	mov    %esi,%edx
41af27:	e8 94 0e 00 00       	call   0x41bdc0
41af2c:	8b 40 0c             	mov    0xc(%eax),%eax
41af2f:	8b d5                	mov    %ebp,%edx
41af31:	e8 e6 0e 00 00       	call   0x41be1c
41af36:	85 c0                	test   %eax,%eax
41af38:	7d 1c                	jge    0x41af56
41af3a:	46                   	inc    %esi
41af3b:	4b                   	dec    %ebx
41af3c:	75 e4                	jne    0x41af22
41af3e:	8b cd                	mov    %ebp,%ecx
41af40:	b2 01                	mov    $0x1,%dl
41af42:	a1 f4 a6 41 00       	mov    0x41a6f4,%eax
41af47:	e8 34 f9 ff ff       	call   0x41a880
41af4c:	8b d0                	mov    %eax,%edx
41af4e:	8b 47 04             	mov    0x4(%edi),%eax
41af51:	e8 be 0c 00 00       	call   0x41bc14