40faeb:	ff 75 fc             	push   -0x4(%ebp)
40faee:	e8 d4 36 03 00       	call   0x4431c7
40faf3:	8b f0                	mov    %eax,%esi
40faf5:	3b f3                	cmp    %ebx,%esi
40faf7:	74 0e                	je     0x40fb07
40faf9:	85 f6                	test   %esi,%esi
40fafb:	79 0a                	jns    0x40fb07
40fafd:	68 20 12 45 00       	push   $0x451220
40fb02:	e9 90 02 00 00       	jmp    0x40fd97
40fb07:	8d 47 7c             	lea    0x7c(%edi),%eax
40fb0a:	50                   	push   %eax
40fb0b:	68 48 0e 45 00       	push   $0x450e48
40fb10:	ff 75 fc             	push   -0x4(%ebp)
40fb13:	e8 af 36 03 00       	call   0x4431c7
40fb18:	8b f0                	mov    %eax,%esi
40fb1a:	3b f3                	cmp    %ebx,%esi
40fb1c:	74 0e                	je     0x40fb2c
40fb1e:	85 f6                	test   %esi,%esi
40fb20:	79 0a                	jns    0x40fb2c
40fb22:	68 3c 12 45 00       	push   $0x45123c
40fb27:	e9 6b 02 00 00       	jmp    0x40fd97
40fb2c:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
40fb32:	50                   	push   %eax
40fb33:	68 88 0e 45 00       	push   $0x450e88
40fb38:	ff 75 fc             	push   -0x4(%ebp)
40fb3b:	e8 87 36 03 00       	call   0x4431c7
40fb40:	8b f0                	mov    %eax,%esi
40fb42:	3b f3                	cmp    %ebx,%esi
40fb44:	74 0e                	je     0x40fb54
40fb46:	85 f6                	test   %esi,%esi
40fb48:	79 0a                	jns    0x40fb54
40fb4a:	68 60 12 45 00       	push   $0x451260
40fb4f:	e9 43 02 00 00       	jmp    0x40fd97
40fb54:	8d 87 84 00 00 00    	lea    0x84(%edi),%eax
40fb5a:	50                   	push   %eax
40fb5b:	68 9c 0e 45 00       	push   $0x450e9c
40fb60:	ff 75 fc             	push   -0x4(%ebp)
40fb63:	e8 5f 36 03 00       	call   0x4431c7
40fb68:	8b f0                	mov    %eax,%esi
40fb6a:	3b f3                	cmp    %ebx,%esi
40fb6c:	74 0e                	je     0x40fb7c
40fb6e:	85 f6                	test   %esi,%esi
40fb70:	79 0a                	jns    0x40fb7c
40fb72:	68 7c 12 45 00       	push   $0x45127c
40fb77:	e9 1b 02 00 00       	jmp    0x40fd97
40fb7c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40fb7f:	50                   	push   %eax
40fb80:	68 94 12 45 00       	push   $0x451294
40fb85:	ff 75 fc             	push   -0x4(%ebp)
40fb88:	e8 3a 36 03 00       	call   0x4431c7
40fb8d:	8b f0                	mov    %eax,%esi
40fb8f:	85 f6                	test   %esi,%esi
40fb91:	0f 88 9a 00 00 00    	js     0x40fc31
40fb97:	8b 1d 28 b1 44 00    	mov    0x44b128,%ebx
40fb9d:	6a ff                	push   $0xffffffff
40fb9f:	68 b0 12 45 00       	push   $0x4512b0
40fba4:	6a ff                	push   $0xffffffff
40fba6:	ff 75 f4             	push   -0xc(%ebp)
40fba9:	6a 00                	push   $0x0
40fbab:	6a 7f                	push   $0x7f
40fbad:	ff d3                	call   *%ebx
40fbaf:	6a 02                	push   $0x2
40fbb1:	59                   	pop    %ecx
40fbb2:	3b c1                	cmp    %ecx,%eax
40fbb4:	75 08                	jne    0x40fbbe
40fbb6:	89 8f 88 00 00 00    	mov    %ecx,0x88(%edi)
40fbbc:	eb 41                	jmp    0x40fbff
40fbbe:	6a ff                	push   $0xffffffff
40fbc0:	68 18 03 45 00       	push   $0x450318
40fbc5:	6a ff                	push   $0xffffffff
40fbc7:	ff 75 f4             	push   -0xc(%ebp)
40fbca:	6a 00                	push   $0x0
40fbcc:	6a 7f                	push   $0x7f
40fbce:	ff d3                	call   *%ebx
40fbd0:	83 f8 02             	cmp    $0x2,%eax
40fbd3:	75 0c                	jne    0x40fbe1
40fbd5:	c7 87 88 00 00 00 01 	movl   $0x1,0x88(%edi)
40fbdc:	00 00 00
40fbdf:	eb 1e                	jmp    0x40fbff
40fbe1:	6a ff                	push   $0xffffffff
40fbe3:	68 10 03 45 00       	push   $0x450310
40fbe8:	6a ff                	push   $0xffffffff
40fbea:	ff 75 f4             	push   -0xc(%ebp)
40fbed:	6a 00                	push   $0x0
40fbef:	6a 7f                	push   $0x7f
40fbf1:	ff d3                	call   *%ebx
40fbf3:	83 f8 02             	cmp    $0x2,%eax
40fbf6:	75 0e                	jne    0x40fc06
40fbf8:	83 a7 88 00 00 00 00 	andl   $0x0,0x88(%edi)
40fbff:	bb 90 04 07 80       	mov    $0x80070490,%ebx
40fc04:	eb 38                	jmp    0x40fc3e
40fc06:	be ff ff 00 80       	mov    $0x8000ffff,%esi
40fc0b:	56                   	push   %esi
40fc0c:	68 f6 00 00 00       	push   $0xf6
40fc11:	68 c0 12 45 00       	push   $0x4512c0
40fc16:	e8 b8 3b ff ff       	call   0x4037d3
40fc1b:	ff 75 f4             	push   -0xc(%ebp)
40fc1e:	68 d4 12 45 00       	push   $0x4512d4
40fc23:	56                   	push   %esi
40fc24:	e8 06 05 03 00       	call   0x44012f
40fc29:	83 c4 0c             	add    $0xc,%esp
40fc2c:	e9 6e 01 00 00       	jmp    0x40fd9f
40fc31:	3b f3                	cmp    %ebx,%esi
40fc33:	75 09                	jne    0x40fc3e
40fc35:	83 a7 88 00 00 00 00 	andl   $0x0,0x88(%edi)
40fc3c:	33 f6                	xor    %esi,%esi
40fc3e:	85 f6                	test   %esi,%esi
40fc40:	79 0a                	jns    0x40fc4c
40fc42:	68 f8 12 45 00       	push   $0x4512f8
40fc47:	e9 4b 01 00 00       	jmp    0x40fd97
40fc4c:	8d 87 90 00 00 00    	lea    0x90(%edi),%eax
40fc52:	50                   	push   %eax
40fc53:	68 18 13 45 00       	push   $0x451318
40fc58:	ff 75 fc             	push   -0x4(%ebp)
40fc5b:	e8 7b 37 03 00       	call   0x4433db
40fc60:	8b f0                	mov    %eax,%esi
40fc62:	3b f3                	cmp    %ebx,%esi
40fc64:	74 18                	je     0x40fc7e
40fc66:	85 f6                	test   %esi,%esi
40fc68:	79 0a                	jns    0x40fc74
40fc6a:	68 34 13 45 00       	push   $0x451334
40fc6f:	e9 23 01 00 00       	jmp    0x40fd97
40fc74:	c7 87 8c 00 00 00 01 	movl   $0x1,0x8c(%edi)
40fc7b:	00 00 00
40fc7e:	8d 87 98 00 00 00    	lea    0x98(%edi),%eax
40fc84:	50                   	push   %eax
40fc85:	8d 87 94 00 00 00    	lea    0x94(%edi),%eax
40fc8b:	50                   	push   %eax
40fc8c:	ff 75 f8             	push   -0x8(%ebp)
40fc8f:	e8 1e ef ff ff       	call   0x40ebb2
40fc94:	8b f0                	mov    %eax,%esi
40fc96:	85 f6                	test   %esi,%esi
40fc98:	79 0a                	jns    0x40fca4
40fc9a:	68 54 13 45 00       	push   $0x451354
40fc9f:	e9 f3 00 00 00       	jmp    0x40fd97
40fca4:	8d 45 f0             	lea    -0x10(%ebp),%eax
40fca7:	50                   	push   %eax
40fca8:	68 08 0a 45 00       	push   $0x450a08
40fcad:	ff 75 f8             	push   -0x8(%ebp)
40fcb0:	e8 d5 3b 03 00       	call   0x44388a
40fcb5:	8b f0                	mov    %eax,%esi
40fcb7:	33 c0                	xor    %eax,%eax
40fcb9:	40                   	inc    %eax
40fcba:	3b f0                	cmp    %eax,%esi
40fcbc:	0f 84 c4 00 00 00    	je     0x40fd86
40fcc2:	85 f6                	test   %esi,%esi
40fcc4:	79 0a                	jns    0x40fcd0
40fcc6:	68 74 13 45 00       	push   $0x451374
40fccb:	e9 c7 00 00 00       	jmp    0x40fd97
40fcd0:	89 87 9c 00 00 00    	mov    %eax,0x9c(%edi)
40fcd6:	8d 87 a0 00 00 00    	lea    0xa0(%edi),%eax
40fcdc:	50                   	push   %eax
40fcdd:	68 94 13 45 00       	push   $0x451394
40fce2:	ff 75 f0             	push   -0x10(%ebp)
40fce5:	e8 dd 34 03 00       	call   0x4431c7
40fcea:	8b f0                	mov    %eax,%esi
40fcec:	85 f6                	test   %esi,%esi
40fcee:	79 0a                	jns    0x40fcfa
40fcf0:	68 b0 13 45 00       	push   $0x4513b0
40fcf5:	e9 9d 00 00 00       	jmp    0x40fd97
40fcfa:	8d 87 a4 00 00 00    	lea    0xa4(%edi),%eax
40fd00:	50                   	push   %eax
40fd01:	68 d0 13 45 00       	push   $0x4513d0
40fd06:	ff 75 f0             	push   -0x10(%ebp)
40fd09:	e8 b9 34 03 00       	call   0x4431c7
40fd0e:	8b f0                	mov    %eax,%esi
40fd10:	3b f3                	cmp    %ebx,%esi
40fd12:	74 0b                	je     0x40fd1f
40fd14:	85 f6                	test   %esi,%esi
40fd16:	79 07                	jns    0x40fd1f
40fd18:	68 e8 13 45 00       	push   $0x4513e8
40fd1d:	eb 78                	jmp    0x40fd97
40fd1f:	8d 87 a8 00 00 00    	lea    0xa8(%edi),%eax
40fd25:	50                   	push   %eax
40fd26:	68 04 14 45 00       	push   $0x451404
40fd2b:	ff 75 f0             	push   -0x10(%ebp)
40fd2e:	e8 94 34 03 00       	call   0x4431c7
40fd33:	8b f0                	mov    %eax,%esi
40fd35:	3b f3                	cmp    %ebx,%esi
40fd37:	74 0b                	je     0x40fd44
40fd39:	85 f6                	test   %esi,%esi
40fd3b:	79 07                	jns    0x40fd44
40fd3d:	68 20 14 45 00       	push   $0x451420
40fd42:	eb 53                	jmp    0x40fd97
40fd44:	8d 87 ac 00 00 00    	lea    0xac(%edi),%eax
40fd4a:	50                   	push   %eax
40fd4b:	68 40 14 45 00       	push   $0x451440
40fd50:	ff 75 f0             	push   -0x10(%ebp)
40fd53:	e8 6f 34 03 00       	call   0x4431c7
40fd58:	8b f0                	mov    %eax,%esi
40fd5a:	85 f6                	test   %esi,%esi
40fd5c:	79 07                	jns    0x40fd65
40fd5e:	68 4c 14 45 00       	push   $0x45144c
40fd63:	eb 32                	jmp    0x40fd97
40fd65:	8d 87 b0 00 00 00    	lea    0xb0(%edi),%eax
40fd6b:	50                   	push   %eax
40fd6c:	68 64 14 45 00       	push   $0x451464
40fd71:	ff 75 f0             	push   -0x10(%ebp)
40fd74:	e8 4e 34 03 00       	call   0x4431c7
40fd79:	8b f0                	mov    %eax,%esi
40fd7b:	85 f6                	test   %esi,%esi
40fd7d:	79 07                	jns    0x40fd86
40fd7f:	68 84 14 45 00       	push   $0x451484
40fd84:	eb 11                	jmp    0x40fd97
40fd86:	57                   	push   %edi
40fd87:	e8 59 f2 ff ff       	call   0x40efe5
40fd8c:	8b f0                	mov    %eax,%esi
40fd8e:	85 f6                	test   %esi,%esi
40fd90:	79 0d                	jns    0x40fd9f
40fd92:	68 a4 14 45 00       	push   $0x4514a4
40fd97:	56                   	push   %esi
40fd98:	e8 92 03 03 00       	call   0x44012f
40fd9d:	59                   	pop    %ecx
40fd9e:	59                   	pop    %ecx
40fd9f:	5f                   	pop    %edi
40fda0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fda3:	85 c9                	test   %ecx,%ecx
40fda5:	74 06                	je     0x40fdad
40fda7:	8b 01                	mov    (%ecx),%eax
40fda9:	51                   	push   %ecx
40fdaa:	ff 50 08             	call   *0x8(%eax)
40fdad:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fdb0:	85 c9                	test   %ecx,%ecx
40fdb2:	74 06                	je     0x40fdba
40fdb4:	8b 01                	mov    (%ecx),%eax
40fdb6:	51                   	push   %ecx
40fdb7:	ff 50 08             	call   *0x8(%eax)
40fdba:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40fdbd:	85 c9                	test   %ecx,%ecx
40fdbf:	74 06                	je     0x40fdc7
40fdc1:	8b 01                	mov    (%ecx),%eax
40fdc3:	51                   	push   %ecx
40fdc4:	ff 50 08             	call   *0x8(%eax)
40fdc7:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
40fdcb:	74 08                	je     0x40fdd5
40fdcd:	ff 75 f4             	push   -0xc(%ebp)
40fdd0:	e8 1a 57 03 00       	call   0x4454ef
40fdd5:	8b c6                	mov    %esi,%eax
40fdd7:	5e                   	pop    %esi
40fdd8:	5b                   	pop    %ebx
40fdd9:	8b e5                	mov    %ebp,%esp
40fddb:	5d                   	pop    %ebp
40fddc:	c2 08 00             	ret    $0x8
40fddf:	55                   	push   %ebp
40fde0:	8b ec                	mov    %esp,%ebp
40fde2:	56                   	push   %esi
40fde3:	57                   	push   %edi
40fde4:	8b 7d 08             	mov    0x8(%ebp),%edi
40fde7:	6a 00                	push   $0x0
40fde9:	ff 75 10             	push   0x10(%ebp)
40fdec:	ff 75 0c             	push   0xc(%ebp)
40fdef:	68 80 00 00 00       	push   $0x80
40fdf4:	ff 77 5c             	push   0x5c(%edi)
40fdf7:	e8 6b 4e 03 00       	call   0x444c67
40fdfc:	8b f0                	mov    %eax,%esi
40fdfe:	33 c0                	xor    %eax,%eax
40fe00:	81 fe 03 00 07 80    	cmp    $0x80070003,%esi
40fe06:	0f 44 f0             	cmove  %eax,%esi
40fe09:	85 f6                	test   %esi,%esi
40fe0b:	79 11                	jns    0x40fe1e
40fe0d:	ff 77 5c             	push   0x5c(%edi)
40fe10:	68 00 19 45 00       	push   $0x451900
40fe15:	56                   	push   %esi
40fe16:	e8 14 03 03 00       	call   0x44012f
40fe1b:	83 c4 0c             	add    $0xc,%esp
40fe1e:	5f                   	pop    %edi
40fe1f:	8b c6                	mov    %esi,%eax
40fe21:	5e                   	pop    %esi
40fe22:	5d                   	pop    %ebp
40fe23:	c2 0c 00             	ret    $0xc
40fe26:	55                   	push   %ebp
40fe27:	8b ec                	mov    %esp,%ebp
40fe29:	83 ec 14             	sub    $0x14,%esp
40fe2c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40fe30:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40fe34:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40fe38:	56                   	push   %esi
40fe39:	57                   	push   %edi
40fe3a:	8b 7d 0c             	mov    0xc(%ebp),%edi
40fe3d:	ff 77 08             	push   0x8(%edi)
40fe40:	e8 eb 3d 00 00       	call   0x413c30
40fe45:	50                   	push   %eax
40fe46:	ff 75 18             	push   0x18(%ebp)
40fe49:	ff 77 50             	push   0x50(%edi)
40fe4c:	68 72 01 00 20       	push   $0x20000172
40fe51:	6a 03                	push   $0x3
40fe53:	e8 b7 56 ff ff       	call   0x40550f
40fe58:	83 c4 14             	add    $0x14,%esp
40fe5b:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
40fe5f:	74 33                	je     0x40fe94
40fe61:	ff 75 08             	push   0x8(%ebp)
40fe64:	8b 45 14             	mov    0x14(%ebp),%eax
40fe67:	83 c0 04             	add    $0x4,%eax
40fe6a:	50                   	push   %eax
40fe6b:	ff 77 10             	push   0x10(%edi)
40fe6e:	ff 77 48             	push   0x48(%edi)
40fe71:	ff 37                	push   (%edi)
40fe73:	e8 5a 9c 00 00       	call   0x419ad2
40fe78:	8b f0                	mov    %eax,%esi
40fe7a:	85 f6                	test   %esi,%esi
40fe7c:	79 16                	jns    0x40fe94
40fe7e:	ff 75 08             	push   0x8(%ebp)
40fe81:	68 f8 16 45 00       	push   $0x4516f8
40fe86:	56                   	push   %esi
40fe87:	e8 a3 02 03 00       	call   0x44012f
40fe8c:	83 c4 0c             	add    $0xc,%esp
40fe8f:	e9 50 05 00 00       	jmp    0x4103e4
40fe94:	8d 45 fc             	lea    -0x4(%ebp),%eax
40fe97:	50                   	push   %eax
40fe98:	68 06 00 02 00       	push   $0x20006
40fe9d:	ff 77 50             	push   0x50(%edi)
40fea0:	ff 77 4c             	push   0x4c(%edi)
40fea3:	e8 e0 0b 03 00       	call   0x440a88
40fea8:	8b f0                	mov    %eax,%esi
40feaa:	85 f6                	test   %esi,%esi
40feac:	79 12                	jns    0x40fec0
40feae:	68 20 17 45 00       	push   $0x451720
40feb3:	56                   	push   %esi
40feb4:	e8 76 02 03 00       	call   0x44012f
40feb9:	59                   	pop    %ecx
40feba:	59                   	pop    %ecx
40febb:	e9 24 05 00 00       	jmp    0x4103e4
40fec0:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
40fec4:	53                   	push   %ebx
40fec5:	0f 84 8d 04 00 00    	je     0x410358
40fecb:	ff 77 54             	push   0x54(%edi)
40fece:	bb e0 0a 45 00       	mov    $0x450ae0,%ebx
40fed3:	53                   	push   %ebx
40fed4:	ff 75 fc             	push   -0x4(%ebp)
40fed7:	e8 b6 14 03 00       	call   0x441392
40fedc:	8b f0                	mov    %eax,%esi
40fede:	85 f6                	test   %esi,%esi
40fee0:	0f 88 b3 04 00 00    	js     0x410399
40fee6:	ff 77 24             	push   0x24(%edi)
40fee9:	bb 64 0b 45 00       	mov    $0x450b64,%ebx
40feee:	ff 77 20             	push   0x20(%edi)
40fef1:	53                   	push   %ebx
40fef2:	ff 75 fc             	push   -0x4(%ebp)
40fef5:	e8 42 15 03 00       	call   0x44143c
40fefa:	8b f0                	mov    %eax,%esi
40fefc:	85 f6                	test   %esi,%esi
40fefe:	0f 88 95 04 00 00    	js     0x410399
40ff04:	ff 77 2c             	push   0x2c(%edi)
40ff07:	bb 00 0b 45 00       	mov    $0x450b00,%ebx
40ff0c:	ff 77 28             	push   0x28(%edi)
40ff0f:	53                   	push   %ebx
40ff10:	ff 75 fc             	push   -0x4(%ebp)
40ff13:	e8 24 15 03 00       	call   0x44143c
40ff18:	8b f0                	mov    %eax,%esi
40ff1a:	85 f6                	test   %esi,%esi