40f92c:	76 25                	jbe    0x40f953
40f92e:	68 00 20 00 00       	push   $0x2000
40f933:	6a 00                	push   $0x0
40f935:	e8 6d 2c ff ff       	call   0x4025a7
40f93a:	84 c0                	test   %al,%al
40f93c:	74 15                	je     0x40f953
40f93e:	8d 44 24 08          	lea    0x8(%esp),%eax
40f942:	50                   	push   %eax
40f943:	6a 02                	push   $0x2
40f945:	6a 00                	push   $0x0
40f947:	56                   	push   %esi
40f948:	68 69 1a 40 00       	push   $0x401a69
40f94d:	51                   	push   %ecx
40f94e:	e8 c8 2b ff ff       	call   0x40251b
40f953:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
40f957:	5e                   	pop    %esi
40f958:	33 cc                	xor    %esp,%ecx
40f95a:	e8 d1 0a 00 00       	call   0x410430
40f95f:	8b e5                	mov    %ebp,%esp
40f961:	5d                   	pop    %ebp
40f962:	c3                   	ret
40f963:	8b ff                	mov    %edi,%edi
40f965:	55                   	push   %ebp
40f966:	8b ec                	mov    %esp,%ebp
40f968:	83 ec 4c             	sub    $0x4c,%esp
40f96b:	a1 64 10 41 00       	mov    0x411064,%eax
40f970:	33 c5                	xor    %ebp,%eax
40f972:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f975:	53                   	push   %ebx
40f976:	56                   	push   %esi
40f977:	57                   	push   %edi
40f978:	33 f6                	xor    %esi,%esi
40f97a:	89 55 b8             	mov    %edx,-0x48(%ebp)
40f97d:	56                   	push   %esi
40f97e:	6a 01                	push   $0x1
40f980:	6a 03                	push   $0x3
40f982:	56                   	push   %esi
40f983:	6a 01                	push   $0x1
40f985:	68 00 00 00 80       	push   $0x80000000
40f98a:	51                   	push   %ecx
40f98b:	ff 15 68 31 43 00    	call   *0x433168
40f991:	8b d8                	mov    %eax,%ebx
40f993:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
40f996:	83 fb ff             	cmp    $0xffffffff,%ebx
40f999:	0f 84 30 01 00 00    	je     0x40facf
40f99f:	56                   	push   %esi
40f9a0:	53                   	push   %ebx
40f9a1:	ff 15 64 31 43 00    	call   *0x433164
40f9a7:	56                   	push   %esi
40f9a8:	8b f8                	mov    %eax,%edi
40f9aa:	57                   	push   %edi
40f9ab:	56                   	push   %esi
40f9ac:	6a 02                	push   $0x2
40f9ae:	56                   	push   %esi
40f9af:	53                   	push   %ebx
40f9b0:	ff 15 60 31 43 00    	call   *0x433160
40f9b6:	89 45 bc             	mov    %eax,-0x44(%ebp)
40f9b9:	85 c0                	test   %eax,%eax
40f9bb:	0f 84 07 01 00 00    	je     0x40fac8
40f9c1:	83 ff 10             	cmp    $0x10,%edi
40f9c4:	0f 82 fe 00 00 00    	jb     0x40fac8
40f9ca:	56                   	push   %esi
40f9cb:	56                   	push   %esi
40f9cc:	56                   	push   %esi
40f9cd:	6a 04                	push   $0x4
40f9cf:	50                   	push   %eax
40f9d0:	ff 15 5c 31 43 00    	call   *0x43315c
40f9d6:	8b f8                	mov    %eax,%edi
40f9d8:	85 ff                	test   %edi,%edi
40f9da:	0f 84 de 00 00 00    	je     0x40fabe
40f9e0:	81 3f 55 43 45 58    	cmpl   $0x58454355,(%edi)
40f9e6:	0f 85 cb 00 00 00    	jne    0x40fab7
40f9ec:	8b 47 04             	mov    0x4(%edi),%eax
40f9ef:	03 c7                	add    %edi,%eax
40f9f1:	68 60 15 40 00       	push   $0x401560
40f9f6:	50                   	push   %eax
40f9f7:	ff 15 54 31 43 00    	call   *0x433154
40f9fd:	85 c0                	test   %eax,%eax
40f9ff:	75 45                	jne    0x40fa46
40fa01:	e8 3a 52 ff ff       	call   0x404c40
40fa06:	85 c0                	test   %eax,%eax
40fa08:	0f 84 a9 00 00 00    	je     0x40fab7
40fa0e:	6a 01                	push   $0x1
40fa10:	6a 07                	push   $0x7
40fa12:	ff 15 08 31 43 00    	call   *0x433108
40fa18:	85 c0                	test   %eax,%eax
40fa1a:	75 2a                	jne    0x40fa46
40fa1c:	6a 01                	push   $0x1
40fa1e:	6a 0a                	push   $0xa
40fa20:	ff 15 08 31 43 00    	call   *0x433108
40fa26:	85 c0                	test   %eax,%eax
40fa28:	75 1c                	jne    0x40fa46
40fa2a:	6a 01                	push   $0x1
40fa2c:	6a 08                	push   $0x8
40fa2e:	ff 15 08 31 43 00    	call   *0x433108
40fa34:	85 c0                	test   %eax,%eax
40fa36:	75 0e                	jne    0x40fa46
40fa38:	6a 01                	push   $0x1
40fa3a:	6a 09                	push   $0x9
40fa3c:	ff 15 08 31 43 00    	call   *0x433108
40fa42:	85 c0                	test   %eax,%eax
40fa44:	74 71                	je     0x40fab7
40fa46:	0f b7 5f 08          	movzwl 0x8(%edi),%ebx
40fa4a:	b8 b0 04 00 00       	mov    $0x4b0,%eax
40fa4f:	66 3b d8             	cmp    %ax,%bx
40fa52:	0f 84 d0 00 00 00    	je     0x40fb28
40fa58:	8b c3                	mov    %ebx,%eax
40fa5a:	50                   	push   %eax
40fa5b:	ff 15 b8 31 43 00    	call   *0x4331b8
40fa61:	85 c0                	test   %eax,%eax
40fa63:	74 4f                	je     0x40fab4
40fa65:	8d 45 e8             	lea    -0x18(%ebp),%eax
40fa68:	50                   	push   %eax
40fa69:	53                   	push   %ebx
40fa6a:	ff 15 70 31 43 00    	call   *0x433170
40fa70:	85 c0                	test   %eax,%eax
40fa72:	74 40                	je     0x40fab4
40fa74:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
40fa78:	76 66                	jbe    0x40fae0
40fa7a:	6a 02                	push   $0x2
40fa7c:	8d 45 c8             	lea    -0x38(%ebp),%eax
40fa7f:	50                   	push   %eax
40fa80:	53                   	push   %ebx
40fa81:	ff 15 78 30 43 00    	call   *0x433078
40fa87:	85 c0                	test   %eax,%eax
40fa89:	74 55                	je     0x40fae0
40fa8b:	8b 15 b8 16 41 00    	mov    0x4116b8,%edx
40fa91:	85 d2                	test   %edx,%edx
40fa93:	7e 1f                	jle    0x40fab4
40fa95:	8b 0d b4 16 41 00    	mov    0x4116b4,%ecx
40fa9b:	81 c1 00 02 00 00    	add    $0x200,%ecx
40faa1:	0f b6 01             	movzbl (%ecx),%eax
40faa4:	3b 45 c8             	cmp    -0x38(%ebp),%eax
40faa7:	74 37                	je     0x40fae0
40faa9:	46                   	inc    %esi
40faaa:	81 c1 14 02 00 00    	add    $0x214,%ecx
40fab0:	3b f2                	cmp    %edx,%esi
40fab2:	7c ed                	jl     0x40faa1
40fab4:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
40fab7:	57                   	push   %edi
40fab8:	ff 15 58 31 43 00    	call   *0x433158
40fabe:	8b 45 bc             	mov    -0x44(%ebp),%eax
40fac1:	50                   	push   %eax
40fac2:	ff 15 74 31 43 00    	call   *0x433174
40fac8:	53                   	push   %ebx
40fac9:	ff 15 74 31 43 00    	call   *0x433174
40facf:	33 c0                	xor    %eax,%eax
40fad1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fad4:	5f                   	pop    %edi
40fad5:	5e                   	pop    %esi
40fad6:	33 cd                	xor    %ebp,%ecx
40fad8:	5b                   	pop    %ebx
40fad9:	e8 52 09 00 00       	call   0x410430
40fade:	c9                   	leave
40fadf:	c3                   	ret
40fae0:	b8 a4 03 00 00       	mov    $0x3a4,%eax
40fae5:	66 3b d8             	cmp    %ax,%bx
40fae8:	75 06                	jne    0x40faf0
40faea:	6a 01                	push   $0x1
40faec:	6a 07                	push   $0x7
40faee:	eb 2e                	jmp    0x40fb1e
40faf0:	b8 a8 03 00 00       	mov    $0x3a8,%eax
40faf5:	66 3b d8             	cmp    %ax,%bx
40faf8:	75 06                	jne    0x40fb00
40fafa:	6a 01                	push   $0x1
40fafc:	6a 0a                	push   $0xa
40fafe:	eb 1e                	jmp    0x40fb1e
40fb00:	b8 b5 03 00 00       	mov    $0x3b5,%eax
40fb05:	66 3b d8             	cmp    %ax,%bx
40fb08:	75 06                	jne    0x40fb10
40fb0a:	6a 01                	push   $0x1
40fb0c:	6a 08                	push   $0x8
40fb0e:	eb 0e                	jmp    0x40fb1e
40fb10:	b8 b6 03 00 00       	mov    $0x3b6,%eax
40fb15:	66 3b d8             	cmp    %ax,%bx
40fb18:	75 0e                	jne    0x40fb28
40fb1a:	6a 01                	push   $0x1
40fb1c:	6a 09                	push   $0x9
40fb1e:	ff 15 08 31 43 00    	call   *0x433108
40fb24:	85 c0                	test   %eax,%eax
40fb26:	74 8c                	je     0x40fab4
40fb28:	8b 4d b8             	mov    -0x48(%ebp),%ecx
40fb2b:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40fb2e:	89 01                	mov    %eax,(%ecx)
40fb30:	8b 45 bc             	mov    -0x44(%ebp),%eax
40fb33:	89 41 04             	mov    %eax,0x4(%ecx)
40fb36:	33 c0                	xor    %eax,%eax
40fb38:	89 79 08             	mov    %edi,0x8(%ecx)
40fb3b:	40                   	inc    %eax
40fb3c:	eb 93                	jmp    0x40fad1
40fb3e:	8b ff                	mov    %edi,%edi
40fb40:	55                   	push   %ebp
40fb41:	8b ec                	mov    %esp,%ebp
40fb43:	81 ec 14 04 00 00    	sub    $0x414,%esp
40fb49:	a1 64 10 41 00       	mov    0x411064,%eax
40fb4e:	33 c5                	xor    %ebp,%eax
40fb50:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fb53:	a1 48 13 41 00       	mov    0x411348,%eax
40fb58:	53                   	push   %ebx
40fb59:	8b 1d b4 26 43 00    	mov    0x4326b4,%ebx
40fb5f:	89 8d f0 fb ff ff    	mov    %ecx,-0x410(%ebp)
40fb65:	56                   	push   %esi
40fb66:	57                   	push   %edi
40fb67:	6a 0c                	push   $0xc
40fb69:	5a                   	pop    %edx
40fb6a:	3b c3                	cmp    %ebx,%eax
40fb6c:	0f 85 81 00 00 00    	jne    0x40fbf3
40fb72:	85 c0                	test   %eax,%eax
40fb74:	0f 88 b5 01 00 00    	js     0x40fd2f
40fb7a:	8d 48 20             	lea    0x20(%eax),%ecx
40fb7d:	3b c8                	cmp    %eax,%ecx
40fb7f:	0f 82 aa 01 00 00    	jb     0x40fd2f
40fb85:	8b c1                	mov    %ecx,%eax
40fb87:	f7 e2                	mul    %edx
40fb89:	85 d2                	test   %edx,%edx
40fb8b:	0f 87 9e 01 00 00    	ja     0x40fd2f
40fb91:	72 09                	jb     0x40fb9c
40fb93:	83 f8 ff             	cmp    $0xffffffff,%eax
40fb96:	0f 87 93 01 00 00    	ja     0x40fd2f
40fb9c:	50                   	push   %eax
40fb9d:	6a 00                	push   $0x0
40fb9f:	ff 15 04 31 43 00    	call   *0x433104
40fba5:	8b d8                	mov    %eax,%ebx
40fba7:	85 db                	test   %ebx,%ebx
40fba9:	0f 84 80 01 00 00    	je     0x40fd2f
40fbaf:	8b 35 48 13 41 00    	mov    0x411348,%esi
40fbb5:	8b 3d 48 10 41 00    	mov    0x411048,%edi
40fbbb:	6b c6 0c             	imul   $0xc,%esi,%eax
40fbbe:	50                   	push   %eax
40fbbf:	57                   	push   %edi
40fbc0:	53                   	push   %ebx
40fbc1:	e8 3b 0f 00 00       	call   0x410b01
40fbc6:	83 c4 0c             	add    $0xc,%esp
40fbc9:	81 ff e0 23 43 00    	cmp    $0x4323e0,%edi
40fbcf:	74 0d                	je     0x40fbde
40fbd1:	57                   	push   %edi
40fbd2:	ff 15 00 31 43 00    	call   *0x433100
40fbd8:	8b 35 48 13 41 00    	mov    0x411348,%esi
40fbde:	83 c6 20             	add    $0x20,%esi
40fbe1:	89 1d 48 10 41 00    	mov    %ebx,0x411048
40fbe7:	8b 1d b4 26 43 00    	mov    0x4326b4,%ebx
40fbed:	89 35 48 13 41 00    	mov    %esi,0x411348
40fbf3:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
40fbf9:	6a 30                	push   $0x30
40fbfb:	8b 40 08             	mov    0x8(%eax),%eax
40fbfe:	8b 48 04             	mov    0x4(%eax),%ecx
40fc01:	03 c8                	add    %eax,%ecx
40fc03:	58                   	pop    %eax
40fc04:	66 39 01             	cmp    %ax,(%ecx)
40fc07:	75 29                	jne    0x40fc32
40fc09:	68 ff 00 00 00       	push   $0xff
40fc0e:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
40fc14:	50                   	push   %eax
40fc15:	51                   	push   %ecx
40fc16:	ff 15 fc 33 43 00    	call   *0x4333fc
40fc1c:	59                   	pop    %ecx
40fc1d:	50                   	push   %eax
40fc1e:	ff 35 0c 19 41 00    	push   0x41190c
40fc24:	ff 15 20 33 43 00    	call   *0x433320
40fc2a:	8b 1d b4 26 43 00    	mov    0x4326b4,%ebx
40fc30:	eb 19                	jmp    0x40fc4b
40fc32:	51                   	push   %ecx
40fc33:	ba 00 01 00 00       	mov    $0x100,%edx
40fc38:	8d 8d f8 fb ff ff    	lea    -0x408(%ebp),%ecx
40fc3e:	e8 1c 3e ff ff       	call   0x403a5f
40fc43:	85 c0                	test   %eax,%eax
40fc45:	0f 88 e4 00 00 00    	js     0x40fd2f
40fc4b:	33 f6                	xor    %esi,%esi
40fc4d:	89 b5 f4 fb ff ff    	mov    %esi,-0x40c(%ebp)
40fc53:	85 db                	test   %ebx,%ebx
40fc55:	0f 8e 90 00 00 00    	jle    0x40fceb
40fc5b:	33 ff                	xor    %edi,%edi
40fc5d:	a1 48 10 41 00       	mov    0x411048,%eax
40fc62:	6a 30                	push   $0x30
40fc64:	8b 44 07 08          	mov    0x8(%edi,%eax,1),%eax
40fc68:	8b 48 04             	mov    0x4(%eax),%ecx
40fc6b:	03 c8                	add    %eax,%ecx
40fc6d:	58                   	pop    %eax
40fc6e:	66 39 01             	cmp    %ax,(%ecx)
40fc71:	75 23                	jne    0x40fc96
40fc73:	68 ff 00 00 00       	push   $0xff
40fc78:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40fc7e:	50                   	push   %eax
40fc7f:	51                   	push   %ecx
40fc80:	ff 15 fc 33 43 00    	call   *0x4333fc
40fc86:	59                   	pop    %ecx
40fc87:	50                   	push   %eax
40fc88:	ff 35 0c 19 41 00    	push   0x41190c
40fc8e:	ff 15 20 33 43 00    	call   *0x433320
40fc94:	eb 19                	jmp    0x40fcaf
40fc96:	51                   	push   %ecx
40fc97:	ba 00 01 00 00       	mov    $0x100,%edx
40fc9c:	8d 8d f8 fd ff ff    	lea    -0x208(%ebp),%ecx
40fca2:	e8 b8 3d ff ff       	call   0x403a5f
40fca7:	85 c0                	test   %eax,%eax
40fca9:	0f 88 80 00 00 00    	js     0x40fd2f
40fcaf:	6a ff                	push   $0xffffffff
40fcb1:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40fcb7:	50                   	push   %eax
40fcb8:	6a ff                	push   $0xffffffff
40fcba:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
40fcc0:	50                   	push   %eax
40fcc1:	6a 00                	push   $0x0
40fcc3:	68 00 04 00 00       	push   $0x400
40fcc8:	ff 15 c0 31 43 00    	call   *0x4331c0
40fcce:	8b 1d b4 26 43 00    	mov    0x4326b4,%ebx
40fcd4:	83 f8 01             	cmp    $0x1,%eax
40fcd7:	74 12                	je     0x40fceb
40fcd9:	46                   	inc    %esi
40fcda:	83 c7 0c             	add    $0xc,%edi
40fcdd:	89 b5 f4 fb ff ff    	mov    %esi,-0x40c(%ebp)
40fce3:	3b f3                	cmp    %ebx,%esi
40fce5:	0f 8c 72 ff ff ff    	jl     0x40fc5d
40fceb:	3b de                	cmp    %esi,%ebx
40fced:	7e 22                	jle    0x40fd11
40fcef:	6b fb 0c             	imul   $0xc,%ebx,%edi
40fcf2:	8b cb                	mov    %ebx,%ecx
40fcf4:	03 3d 48 10 41 00    	add    0x411048,%edi
40fcfa:	2b ce                	sub    %esi,%ecx
40fcfc:	8d 47 f4             	lea    -0xc(%edi),%eax
40fcff:	8b f0                	mov    %eax,%esi
40fd01:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fd02:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fd03:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fd04:	8b f8                	mov    %eax,%edi
40fd06:	83 e9 01             	sub    $0x1,%ecx
40fd09:	75 f1                	jne    0x40fcfc
40fd0b:	8b b5 f4 fb ff ff    	mov    -0x40c(%ebp),%esi
40fd11:	6b fe 0c             	imul   $0xc,%esi,%edi
40fd14:	33 c0                	xor    %eax,%eax
40fd16:	8b b5 f0 fb ff ff    	mov    -0x410(%ebp),%esi
40fd1c:	03 3d 48 10 41 00    	add    0x411048,%edi
40fd22:	43                   	inc    %ebx
40fd23:	89 1d b4 26 43 00    	mov    %ebx,0x4326b4
40fd29:	40                   	inc    %eax
40fd2a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fd2b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fd2c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40fd2d:	eb 02                	jmp    0x40fd31
40fd2f:	33 c0                	xor    %eax,%eax
40fd31:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fd34:	5f                   	pop    %edi
40fd35:	5e                   	pop    %esi
40fd36:	33 cd                	xor    %ebp,%ecx
40fd38:	5b                   	pop    %ebx
40fd39:	e8 f2 06 00 00       	call   0x410430
40fd3e:	c9                   	leave
40fd3f:	c3                   	ret
40fd40:	8b ff                	mov    %edi,%edi
40fd42:	55                   	push   %ebp