41e98e:	8b 45 f8             	mov    -0x8(%ebp),%eax
41e991:	50                   	push   %eax
41e992:	8b 45 fc             	mov    -0x4(%ebp),%eax
41e995:	50                   	push   %eax
41e996:	57                   	push   %edi
41e997:	e8 58 7a fe ff       	call   0x4063f4
41e99c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41e99f:	50                   	push   %eax
41e9a0:	57                   	push   %edi
41e9a1:	e8 2e 7a fe ff       	call   0x4063d4
41e9a6:	8b 45 e0             	mov    -0x20(%ebp),%eax
41e9a9:	50                   	push   %eax
41e9aa:	57                   	push   %edi
41e9ab:	e8 e4 79 fe ff       	call   0x406394
41e9b0:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
41e9b4:	74 0d                	je     0x41e9c3
41e9b6:	8b 45 e8             	mov    -0x18(%ebp),%eax
41e9b9:	50                   	push   %eax
41e9ba:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e9bd:	50                   	push   %eax
41e9be:	e8 c1 79 fe ff       	call   0x406384
41e9c3:	8b 45 ec             	mov    -0x14(%ebp),%eax
41e9c6:	50                   	push   %eax
41e9c7:	e8 90 78 fe ff       	call   0x40625c
41e9cc:	33 c0                	xor    %eax,%eax
41e9ce:	5a                   	pop    %edx
41e9cf:	59                   	pop    %ecx
41e9d0:	59                   	pop    %ecx
41e9d1:	64 89 10             	mov    %edx,%fs:(%eax)
41e9d4:	68 ff e9 41 00       	push   $0x41e9ff
41e9d9:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
41e9dd:	74 0f                	je     0x41e9ee
41e9df:	6a 00                	push   $0x0
41e9e1:	8b 45 dc             	mov    -0x24(%ebp),%eax
41e9e4:	50                   	push   %eax
41e9e5:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e9e8:	50                   	push   %eax
41e9e9:	e8 9e 79 fe ff       	call   0x40638c
41e9ee:	8b 45 f0             	mov    -0x10(%ebp),%eax
41e9f1:	50                   	push   %eax
41e9f2:	e8 55 78 fe ff       	call   0x40624c
41e9f7:	c3                   	ret
41e9f8:	e9 9f 4f fe ff       	jmp    0x40399c
41e9fd:	eb da                	jmp    0x41e9d9
41e9ff:	8a 45 f7             	mov    -0x9(%ebp),%al
41ea02:	5f                   	pop    %edi
41ea03:	5e                   	pop    %esi
41ea04:	5b                   	pop    %ebx
41ea05:	8b e5                	mov    %ebp,%esp
41ea07:	5d                   	pop    %ebp
41ea08:	c2 28 00             	ret    $0x28
41ea0b:	90                   	nop
41ea0c:	53                   	push   %ebx
41ea0d:	56                   	push   %esi
41ea0e:	57                   	push   %edi
41ea0f:	8b f0                	mov    %eax,%esi
41ea11:	8b fe                	mov    %esi,%edi
41ea13:	ba ff 00 00 00       	mov    $0xff,%edx
41ea18:	8d 04 97             	lea    (%edi,%edx,4),%eax
41ea1b:	8d 0c 52             	lea    (%edx,%edx,2),%ecx
41ea1e:	8d 0c 0e             	lea    (%esi,%ecx,1),%ecx
41ea21:	8a 59 02             	mov    0x2(%ecx),%bl
41ea24:	88 58 02             	mov    %bl,0x2(%eax)
41ea27:	8a 59 01             	mov    0x1(%ecx),%bl
41ea2a:	88 58 01             	mov    %bl,0x1(%eax)
41ea2d:	8a 09                	mov    (%ecx),%cl
41ea2f:	88 08                	mov    %cl,(%eax)
41ea31:	c6 40 03 00          	movb   $0x0,0x3(%eax)
41ea35:	4a                   	dec    %edx
41ea36:	85 d2                	test   %edx,%edx
41ea38:	75 de                	jne    0x41ea18
41ea3a:	c6 47 03 00          	movb   $0x0,0x3(%edi)
41ea3e:	5f                   	pop    %edi
41ea3f:	5e                   	pop    %esi
41ea40:	5b                   	pop    %ebx
41ea41:	c3                   	ret
41ea42:	8b c0                	mov    %eax,%eax
41ea44:	53                   	push   %ebx
41ea45:	56                   	push   %esi
41ea46:	57                   	push   %edi
41ea47:	83 c4 f8             	add    $0xfffffff8,%esp
41ea4a:	89 14 24             	mov    %edx,(%esp)
41ea4d:	8b f0                	mov    %eax,%esi
41ea4f:	89 74 24 04          	mov    %esi,0x4(%esp)
41ea53:	8b 3c 24             	mov    (%esp),%edi
41ea56:	8b 3f                	mov    (%edi),%edi
41ea58:	4f                   	dec    %edi
41ea59:	85 ff                	test   %edi,%edi
41ea5b:	7e 26                	jle    0x41ea83
41ea5d:	b9 01 00 00 00       	mov    $0x1,%ecx
41ea62:	8b 44 24 04          	mov    0x4(%esp),%eax
41ea66:	8d 04 88             	lea    (%eax,%ecx,4),%eax
41ea69:	8d 14 49             	lea    (%ecx,%ecx,2),%edx
41ea6c:	8d 14 16             	lea    (%esi,%edx,1),%edx
41ea6f:	8a 58 02             	mov    0x2(%eax),%bl
41ea72:	88 5a 02             	mov    %bl,0x2(%edx)
41ea75:	8a 58 01             	mov    0x1(%eax),%bl
41ea78:	88 5a 01             	mov    %bl,0x1(%edx)
41ea7b:	8a 00                	mov    (%eax),%al
41ea7d:	88 02                	mov    %al,(%edx)
41ea7f:	41                   	inc    %ecx
41ea80:	4f                   	dec    %edi
41ea81:	75 df                	jne    0x41ea62
41ea83:	8b 04 24             	mov    (%esp),%eax
41ea86:	81 38 00 01 00 00    	cmpl   $0x100,(%eax)
41ea8c:	7d 28                	jge    0x41eab6
41ea8e:	8b 04 24             	mov    (%esp),%eax
41ea91:	ba 00 01 00 00       	mov    $0x100,%edx
41ea96:	2b 10                	sub    (%eax),%edx
41ea98:	8d 14 52             	lea    (%edx,%edx,2),%edx
41ea9b:	8b 04 24             	mov    (%esp),%eax
41ea9e:	8b 00                	mov    (%eax),%eax
41eaa0:	8d 04 40             	lea    (%eax,%eax,2),%eax
41eaa3:	8d 04 06             	lea    (%esi,%eax,1),%eax
41eaa6:	33 c9                	xor    %ecx,%ecx
41eaa8:	e8 b7 41 fe ff       	call   0x402c64
41eaad:	8b 04 24             	mov    (%esp),%eax
41eab0:	c7 00 00 01 00 00    	movl   $0x100,(%eax)
41eab6:	59                   	pop    %ecx
41eab7:	5a                   	pop    %edx
41eab8:	5f                   	pop    %edi
41eab9:	5e                   	pop    %esi
41eaba:	5b                   	pop    %ebx
41eabb:	c3                   	ret
41eabc:	55                   	push   %ebp
41eabd:	8b ec                	mov    %esp,%ebp
41eabf:	83 c4 d4             	add    $0xffffffd4,%esp
41eac2:	89 55 f8             	mov    %edx,-0x8(%ebp)
41eac5:	89 45 fc             	mov    %eax,-0x4(%ebp)
41eac8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41eacb:	50                   	push   %eax
41eacc:	e8 cb 75 fe ff       	call   0x40609c
41ead1:	8b 55 fc             	mov    -0x4(%ebp),%edx
41ead4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41ead7:	49                   	dec    %ecx
41ead8:	78 33                	js     0x41eb0d
41eada:	8d 45 d4             	lea    -0x2c(%ebp),%eax
41eadd:	66 83 78 20 03       	cmpw   $0x3,0x20(%eax)
41eae2:	74 10                	je     0x41eaf4
41eae4:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
41eae7:	0f c8                	bswap  %eax
41eae9:	c1 e8 08             	shr    $0x8,%eax
41eaec:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
41eaef:	49                   	dec    %ecx
41eaf0:	79 f2                	jns    0x41eae4
41eaf2:	eb 19                	jmp    0x41eb0d
41eaf4:	53                   	push   %ebx
41eaf5:	31 db                	xor    %ebx,%ebx
41eaf7:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
41eafa:	88 c7                	mov    %al,%bh
41eafc:	88 e3                	mov    %ah,%bl
41eafe:	c1 e8 10             	shr    $0x10,%eax
41eb01:	c1 e3 08             	shl    $0x8,%ebx
41eb04:	88 c3                	mov    %al,%bl
41eb06:	89 1c 8a             	mov    %ebx,(%edx,%ecx,4)
41eb09:	49                   	dec    %ecx
41eb0a:	79 e9                	jns    0x41eaf5
41eb0c:	5b                   	pop    %ebx
41eb0d:	8b e5                	mov    %ebp,%esp
41eb0f:	5d                   	pop    %ebp
41eb10:	c3                   	ret
41eb11:	8d 40 00             	lea    0x0(%eax),%eax
41eb14:	55                   	push   %ebp
41eb15:	8b ec                	mov    %esp,%ebp
41eb17:	81 c4 f8 fb ff ff    	add    $0xfffffbf8,%esp
41eb1d:	53                   	push   %ebx
41eb1e:	66 c7 85 f8 fb ff ff 	movw   $0x300,-0x408(%ebp)
41eb25:	00 03
41eb27:	66 c7 85 fa fb ff ff 	movw   $0x10,-0x406(%ebp)
41eb2e:	10 00
41eb30:	8d 95 fc fb ff ff    	lea    -0x404(%ebp),%edx
41eb36:	b9 40 00 00 00       	mov    $0x40,%ecx
41eb3b:	e8 78 3d fe ff       	call   0x4028b8
41eb40:	6a 00                	push   $0x0
41eb42:	e8 55 7a fe ff       	call   0x40659c
41eb47:	89 45 fc             	mov    %eax,-0x4(%ebp)
41eb4a:	33 c0                	xor    %eax,%eax
41eb4c:	55                   	push   %ebp
41eb4d:	68 11 ec 41 00       	push   $0x41ec11
41eb52:	64 ff 30             	push   %fs:(%eax)
41eb55:	64 89 20             	mov    %esp,%fs:(%eax)
41eb58:	6a 68                	push   $0x68
41eb5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb5d:	50                   	push   %eax
41eb5e:	e8 49 77 fe ff       	call   0x4062ac
41eb63:	8b d8                	mov    %eax,%ebx
41eb65:	83 fb 10             	cmp    $0x10,%ebx
41eb68:	0f 8c 8a 00 00 00    	jl     0x41ebf8
41eb6e:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
41eb74:	50                   	push   %eax
41eb75:	6a 08                	push   $0x8
41eb77:	6a 00                	push   $0x0
41eb79:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eb7c:	50                   	push   %eax
41eb7d:	e8 6a 77 fe ff       	call   0x4062ec
41eb82:	81 bd 18 fc ff ff c0 	cmpl   $0xc0c0c0,-0x3e8(%ebp)
41eb89:	c0 c0 00
41eb8c:	75 4c                	jne    0x41ebda
41eb8e:	8d 85 18 fc ff ff    	lea    -0x3e8(%ebp),%eax
41eb94:	50                   	push   %eax
41eb95:	6a 01                	push   $0x1
41eb97:	8b c3                	mov    %ebx,%eax
41eb99:	83 e8 08             	sub    $0x8,%eax
41eb9c:	50                   	push   %eax
41eb9d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41eba0:	50                   	push   %eax
41eba1:	e8 46 77 fe ff       	call   0x4062ec
41eba6:	0f b7 85 fa fb ff ff 	movzwl -0x406(%ebp),%eax
41ebad:	8d 84 85 e0 fb ff ff 	lea    -0x420(%ebp,%eax,4),%eax
41ebb4:	50                   	push   %eax
41ebb5:	6a 07                	push   $0x7
41ebb7:	83 eb 07             	sub    $0x7,%ebx
41ebba:	53                   	push   %ebx
41ebbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebbe:	50                   	push   %eax
41ebbf:	e8 28 77 fe ff       	call   0x4062ec
41ebc4:	8d 85 1c fc ff ff    	lea    -0x3e4(%ebp),%eax
41ebca:	50                   	push   %eax
41ebcb:	6a 01                	push   $0x1
41ebcd:	6a 07                	push   $0x7
41ebcf:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebd2:	50                   	push   %eax
41ebd3:	e8 14 77 fe ff       	call   0x4062ec
41ebd8:	eb 1e                	jmp    0x41ebf8
41ebda:	0f b7 85 fa fb ff ff 	movzwl -0x406(%ebp),%eax
41ebe1:	8d 84 85 dc fb ff ff 	lea    -0x424(%ebp,%eax,4),%eax
41ebe8:	50                   	push   %eax
41ebe9:	6a 08                	push   $0x8
41ebeb:	83 eb 08             	sub    $0x8,%ebx
41ebee:	53                   	push   %ebx
41ebef:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ebf2:	50                   	push   %eax
41ebf3:	e8 f4 76 fe ff       	call   0x4062ec
41ebf8:	33 c0                	xor    %eax,%eax
41ebfa:	5a                   	pop    %edx
41ebfb:	59                   	pop    %ecx
41ebfc:	59                   	pop    %ecx
41ebfd:	64 89 10             	mov    %edx,%fs:(%eax)
41ec00:	68 18 ec 41 00       	push   $0x41ec18
41ec05:	8b 45 fc             	mov    -0x4(%ebp),%eax
41ec08:	50                   	push   %eax
41ec09:	6a 00                	push   $0x0
41ec0b:	e8 dc 7b fe ff       	call   0x4067ec
41ec10:	c3                   	ret
41ec11:	e9 86 4d fe ff       	jmp    0x40399c
41ec16:	eb ed                	jmp    0x41ec05
41ec18:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
41ec1e:	50                   	push   %eax
41ec1f:	e8 08 76 fe ff       	call   0x40622c
41ec24:	5b                   	pop    %ebx
41ec25:	8b e5                	mov    %ebp,%esp
41ec27:	5d                   	pop    %ebp
41ec28:	c3                   	ret
41ec29:	8d 40 00             	lea    0x0(%eax),%eax
41ec2c:	55                   	push   %ebp
41ec2d:	8b ec                	mov    %esp,%ebp
41ec2f:	83 c4 f8             	add    $0xfffffff8,%esp
41ec32:	53                   	push   %ebx
41ec33:	8b d8                	mov    %eax,%ebx
41ec35:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
41ec39:	83 3d 8c e8 46 00 00 	cmpl   $0x0,0x46e88c
41ec40:	74 77                	je     0x41ecb9
41ec42:	6a 00                	push   $0x0
41ec44:	e8 53 79 fe ff       	call   0x40659c
41ec49:	89 45 f8             	mov    %eax,-0x8(%ebp)
41ec4c:	33 d2                	xor    %edx,%edx
41ec4e:	55                   	push   %ebp
41ec4f:	68 b2 ec 41 00       	push   $0x41ecb2
41ec54:	64 ff 32             	push   %fs:(%edx)
41ec57:	64 89 22             	mov    %esp,%fs:(%edx)
41ec5a:	6a 68                	push   $0x68
41ec5c:	8b 45 f8             	mov    -0x8(%ebp),%eax
41ec5f:	50                   	push   %eax
41ec60:	e8 47 76 fe ff       	call   0x4062ac
41ec65:	83 f8 10             	cmp    $0x10,%eax
41ec68:	7c 2f                	jl     0x41ec99
41ec6a:	8d 43 04             	lea    0x4(%ebx),%eax
41ec6d:	50                   	push   %eax
41ec6e:	6a 08                	push   $0x8
41ec70:	6a 00                	push   $0x0
41ec72:	a1 8c e8 46 00       	mov    0x46e88c,%eax
41ec77:	50                   	push   %eax
41ec78:	e8 57 76 fe ff       	call   0x4062d4
41ec7d:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
41ec81:	8d 44 83 e4          	lea    -0x1c(%ebx,%eax,4),%eax
41ec85:	50                   	push   %eax
41ec86:	6a 08                	push   $0x8
41ec88:	6a 08                	push   $0x8
41ec8a:	a1 8c e8 46 00       	mov    0x46e88c,%eax
41ec8f:	50                   	push   %eax
41ec90:	e8 3f 76 fe ff       	call   0x4062d4
41ec95:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
41ec99:	33 c0                	xor    %eax,%eax
41ec9b:	5a                   	pop    %edx
41ec9c:	59                   	pop    %ecx
41ec9d:	59                   	pop    %ecx
41ec9e:	64 89 10             	mov    %edx,%fs:(%eax)
41eca1:	68 b9 ec 41 00       	push   $0x41ecb9
41eca6:	8b 45 f8             	mov    -0x8(%ebp),%eax
41eca9:	50                   	push   %eax
41ecaa:	6a 00                	push   $0x0
41ecac:	e8 3b 7b fe ff       	call   0x4067ec
41ecb1:	c3                   	ret
41ecb2:	e9 e5 4c fe ff       	jmp    0x40399c
41ecb7:	eb ed                	jmp    0x41eca6
41ecb9:	8a 45 ff             	mov    -0x1(%ebp),%al
41ecbc:	5b                   	pop    %ebx
41ecbd:	59                   	pop    %ecx
41ecbe:	59                   	pop    %ecx
41ecbf:	5d                   	pop    %ebp
41ecc0:	c3                   	ret
41ecc1:	8d 40 00             	lea    0x0(%eax),%eax
41ecc4:	53                   	push   %ebx
41ecc5:	56                   	push   %esi
41ecc6:	57                   	push   %edi
41ecc7:	81 c4 fc fb ff ff    	add    $0xfffffbfc,%esp
41eccd:	8b f8                	mov    %eax,%edi
41eccf:	33 f6                	xor    %esi,%esi
41ecd1:	66 c7 04 24 00 03    	movw   $0x300,(%esp)
41ecd7:	85 ff                	test   %edi,%edi
41ecd9:	74 38                	je     0x41ed13
41ecdb:	6a 00                	push   $0x0
41ecdd:	e8 22 75 fe ff       	call   0x406204
41ece2:	8b d8                	mov    %eax,%ebx
41ece4:	57                   	push   %edi
41ece5:	53                   	push   %ebx
41ece6:	e8 99 76 fe ff       	call   0x406384
41eceb:	8b f8                	mov    %eax,%edi
41eced:	8d 44 24 04          	lea    0x4(%esp),%eax
41ecf1:	50                   	push   %eax
41ecf2:	68 00 01 00 00       	push   $0x100
41ecf7:	6a 00                	push   $0x0
41ecf9:	53                   	push   %ebx
41ecfa:	e8 9d 75 fe ff       	call   0x40629c
41ecff:	66 89 44 24 02       	mov    %ax,0x2(%esp)
41ed04:	57                   	push   %edi
41ed05:	53                   	push   %ebx
41ed06:	e8 79 76 fe ff       	call   0x406384
41ed0b:	53                   	push   %ebx
41ed0c:	e8 3b 75 fe ff       	call   0x40624c
41ed11:	eb 13                	jmp    0x41ed26
41ed13:	66 89 4c 24 02       	mov    %cx,0x2(%esp)
41ed18:	8b c2                	mov    %edx,%eax
41ed1a:	8d 54 24 04          	lea    0x4(%esp),%edx
41ed1e:	c1 e1 02             	shl    $0x2,%ecx
41ed21:	e8 92 3b fe ff       	call   0x4028b8
41ed26:	66 83 7c 24 02 00    	cmpw   $0x0,0x2(%esp)
41ed2c:	74 2b                	je     0x41ed59
41ed2e:	66 83 7c 24 02 10    	cmpw   $0x10,0x2(%esp)
41ed34:	75 0b                	jne    0x41ed41