41e944:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
41e94a:	8b 85 d8 fd ff ff    	mov    -0x228(%ebp),%eax
41e950:	03 c0                	add    %eax,%eax
41e952:	50                   	push   %eax
41e953:	ff b5 d0 fd ff ff    	push   -0x230(%ebp)
41e959:	6a 01                	push   $0x1
41e95b:	53                   	push   %ebx
41e95c:	ff 77 04             	push   0x4(%edi)
41e95f:	51                   	push   %ecx
41e960:	ff 15 3c c0 42 00    	call   *0x42c03c
41e966:	85 c0                	test   %eax,%eax
41e968:	74 32                	je     0x41e99c
41e96a:	ff 15 18 c2 42 00    	call   *0x42c218
41e970:	8b f0                	mov    %eax,%esi
41e972:	85 f6                	test   %esi,%esi
41e974:	7e 09                	jle    0x41e97f
41e976:	0f b7 f6             	movzwl %si,%esi
41e979:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41e97f:	a1 00 b0 42 00       	mov    0x42b000,%eax
41e984:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41e989:	74 50                	je     0x41e9db
41e98b:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41e98f:	74 4a                	je     0x41e9db
41e991:	56                   	push   %esi
41e992:	ff 70 14             	push   0x14(%eax)
41e995:	ff 70 10             	push   0x10(%eax)
41e998:	6a 31                	push   $0x31
41e99a:	eb 34                	jmp    0x41e9d0
41e99c:	8b f3                	mov    %ebx,%esi
41e99e:	eb 3b                	jmp    0x41e9db
41e9a0:	ff 15 18 c2 42 00    	call   *0x42c218
41e9a6:	8b f0                	mov    %eax,%esi
41e9a8:	85 f6                	test   %esi,%esi
41e9aa:	7e 09                	jle    0x41e9b5
41e9ac:	0f b7 f6             	movzwl %si,%esi
41e9af:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41e9b5:	a1 00 b0 42 00       	mov    0x42b000,%eax
41e9ba:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41e9bf:	74 1a                	je     0x41e9db
41e9c1:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41e9c5:	74 14                	je     0x41e9db
41e9c7:	56                   	push   %esi
41e9c8:	ff 70 14             	push   0x14(%eax)
41e9cb:	ff 70 10             	push   0x10(%eax)
41e9ce:	6a 2f                	push   $0x2f
41e9d0:	ba c4 4c 40 00       	mov    $0x404cc4,%edx
41e9d5:	59                   	pop    %ecx
41e9d6:	e8 f3 89 fe ff       	call   0x4073ce
41e9db:	83 bd e4 fd ff ff 00 	cmpl   $0x0,-0x21c(%ebp)
41e9e2:	74 12                	je     0x41e9f6
41e9e4:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
41e9ea:	ff 15 44 c0 42 00    	call   *0x42c044
41e9f0:	89 9d e4 fd ff ff    	mov    %ebx,-0x21c(%ebp)
41e9f6:	6a 01                	push   $0x1
41e9f8:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
41e9fe:	e8 22 e2 fe ff       	call   0x40cc25
41ea03:	8b c6                	mov    %esi,%eax
41ea05:	e8 40 96 00 00       	call   0x42804a
41ea0a:	c3                   	ret
41ea0b:	8b ff                	mov    %edi,%edi
41ea0d:	55                   	push   %ebp
41ea0e:	8b ec                	mov    %esp,%ebp
41ea10:	81 ec 24 02 00 00    	sub    $0x224,%esp
41ea16:	a1 74 b6 42 00       	mov    0x42b674,%eax
41ea1b:	33 c5                	xor    %ebp,%eax
41ea1d:	89 45 fc             	mov    %eax,-0x4(%ebp)
41ea20:	53                   	push   %ebx
41ea21:	56                   	push   %esi
41ea22:	57                   	push   %edi
41ea23:	33 c0                	xor    %eax,%eax
41ea25:	c7 85 e0 fd ff ff 08 	movl   $0x208,-0x220(%ebp)
41ea2c:	02 00 00
41ea2f:	66 89 85 f0 fd ff ff 	mov    %ax,-0x210(%ebp)
41ea36:	8b d9                	mov    %ecx,%ebx
41ea38:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
41ea3e:	89 9d e8 fd ff ff    	mov    %ebx,-0x218(%ebp)
41ea44:	50                   	push   %eax
41ea45:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
41ea4b:	33 f6                	xor    %esi,%esi
41ea4d:	50                   	push   %eax
41ea4e:	56                   	push   %esi
41ea4f:	6a 02                	push   $0x2
41ea51:	ff 73 04             	push   0x4(%ebx)
41ea54:	89 b5 e4 fd ff ff    	mov    %esi,-0x21c(%ebp)
41ea5a:	68 30 4c 40 00       	push   $0x404c30
41ea5f:	68 01 00 00 80       	push   $0x80000001
41ea64:	ff 15 28 c0 42 00    	call   *0x42c028
41ea6a:	85 c0                	test   %eax,%eax
41ea6c:	0f 85 5a 02 00 00    	jne    0x41eccc
41ea72:	83 bd e0 fd ff ff 02 	cmpl   $0x2,-0x220(%ebp)
41ea79:	0f 82 4d 02 00 00    	jb     0x41eccc
41ea7f:	8d bd f0 fd ff ff    	lea    -0x210(%ebp),%edi
41ea85:	8d 4f 02             	lea    0x2(%edi),%ecx
41ea88:	66 8b 07             	mov    (%edi),%ax
41ea8b:	83 c7 02             	add    $0x2,%edi
41ea8e:	66 3b c6             	cmp    %si,%ax
41ea91:	75 f5                	jne    0x41ea88
41ea93:	2b f9                	sub    %ecx,%edi
41ea95:	d1 ff                	sar    $1,%edi
41ea97:	83 ff 0b             	cmp    $0xb,%edi
41ea9a:	0f 82 0e 01 00 00    	jb     0x41ebae
41eaa0:	6a 16                	push   $0x16
41eaa2:	58                   	pop    %eax
41eaa3:	8b de                	mov    %esi,%ebx
41eaa5:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
41eaab:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
41eab1:	83 c1 ea             	add    $0xffffffea,%ecx
41eab4:	6a 0b                	push   $0xb
41eab6:	03 c1                	add    %ecx,%eax
41eab8:	68 18 4c 40 00       	push   $0x404c18
41eabd:	50                   	push   %eax
41eabe:	ff 15 34 c3 42 00    	call   *0x42c334
41eac4:	83 c4 0c             	add    $0xc,%esp
41eac7:	85 c0                	test   %eax,%eax
41eac9:	75 75                	jne    0x41eb40
41eacb:	85 db                	test   %ebx,%ebx
41eacd:	74 1a                	je     0x41eae9
41eacf:	8b 8d ec fd ff ff    	mov    -0x214(%ebp),%ecx
41ead5:	0f b7 84 0d d8 fd ff 	movzwl -0x228(%ebp,%ecx,1),%eax
41eadc:	ff
41eadd:	50                   	push   %eax
41eade:	ff 15 10 c3 42 00    	call   *0x42c310
41eae4:	59                   	pop    %ecx
41eae5:	85 c0                	test   %eax,%eax
41eae7:	74 57                	je     0x41eb40
41eae9:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
41eaef:	0f b7 84 05 f0 fd ff 	movzwl -0x210(%ebp,%eax,1),%eax
41eaf6:	ff
41eaf7:	50                   	push   %eax
41eaf8:	ff 15 10 c3 42 00    	call   *0x42c310
41eafe:	59                   	pop    %ecx
41eaff:	85 c0                	test   %eax,%eax
41eb01:	75 10                	jne    0x41eb13
41eb03:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
41eb09:	66 39 b4 05 f0 fd ff 	cmp    %si,-0x210(%ebp,%eax,1)
41eb10:	ff
41eb11:	75 33                	jne    0x41eb46
41eb13:	8b d3                	mov    %ebx,%edx
41eb15:	8d 43 ff             	lea    -0x1(%ebx),%eax
41eb18:	f7 da                	neg    %edx
41eb1a:	1b d2                	sbb    %edx,%edx
41eb1c:	23 d0                	and    %eax,%edx
41eb1e:	8d 43 0b             	lea    0xb(%ebx),%eax
41eb21:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
41eb24:	3b c7                	cmp    %edi,%eax
41eb26:	72 35                	jb     0x41eb5d
41eb28:	81 f9 08 02 00 00    	cmp    $0x208,%ecx
41eb2e:	0f 83 f9 01 00 00    	jae    0x41ed2d
41eb34:	33 c0                	xor    %eax,%eax
41eb36:	66 89 84 0d f0 fd ff 	mov    %ax,-0x210(%ebp,%ecx,1)
41eb3d:	ff
41eb3e:	eb 68                	jmp    0x41eba8
41eb40:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
41eb46:	43                   	inc    %ebx
41eb47:	8d 4f f5             	lea    -0xb(%edi),%ecx
41eb4a:	83 c0 02             	add    $0x2,%eax
41eb4d:	89 85 ec fd ff ff    	mov    %eax,-0x214(%ebp)
41eb53:	3b d9                	cmp    %ecx,%ebx
41eb55:	0f 86 50 ff ff ff    	jbe    0x41eaab
41eb5b:	eb 4b                	jmp    0x41eba8
41eb5d:	8d 8c 0d f0 fd ff ff 	lea    -0x210(%ebp,%ecx,1),%ecx
41eb64:	2b fb                	sub    %ebx,%edi
41eb66:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
41eb6c:	85 d2                	test   %edx,%edx
41eb6e:	74 18                	je     0x41eb88
41eb70:	8d 04 7d ec ff ff ff 	lea    -0x14(,%edi,2),%eax
41eb77:	50                   	push   %eax
41eb78:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
41eb7e:	03 85 ec fd ff ff    	add    -0x214(%ebp),%eax
41eb84:	50                   	push   %eax
41eb85:	51                   	push   %ecx
41eb86:	eb 18                	jmp    0x41eba0
41eb88:	8d 04 7d ea ff ff ff 	lea    -0x16(,%edi,2),%eax
41eb8f:	50                   	push   %eax
41eb90:	8b 85 ec fd ff ff    	mov    -0x214(%ebp),%eax
41eb96:	8d 95 f2 fd ff ff    	lea    -0x20e(%ebp),%edx
41eb9c:	03 c2                	add    %edx,%eax
41eb9e:	50                   	push   %eax
41eb9f:	51                   	push   %ecx
41eba0:	e8 02 98 00 00       	call   0x4283a7
41eba5:	83 c4 0c             	add    $0xc,%esp
41eba8:	8b 9d e8 fd ff ff    	mov    -0x218(%ebp),%ebx
41ebae:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
41ebb4:	50                   	push   %eax
41ebb5:	6a 02                	push   $0x2
41ebb7:	56                   	push   %esi
41ebb8:	68 30 4c 40 00       	push   $0x404c30
41ebbd:	68 01 00 00 80       	push   $0x80000001
41ebc2:	ff 15 48 c0 42 00    	call   *0x42c048
41ebc8:	85 c0                	test   %eax,%eax
41ebca:	0f 85 ca 00 00 00    	jne    0x41ec9a
41ebd0:	8b 95 e4 fd ff ff    	mov    -0x21c(%ebp),%edx
41ebd6:	85 d2                	test   %edx,%edx
41ebd8:	0f 84 bc 00 00 00    	je     0x41ec9a
41ebde:	66 39 b5 f0 fd ff ff 	cmp    %si,-0x210(%ebp)
41ebe5:	75 47                	jne    0x41ec2e
41ebe7:	ff 73 04             	push   0x4(%ebx)
41ebea:	52                   	push   %edx
41ebeb:	ff 15 14 c0 42 00    	call   *0x42c014
41ebf1:	ff 15 18 c2 42 00    	call   *0x42c218
41ebf7:	8b f0                	mov    %eax,%esi
41ebf9:	85 f6                	test   %esi,%esi
41ebfb:	7e 09                	jle    0x41ec06
41ebfd:	0f b7 f6             	movzwl %si,%esi
41ec00:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41ec06:	a1 00 b0 42 00       	mov    0x42b000,%eax
41ec0b:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41ec10:	0f 84 f1 00 00 00    	je     0x41ed07
41ec16:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41ec1a:	0f 84 e7 00 00 00    	je     0x41ed07
41ec20:	56                   	push   %esi
41ec21:	ff 70 14             	push   0x14(%eax)
41ec24:	ff 70 10             	push   0x10(%eax)
41ec27:	6a 34                	push   $0x34
41ec29:	e9 ce 00 00 00       	jmp    0x41ecfc
41ec2e:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
41ec34:	8d 79 02             	lea    0x2(%ecx),%edi
41ec37:	66 8b 01             	mov    (%ecx),%ax
41ec3a:	83 c1 02             	add    $0x2,%ecx
41ec3d:	66 3b c6             	cmp    %si,%ax
41ec40:	75 f5                	jne    0x41ec37
41ec42:	2b cf                	sub    %edi,%ecx
41ec44:	d1 f9                	sar    $1,%ecx
41ec46:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
41ec49:	50                   	push   %eax
41ec4a:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
41ec50:	50                   	push   %eax
41ec51:	6a 01                	push   $0x1
41ec53:	56                   	push   %esi
41ec54:	68 30 4c 40 00       	push   $0x404c30
41ec59:	52                   	push   %edx
41ec5a:	ff 15 3c c0 42 00    	call   *0x42c03c
41ec60:	85 c0                	test   %eax,%eax
41ec62:	0f 84 9f 00 00 00    	je     0x41ed07
41ec68:	ff 15 18 c2 42 00    	call   *0x42c218
41ec6e:	8b f0                	mov    %eax,%esi
41ec70:	85 f6                	test   %esi,%esi
41ec72:	7e 09                	jle    0x41ec7d
41ec74:	0f b7 f6             	movzwl %si,%esi
41ec77:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41ec7d:	a1 00 b0 42 00       	mov    0x42b000,%eax
41ec82:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41ec87:	74 7e                	je     0x41ed07
41ec89:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41ec8d:	74 78                	je     0x41ed07
41ec8f:	56                   	push   %esi
41ec90:	ff 70 14             	push   0x14(%eax)
41ec93:	ff 70 10             	push   0x10(%eax)
41ec96:	6a 35                	push   $0x35
41ec98:	eb 62                	jmp    0x41ecfc
41ec9a:	ff 15 18 c2 42 00    	call   *0x42c218
41eca0:	8b f0                	mov    %eax,%esi
41eca2:	85 f6                	test   %esi,%esi
41eca4:	7e 09                	jle    0x41ecaf
41eca6:	0f b7 f6             	movzwl %si,%esi
41eca9:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41ecaf:	a1 00 b0 42 00       	mov    0x42b000,%eax
41ecb4:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41ecb9:	74 4c                	je     0x41ed07
41ecbb:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41ecbf:	74 46                	je     0x41ed07
41ecc1:	56                   	push   %esi
41ecc2:	ff 70 14             	push   0x14(%eax)
41ecc5:	ff 70 10             	push   0x10(%eax)
41ecc8:	6a 33                	push   $0x33
41ecca:	eb 30                	jmp    0x41ecfc
41eccc:	ff 15 18 c2 42 00    	call   *0x42c218
41ecd2:	8b f0                	mov    %eax,%esi
41ecd4:	85 f6                	test   %esi,%esi
41ecd6:	7e 09                	jle    0x41ece1
41ecd8:	0f b7 f6             	movzwl %si,%esi
41ecdb:	81 ce 00 00 07 80    	or     $0x80070000,%esi
41ece1:	a1 00 b0 42 00       	mov    0x42b000,%eax
41ece6:	3d 00 b0 42 00       	cmp    $0x42b000,%eax
41eceb:	74 1a                	je     0x41ed07
41eced:	f6 40 1c 01          	testb  $0x1,0x1c(%eax)
41ecf1:	74 14                	je     0x41ed07
41ecf3:	56                   	push   %esi
41ecf4:	ff 70 14             	push   0x14(%eax)
41ecf7:	ff 70 10             	push   0x10(%eax)
41ecfa:	6a 32                	push   $0x32
41ecfc:	ba c4 4c 40 00       	mov    $0x404cc4,%edx
41ed01:	59                   	pop    %ecx
41ed02:	e8 c7 86 fe ff       	call   0x4073ce
41ed07:	83 bd e4 fd ff ff 00 	cmpl   $0x0,-0x21c(%ebp)
41ed0e:	74 0c                	je     0x41ed1c
41ed10:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
41ed16:	ff 15 44 c0 42 00    	call   *0x42c044
41ed1c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41ed1f:	8b c6                	mov    %esi,%eax
41ed21:	5f                   	pop    %edi
41ed22:	5e                   	pop    %esi
41ed23:	33 cd                	xor    %ebp,%ecx
41ed25:	5b                   	pop    %ebx
41ed26:	e8 b5 8d 00 00       	call   0x427ae0
41ed2b:	c9                   	leave
41ed2c:	c3                   	ret
41ed2d:	e8 0e 8f 00 00       	call   0x427c40
41ed32:	cc                   	int3
41ed33:	cc                   	int3
41ed34:	cc                   	int3
41ed35:	cc                   	int3
41ed36:	cc                   	int3
41ed37:	cc                   	int3
41ed38:	cc                   	int3
41ed39:	cc                   	int3
41ed3a:	cc                   	int3
41ed3b:	cc                   	int3
41ed3c:	cc                   	int3
41ed3d:	cc                   	int3
41ed3e:	cc                   	int3
41ed3f:	cc                   	int3
41ed40:	8b ff                	mov    %edi,%edi
41ed42:	55                   	push   %ebp
41ed43:	8b ec                	mov    %esp,%ebp
41ed45:	83 e4 f8             	and    $0xfffffff8,%esp
41ed48:	83 ec 2c             	sub    $0x2c,%esp
41ed4b:	a1 74 b6 42 00       	mov    0x42b674,%eax
41ed50:	33 c4                	xor    %esp,%eax
41ed52:	89 44 24 28          	mov    %eax,0x28(%esp)
41ed56:	53                   	push   %ebx
41ed57:	56                   	push   %esi
41ed58:	33 f6                	xor    %esi,%esi
41ed5a:	57                   	push   %edi
41ed5b:	8b 7d 08             	mov    0x8(%ebp),%edi
41ed5e:	89 74 24 10          	mov    %esi,0x10(%esp)
41ed62:	89 74 24 14          	mov    %esi,0x14(%esp)
41ed66:	85 ff                	test   %edi,%edi
41ed68:	0f 84 fa 00 00 00    	je     0x41ee68
41ed6e:	8b 07                	mov    (%edi),%eax
41ed70:	85 c0                	test   %eax,%eax
41ed72:	0f 84 f0 00 00 00    	je     0x41ee68
41ed78:	6a 04                	push   $0x4
41ed7a:	b9 60 1f 40 00       	mov    $0x401f60,%ecx
41ed7f:	5b                   	pop    %ebx
41ed80:	66 8b 10             	mov    (%eax),%dx
41ed83:	66 3b 11             	cmp    (%ecx),%dx
41ed86:	75 1c                	jne    0x41eda4
41ed88:	66 85 d2             	test   %dx,%dx
41ed8b:	74 13                	je     0x41eda0
41ed8d:	66 8b 50 02          	mov    0x2(%eax),%dx
41ed91:	66 3b 51 02          	cmp    0x2(%ecx),%dx
41ed95:	75 0d                	jne    0x41eda4
41ed97:	03 c3                	add    %ebx,%eax
41ed99:	03 cb                	add    %ebx,%ecx
41ed9b:	66 85 d2             	test   %dx,%dx
41ed9e:	75 e0                	jne    0x41ed80
41eda0:	8b c6                	mov    %esi,%eax
41eda2:	eb 05                	jmp    0x41eda9
41eda4:	1b c0                	sbb    %eax,%eax