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
40fd43:	8b ec                	mov    %esp,%ebp
40fd45:	81 ec 78 06 00 00    	sub    $0x678,%esp
40fd4b:	a1 64 10 41 00       	mov    0x411064,%eax
40fd50:	33 c5                	xor    %ebp,%eax
40fd52:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fd55:	56                   	push   %esi
40fd56:	57                   	push   %edi
40fd57:	be 08 02 00 00       	mov    $0x208,%esi
40fd5c:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
40fd62:	56                   	push   %esi
40fd63:	6a 00                	push   $0x0
40fd65:	50                   	push   %eax
40fd66:	e8 9c 0d 00 00       	call   0x410b07
40fd6b:	83 c4 0c             	add    $0xc,%esp
40fd6e:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
40fd74:	bf 04 01 00 00       	mov    $0x104,%edi
40fd79:	57                   	push   %edi
40fd7a:	50                   	push   %eax
40fd7b:	ff 15 0c 31 43 00    	call   *0x43310c
40fd81:	85 c0                	test   %eax,%eax
40fd83:	0f 84 11 01 00 00    	je     0x40fe9a
40fd89:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
40fd8f:	50                   	push   %eax
40fd90:	ff 15 a8 31 43 00    	call   *0x4331a8
40fd96:	85 c0                	test   %eax,%eax
40fd98:	74 35                	je     0x40fdcf
40fd9a:	3d 03 01 00 00       	cmp    $0x103,%eax
40fd9f:	7d 2e                	jge    0x40fdcf
40fda1:	6a 5c                	push   $0x5c
40fda3:	59                   	pop    %ecx
40fda4:	66 39 8c 45 ee fd ff 	cmp    %cx,-0x212(%ebp,%eax,2)
40fdab:	ff
40fdac:	74 21                	je     0x40fdcf
40fdae:	66 89 8c 45 f0 fd ff 	mov    %cx,-0x210(%ebp,%eax,2)
40fdb5:	ff
40fdb6:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
40fdbd:	3b c6                	cmp    %esi,%eax
40fdbf:	0f 83 e5 00 00 00    	jae    0x40feaa
40fdc5:	33 c9                	xor    %ecx,%ecx
40fdc7:	66 89 8c 05 f0 fd ff 	mov    %cx,-0x210(%ebp,%eax,1)
40fdce:	ff
40fdcf:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
40fdd5:	8b d7                	mov    %edi,%edx
40fdd7:	50                   	push   %eax
40fdd8:	8d 8d e8 fb ff ff    	lea    -0x418(%ebp),%ecx
40fdde:	e8 7c 3c ff ff       	call   0x403a5f
40fde3:	85 c0                	test   %eax,%eax
40fde5:	0f 88 af 00 00 00    	js     0x40fe9a
40fdeb:	68 d4 19 40 00       	push   $0x4019d4
40fdf0:	8b d7                	mov    %edi,%edx
40fdf2:	8d 8d e8 fb ff ff    	lea    -0x418(%ebp),%ecx
40fdf8:	e8 3d 3b ff ff       	call   0x40393a
40fdfd:	85 c0                	test   %eax,%eax
40fdff:	0f 88 95 00 00 00    	js     0x40fe9a
40fe05:	8d 85 98 f9 ff ff    	lea    -0x668(%ebp),%eax
40fe0b:	50                   	push   %eax
40fe0c:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
40fe12:	50                   	push   %eax
40fe13:	ff 15 10 31 43 00    	call   *0x433110
40fe19:	8b f0                	mov    %eax,%esi
40fe1b:	83 fe ff             	cmp    $0xffffffff,%esi
40fe1e:	74 72                	je     0x40fe92
40fe20:	f6 85 98 f9 ff ff 10 	testb  $0x10,-0x668(%ebp)
40fe27:	75 50                	jne    0x40fe79
40fe29:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
40fe2f:	8b d7                	mov    %edi,%edx
40fe31:	50                   	push   %eax
40fe32:	8d 8d e8 fb ff ff    	lea    -0x418(%ebp),%ecx
40fe38:	e8 22 3c ff ff       	call   0x403a5f
40fe3d:	85 c0                	test   %eax,%eax
40fe3f:	78 59                	js     0x40fe9a
40fe41:	8d 85 c4 f9 ff ff    	lea    -0x63c(%ebp),%eax
40fe47:	8b d7                	mov    %edi,%edx
40fe49:	50                   	push   %eax
40fe4a:	8d 8d e8 fb ff ff    	lea    -0x418(%ebp),%ecx
40fe50:	e8 e5 3a ff ff       	call   0x40393a
40fe55:	85 c0                	test   %eax,%eax
40fe57:	78 41                	js     0x40fe9a
40fe59:	8d 95 8c f9 ff ff    	lea    -0x674(%ebp),%edx
40fe5f:	8d 8d e8 fb ff ff    	lea    -0x418(%ebp),%ecx
40fe65:	e8 f9 fa ff ff       	call   0x40f963
40fe6a:	85 c0                	test   %eax,%eax
40fe6c:	74 0b                	je     0x40fe79
40fe6e:	8d 8d 8c f9 ff ff    	lea    -0x674(%ebp),%ecx
40fe74:	e8 c5 fc ff ff       	call   0x40fb3e
40fe79:	8d 85 98 f9 ff ff    	lea    -0x668(%ebp),%eax
40fe7f:	50                   	push   %eax
40fe80:	56                   	push   %esi
40fe81:	ff 15 14 31 43 00    	call   *0x433114
40fe87:	85 c0                	test   %eax,%eax
40fe89:	75 95                	jne    0x40fe20
40fe8b:	56                   	push   %esi
40fe8c:	ff 15 18 31 43 00    	call   *0x433118
40fe92:	a1 b4 26 43 00       	mov    0x4326b4,%eax
40fe97:	40                   	inc    %eax
40fe98:	eb 02                	jmp    0x40fe9c
40fe9a:	33 c0                	xor    %eax,%eax
40fe9c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fe9f:	5f                   	pop    %edi
40fea0:	33 cd                	xor    %ebp,%ecx
40fea2:	5e                   	pop    %esi
40fea3:	e8 88 05 00 00       	call   0x410430
40fea8:	c9                   	leave
40fea9:	c3                   	ret
40feaa:	e8 d5 06 00 00       	call   0x410584
40feaf:	cc                   	int3
40feb0:	eb 43                	jmp    0x40fef5
40feb2:	48                   	dec    %eax
40feb3:	6b c8 0c             	imul   $0xc,%eax,%ecx
40feb6:	a3 b4 26 43 00       	mov    %eax,0x4326b4
40febb:	a1 48 10 41 00       	mov    0x411048,%eax
40fec0:	ff 74 01 08          	push   0x8(%ecx,%eax,1)
40fec4:	ff 15 58 31 43 00    	call   *0x433158
40feca:	6b 0d b4 26 43 00 0c 	imul   $0xc,0x4326b4,%ecx
40fed1:	a1 48 10 41 00       	mov    0x411048,%eax
40fed6:	ff 74 01 04          	push   0x4(%ecx,%eax,1)
40feda:	ff 15 74 31 43 00    	call   *0x433174
40fee0:	6b 0d b4 26 43 00 0c 	imul   $0xc,0x4326b4,%ecx
40fee7:	a1 48 10 41 00       	mov    0x411048,%eax
40feec:	ff 34 01             	push   (%ecx,%eax,1)
40feef:	ff 15 74 31 43 00    	call   *0x433174
40fef5:	a1 b4 26 43 00       	mov    0x4326b4,%eax
40fefa:	85 c0                	test   %eax,%eax
40fefc:	7f b4                	jg     0x40feb2
40fefe:	a1 48 10 41 00       	mov    0x411048,%eax
40ff03:	3d e0 23 43 00       	cmp    $0x4323e0,%eax
40ff08:	74 07                	je     0x40ff11
40ff0a:	50                   	push   %eax
40ff0b:	ff 15 00 31 43 00    	call   *0x433100
40ff11:	c3                   	ret
40ff12:	8b ff                	mov    %edi,%edi
40ff14:	55                   	push   %ebp
40ff15:	8b ec                	mov    %esp,%ebp
40ff17:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
40ff1d:	a1 64 10 41 00       	mov    0x411064,%eax
40ff22:	33 c5                	xor    %ebp,%eax
40ff24:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ff27:	8b 45 0c             	mov    0xc(%ebp),%eax
40ff2a:	53                   	push   %ebx
40ff2b:	8b 5d 10             	mov    0x10(%ebp),%ebx
40ff2e:	56                   	push   %esi
40ff2f:	57                   	push   %edi
40ff30:	68 00 01 00 00       	push   $0x100
40ff35:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
40ff3b:	8b f2                	mov    %edx,%esi
40ff3d:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40ff43:	8b f9                	mov    %ecx,%edi
40ff45:	6a 00                	push   $0x0
40ff47:	50                   	push   %eax
40ff48:	e8 ba 0b 00 00       	call   0x410b07
40ff4d:	a1 50 26 43 00       	mov    0x432650,%eax
40ff52:	83 c4 0c             	add    $0xc,%esp
40ff55:	85 c0                	test   %eax,%eax
40ff57:	74 49                	je     0x40ffa2
40ff59:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
40ff5f:	c7 85 f8 fe ff ff 00 	movl   $0x100,-0x108(%ebp)
40ff66:	01 00 00
40ff69:	51                   	push   %ecx
40ff6a:	8d 8d fc fe ff ff    	lea    -0x104(%ebp),%ecx
40ff70:	51                   	push   %ecx
40ff71:	6a 00                	push   $0x0
40ff73:	6a 00                	push   $0x0
40ff75:	ff b5 f4 fe ff ff    	push   -0x10c(%ebp)
40ff7b:	50                   	push   %eax
40ff7c:	ff 15 24 30 43 00    	call   *0x433024
40ff82:	85 c0                	test   %eax,%eax
40ff84:	75 1c                	jne    0x40ffa2
40ff86:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
40ff8c:	ba 80 00 00 00       	mov    $0x80,%edx
40ff91:	50                   	push   %eax
40ff92:	8b cb                	mov    %ebx,%ecx
40ff94:	e8 c6 3a ff ff       	call   0x403a5f
40ff99:	85 c0                	test   %eax,%eax
40ff9b:	79 05                	jns    0x40ffa2
40ff9d:	83 c8 ff             	or     $0xffffffff,%eax