41fc02:	be 05 40 00 80       	mov    $0x80004005,%esi
41fc07:	56                   	push   %esi
41fc08:	68 80 03 00 00       	push   $0x380
41fc0d:	68 94 9d 45 00       	push   $0x459d94
41fc12:	8b fe                	mov    %esi,%edi
41fc14:	e8 ba 3b fe ff       	call   0x4037d3
41fc19:	68 cc a4 45 00       	push   $0x45a4cc
41fc1e:	eb d1                	jmp    0x41fbf1
41fc20:	8b 01                	mov    (%ecx),%eax
41fc22:	8d 75 fc             	lea    -0x4(%ebp),%esi
41fc25:	56                   	push   %esi
41fc26:	6a 04                	push   $0x4
41fc28:	ff 32                	push   (%edx)
41fc2a:	51                   	push   %ecx
41fc2b:	ff 50 0c             	call   *0xc(%eax)
41fc2e:	8b f8                	mov    %eax,%edi
41fc30:	85 ff                	test   %edi,%edi
41fc32:	79 13                	jns    0x41fc47
41fc34:	be 05 40 00 80       	mov    $0x80004005,%esi
41fc39:	8b fe                	mov    %esi,%edi
41fc3b:	68 f8 a4 45 00       	push   $0x45a4f8
41fc40:	eb af                	jmp    0x41fbf1
41fc42:	bf 02 40 00 80       	mov    $0x80004002,%edi
41fc47:	8b c7                	mov    %edi,%eax
41fc49:	5f                   	pop    %edi
41fc4a:	5e                   	pop    %esi
41fc4b:	8b e5                	mov    %ebp,%esp
41fc4d:	5d                   	pop    %ebp
41fc4e:	c2 10 00             	ret    $0x10
41fc51:	55                   	push   %ebp
41fc52:	8b ec                	mov    %esp,%ebp
41fc54:	56                   	push   %esi
41fc55:	57                   	push   %edi
41fc56:	6a 14                	push   $0x14
41fc58:	e8 57 e4 00 00       	call   0x42e0b4
41fc5d:	59                   	pop    %ecx
41fc5e:	85 c0                	test   %eax,%eax
41fc60:	74 11                	je     0x41fc73
41fc62:	ff 75 0c             	push   0xc(%ebp)
41fc65:	8b c8                	mov    %eax,%ecx
41fc67:	ff 75 08             	push   0x8(%ebp)
41fc6a:	e8 c2 ec ff ff       	call   0x41e931
41fc6f:	8b f8                	mov    %eax,%edi
41fc71:	eb 02                	jmp    0x41fc75
41fc73:	33 ff                	xor    %edi,%edi
41fc75:	85 ff                	test   %edi,%edi
41fc77:	75 24                	jne    0x41fc9d
41fc79:	be 0e 00 07 80       	mov    $0x8007000e,%esi
41fc7e:	56                   	push   %esi
41fc7f:	68 b8 03 00 00       	push   $0x3b8
41fc84:	68 94 9d 45 00       	push   $0x459d94
41fc89:	e8 45 3b fe ff       	call   0x4037d3
41fc8e:	68 50 a5 45 00       	push   $0x45a550
41fc93:	56                   	push   %esi
41fc94:	e8 96 04 02 00       	call   0x44012f
41fc99:	59                   	pop    %ecx
41fc9a:	59                   	pop    %ecx
41fc9b:	eb 26                	jmp    0x41fcc3
41fc9d:	ff 75 10             	push   0x10(%ebp)
41fca0:	8b 07                	mov    (%edi),%eax
41fca2:	68 84 9d 45 00       	push   $0x459d84
41fca7:	57                   	push   %edi
41fca8:	ff 10                	call   *(%eax)
41fcaa:	8b f0                	mov    %eax,%esi
41fcac:	85 f6                	test   %esi,%esi
41fcae:	79 0d                	jns    0x41fcbd
41fcb0:	68 90 a5 45 00       	push   $0x45a590
41fcb5:	56                   	push   %esi
41fcb6:	e8 74 04 02 00       	call   0x44012f
41fcbb:	59                   	pop    %ecx
41fcbc:	59                   	pop    %ecx
41fcbd:	8b 07                	mov    (%edi),%eax
41fcbf:	57                   	push   %edi
41fcc0:	ff 50 08             	call   *0x8(%eax)
41fcc3:	5f                   	pop    %edi
41fcc4:	8b c6                	mov    %esi,%eax
41fcc6:	5e                   	pop    %esi
41fcc7:	5d                   	pop    %ebp
41fcc8:	c2 0c 00             	ret    $0xc
41fccb:	55                   	push   %ebp
41fccc:	8b ec                	mov    %esp,%ebp
41fcce:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41fcd2:	6a 00                	push   $0x0
41fcd4:	6a 10                	push   $0x10
41fcd6:	ff 75 08             	push   0x8(%ebp)
41fcd9:	74 07                	je     0x41fce2
41fcdb:	e8 1b fc 01 00       	call   0x43f8fb
41fce0:	eb 05                	jmp    0x41fce7
41fce2:	e8 ae fb 01 00       	call   0x43f895
41fce7:	5d                   	pop    %ebp
41fce8:	c2 08 00             	ret    $0x8
41fceb:	55                   	push   %ebp
41fcec:	8b ec                	mov    %esp,%ebp
41fcee:	53                   	push   %ebx
41fcef:	8b 5d 08             	mov    0x8(%ebp),%ebx
41fcf2:	56                   	push   %esi
41fcf3:	33 f6                	xor    %esi,%esi
41fcf5:	39 33                	cmp    %esi,(%ebx)
41fcf7:	0f 84 9d 00 00 00    	je     0x41fd9a
41fcfd:	57                   	push   %edi
41fcfe:	ff 33                	push   (%ebx)
41fd00:	e8 4c 3e fe ff       	call   0x403b51
41fd05:	8b f8                	mov    %eax,%edi
41fd07:	83 ff ff             	cmp    $0xffffffff,%edi
41fd0a:	75 0c                	jne    0x41fd18
41fd0c:	be 57 00 07 80       	mov    $0x80070057,%esi
41fd11:	68 a4 a6 45 00       	push   $0x45a6a4
41fd16:	eb 59                	jmp    0x41fd71
41fd18:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41fd1b:	83 e0 0f             	and    $0xf,%eax
41fd1e:	f7 d9                	neg    %ecx
41fd20:	6a 10                	push   $0x10
41fd22:	1b c9                	sbb    %ecx,%ecx
41fd24:	33 d2                	xor    %edx,%edx
41fd26:	23 c8                	and    %eax,%ecx
41fd28:	58                   	pop    %eax
41fd29:	2b c1                	sub    %ecx,%eax
41fd2b:	3b d1                	cmp    %ecx,%edx
41fd2d:	1b c9                	sbb    %ecx,%ecx
41fd2f:	23 c8                	and    %eax,%ecx
41fd31:	8b c1                	mov    %ecx,%eax
41fd33:	f7 d0                	not    %eax
41fd35:	3b c7                	cmp    %edi,%eax
41fd37:	73 16                	jae    0x41fd4f
41fd39:	57                   	push   %edi
41fd3a:	be 0d 00 07 80       	mov    $0x8007000d,%esi
41fd3f:	68 cc a6 45 00       	push   $0x45a6cc
41fd44:	56                   	push   %esi
41fd45:	e8 e5 03 02 00       	call   0x44012f
41fd4a:	83 c4 0c             	add    $0xc,%esp
41fd4d:	eb 4a                	jmp    0x41fd99
41fd4f:	85 c9                	test   %ecx,%ecx
41fd51:	74 2d                	je     0x41fd80
41fd53:	21 55 08             	and    %edx,0x8(%ebp)
41fd56:	8d 45 08             	lea    0x8(%ebp),%eax
41fd59:	50                   	push   %eax
41fd5a:	6a 01                	push   $0x1
41fd5c:	03 f9                	add    %ecx,%edi
41fd5e:	57                   	push   %edi
41fd5f:	ff 33                	push   (%ebx)
41fd61:	e8 31 3d fe ff       	call   0x403a97
41fd66:	8b f0                	mov    %eax,%esi
41fd68:	85 f6                	test   %esi,%esi
41fd6a:	79 0f                	jns    0x41fd7b
41fd6c:	68 ec a6 45 00       	push   $0x45a6ec
41fd71:	56                   	push   %esi
41fd72:	e8 b8 03 02 00       	call   0x44012f
41fd77:	59                   	pop    %ecx
41fd78:	59                   	pop    %ecx
41fd79:	eb 1e                	jmp    0x41fd99
41fd7b:	8b 45 08             	mov    0x8(%ebp),%eax
41fd7e:	89 03                	mov    %eax,(%ebx)
41fd80:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41fd84:	6a 00                	push   $0x0
41fd86:	57                   	push   %edi
41fd87:	ff 33                	push   (%ebx)
41fd89:	74 07                	je     0x41fd92
41fd8b:	e8 6b fb 01 00       	call   0x43f8fb
41fd90:	eb 05                	jmp    0x41fd97
41fd92:	e8 fe fa 01 00       	call   0x43f895
41fd97:	8b f0                	mov    %eax,%esi
41fd99:	5f                   	pop    %edi
41fd9a:	8b c6                	mov    %esi,%eax
41fd9c:	5e                   	pop    %esi
41fd9d:	5b                   	pop    %ebx
41fd9e:	5d                   	pop    %ebp
41fd9f:	c2 08 00             	ret    $0x8
41fda2:	55                   	push   %ebp
41fda3:	8b ec                	mov    %esp,%ebp
41fda5:	53                   	push   %ebx
41fda6:	56                   	push   %esi
41fda7:	57                   	push   %edi
41fda8:	8b 7d 08             	mov    0x8(%ebp),%edi
41fdab:	33 db                	xor    %ebx,%ebx
41fdad:	8b f3                	mov    %ebx,%esi
41fdaf:	39 5f 14             	cmp    %ebx,0x14(%edi)
41fdb2:	74 1e                	je     0x41fdd2
41fdb4:	53                   	push   %ebx
41fdb5:	6a 10                	push   $0x10
41fdb7:	57                   	push   %edi
41fdb8:	e8 d8 fa 01 00       	call   0x43f895
41fdbd:	8b f0                	mov    %eax,%esi
41fdbf:	85 f6                	test   %esi,%esi
41fdc1:	79 0f                	jns    0x41fdd2
41fdc3:	68 24 a7 45 00       	push   $0x45a724
41fdc8:	56                   	push   %esi
41fdc9:	e8 61 03 02 00       	call   0x44012f
41fdce:	59                   	pop    %ecx
41fdcf:	59                   	pop    %ecx
41fdd0:	eb 1d                	jmp    0x41fdef
41fdd2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41fdd5:	8b 07                	mov    (%edi),%eax
41fdd7:	89 01                	mov    %eax,(%ecx)
41fdd9:	8b 47 04             	mov    0x4(%edi),%eax
41fddc:	89 41 04             	mov    %eax,0x4(%ecx)
41fddf:	39 5f 14             	cmp    %ebx,0x14(%edi)
41fde2:	74 0b                	je     0x41fdef
41fde4:	53                   	push   %ebx
41fde5:	6a 10                	push   $0x10
41fde7:	57                   	push   %edi
41fde8:	e8 0e fb 01 00       	call   0x43f8fb
41fded:	8b f0                	mov    %eax,%esi
41fdef:	5f                   	pop    %edi
41fdf0:	8b c6                	mov    %esi,%eax
41fdf2:	5e                   	pop    %esi
41fdf3:	5b                   	pop    %ebx
41fdf4:	5d                   	pop    %ebp
41fdf5:	c2 08 00             	ret    $0x8
41fdf8:	55                   	push   %ebp
41fdf9:	8b ec                	mov    %esp,%ebp
41fdfb:	53                   	push   %ebx
41fdfc:	56                   	push   %esi
41fdfd:	57                   	push   %edi
41fdfe:	8b 7d 08             	mov    0x8(%ebp),%edi
41fe01:	33 db                	xor    %ebx,%ebx
41fe03:	8b f3                	mov    %ebx,%esi
41fe05:	39 1f                	cmp    %ebx,(%edi)
41fe07:	75 07                	jne    0x41fe10
41fe09:	8b 45 0c             	mov    0xc(%ebp),%eax
41fe0c:	89 18                	mov    %ebx,(%eax)
41fe0e:	eb 48                	jmp    0x41fe58
41fe10:	39 5f 14             	cmp    %ebx,0x14(%edi)
41fe13:	74 1c                	je     0x41fe31
41fe15:	53                   	push   %ebx
41fe16:	57                   	push   %edi
41fe17:	e8 cf fe ff ff       	call   0x41fceb
41fe1c:	8b f0                	mov    %eax,%esi
41fe1e:	85 f6                	test   %esi,%esi
41fe20:	79 0f                	jns    0x41fe31
41fe22:	68 40 a7 45 00       	push   $0x45a740
41fe27:	56                   	push   %esi
41fe28:	e8 02 03 02 00       	call   0x44012f
41fe2d:	59                   	pop    %ecx
41fe2e:	59                   	pop    %ecx
41fe2f:	eb 27                	jmp    0x41fe58
41fe31:	53                   	push   %ebx
41fe32:	ff 37                	push   (%edi)
41fe34:	ff 75 0c             	push   0xc(%ebp)
41fe37:	e8 bd 24 fe ff       	call   0x4022f9
41fe3c:	8b f0                	mov    %eax,%esi
41fe3e:	85 f6                	test   %esi,%esi
41fe40:	79 07                	jns    0x41fe49
41fe42:	68 5c a7 45 00       	push   $0x45a75c
41fe47:	eb de                	jmp    0x41fe27
41fe49:	39 5f 14             	cmp    %ebx,0x14(%edi)
41fe4c:	74 0a                	je     0x41fe58
41fe4e:	6a 01                	push   $0x1
41fe50:	57                   	push   %edi
41fe51:	e8 95 fe ff ff       	call   0x41fceb
41fe56:	8b f0                	mov    %eax,%esi
41fe58:	5f                   	pop    %edi
41fe59:	8b c6                	mov    %esi,%eax
41fe5b:	5e                   	pop    %esi
41fe5c:	5b                   	pop    %ebx
41fe5d:	5d                   	pop    %ebp
41fe5e:	c2 08 00             	ret    $0x8
41fe61:	55                   	push   %ebp
41fe62:	8b ec                	mov    %esp,%ebp
41fe64:	53                   	push   %ebx
41fe65:	56                   	push   %esi
41fe66:	57                   	push   %edi
41fe67:	8b 7d 08             	mov    0x8(%ebp),%edi
41fe6a:	33 db                	xor    %ebx,%ebx
41fe6c:	8b f3                	mov    %ebx,%esi
41fe6e:	39 5f 14             	cmp    %ebx,0x14(%edi)
41fe71:	74 1e                	je     0x41fe91
41fe73:	53                   	push   %ebx
41fe74:	6a 10                	push   $0x10
41fe76:	57                   	push   %edi
41fe77:	e8 19 fa 01 00       	call   0x43f895
41fe7c:	8b f0                	mov    %eax,%esi
41fe7e:	85 f6                	test   %esi,%esi
41fe80:	79 0f                	jns    0x41fe91
41fe82:	68 74 a7 45 00       	push   $0x45a774
41fe87:	56                   	push   %esi
41fe88:	e8 a2 02 02 00       	call   0x44012f
41fe8d:	59                   	pop    %ecx
41fe8e:	59                   	pop    %ecx
41fe8f:	eb 1d                	jmp    0x41feae
41fe91:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41fe94:	8b 07                	mov    (%edi),%eax
41fe96:	89 01                	mov    %eax,(%ecx)
41fe98:	8b 47 04             	mov    0x4(%edi),%eax
41fe9b:	89 41 04             	mov    %eax,0x4(%ecx)
41fe9e:	39 5f 14             	cmp    %ebx,0x14(%edi)
41fea1:	74 0b                	je     0x41feae
41fea3:	53                   	push   %ebx
41fea4:	6a 10                	push   $0x10
41fea6:	57                   	push   %edi
41fea7:	e8 4f fa 01 00       	call   0x43f8fb
41feac:	8b f0                	mov    %eax,%esi
41feae:	5f                   	pop    %edi
41feaf:	8b c6                	mov    %esi,%eax
41feb1:	5e                   	pop    %esi
41feb2:	5b                   	pop    %ebx
41feb3:	5d                   	pop    %ebp
41feb4:	c2 08 00             	ret    $0x8
41feb7:	55                   	push   %ebp
41feb8:	8b ec                	mov    %esp,%ebp
41feba:	83 ec 18             	sub    $0x18,%esp
41febd:	53                   	push   %ebx
41febe:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41fec1:	33 c0                	xor    %eax,%eax
41fec3:	56                   	push   %esi
41fec4:	57                   	push   %edi
41fec5:	6a 06                	push   $0x6
41fec7:	59                   	pop    %ecx
41fec8:	8d 7d e8             	lea    -0x18(%ebp),%edi
41fecb:	33 f6                	xor    %esi,%esi
41fecd:	f3 ab                	rep stos %eax,%es:(%edi)
41fecf:	8b 7d 08             	mov    0x8(%ebp),%edi
41fed2:	8b 47 14             	mov    0x14(%edi),%eax
41fed5:	89 45 08             	mov    %eax,0x8(%ebp)
41fed8:	39 5f 10             	cmp    %ebx,0x10(%edi)
41fedb:	0f 84 87 00 00 00    	je     0x41ff68
41fee1:	8b c3                	mov    %ebx,%eax
41fee3:	2b c6                	sub    %esi,%eax
41fee5:	74 3c                	je     0x41ff23
41fee7:	83 e8 01             	sub    $0x1,%eax
41feea:	74 29                	je     0x41ff15
41feec:	83 e8 01             	sub    $0x1,%eax
41feef:	74 18                	je     0x41ff09
41fef1:	83 e8 01             	sub    $0x1,%eax
41fef4:	74 07                	je     0x41fefd
41fef6:	be 57 00 07 80       	mov    $0x80070057,%esi
41fefb:	eb 6b                	jmp    0x41ff68
41fefd:	8d 45 e8             	lea    -0x18(%ebp),%eax
41ff00:	50                   	push   %eax
41ff01:	57                   	push   %edi
41ff02:	e8 c9 02 00 00       	call   0x4201d0
41ff07:	eb 16                	jmp    0x41ff1f
41ff09:	8d 45 e8             	lea    -0x18(%ebp),%eax
41ff0c:	50                   	push   %eax
41ff0d:	57                   	push   %edi
41ff0e:	e8 cd 01 00 00       	call   0x4200e0
41ff13:	eb 0a                	jmp    0x41ff1f
41ff15:	8d 45 e8             	lea    -0x18(%ebp),%eax
41ff18:	50                   	push   %eax
41ff19:	57                   	push   %edi
41ff1a:	e8 4b 01 00 00       	call   0x42006a
41ff1f:	8b f0                	mov    %eax,%esi
41ff21:	eb 02                	jmp    0x41ff25
41ff23:	33 f6                	xor    %esi,%esi
41ff25:	85 f6                	test   %esi,%esi
41ff27:	79 0f                	jns    0x41ff38
41ff29:	68 54 a6 45 00       	push   $0x45a654
41ff2e:	56                   	push   %esi
41ff2f:	e8 fb 01 02 00       	call   0x44012f
41ff34:	59                   	pop    %ecx
41ff35:	59                   	pop    %ecx