41fd84:	8b 53 08             	mov    0x8(%ebx),%edx
41fd87:	8b 4b 0c             	mov    0xc(%ebx),%ecx
41fd8a:	8b 43 04             	mov    0x4(%ebx),%eax
41fd8d:	8b 30                	mov    (%eax),%esi
41fd8f:	ff 56 08             	call   *0x8(%esi)
41fd92:	8b f0                	mov    %eax,%esi
41fd94:	89 73 14             	mov    %esi,0x14(%ebx)
41fd97:	85 f6                	test   %esi,%esi
41fd99:	75 17                	jne    0x41fdb2
41fd9b:	8b 0d a0 71 6a 00    	mov    0x6a71a0,%ecx
41fda1:	b2 01                	mov    $0x1,%dl
41fda3:	a1 94 90 41 00       	mov    0x419094,%eax
41fda8:	e8 57 d1 fe ff       	call   0x40cf04
41fdad:	e8 92 44 fe ff       	call   0x404244
41fdb2:	33 c0                	xor    %eax,%eax
41fdb4:	89 43 10             	mov    %eax,0x10(%ebx)
41fdb7:	5e                   	pop    %esi
41fdb8:	5b                   	pop    %ebx
41fdb9:	c3                   	ret
41fdba:	8b c0                	mov    %eax,%eax
41fdbc:	53                   	push   %ebx
41fdbd:	8b d8                	mov    %eax,%ebx
41fdbf:	8b c3                	mov    %ebx,%eax
41fdc1:	e8 12 18 00 00       	call   0x4215d8
41fdc6:	3c 09                	cmp    $0x9,%al
41fdc8:	0f 94 c0             	sete   %al
41fdcb:	5b                   	pop    %ebx
41fdcc:	c3                   	ret
41fdcd:	8d 40 00             	lea    0x0(%eax),%eax
41fdd0:	55                   	push   %ebp
41fdd1:	8b ec                	mov    %esp,%ebp
41fdd3:	6a 00                	push   $0x0
41fdd5:	53                   	push   %ebx
41fdd6:	8b d8                	mov    %eax,%ebx
41fdd8:	33 c0                	xor    %eax,%eax
41fdda:	55                   	push   %ebp
41fddb:	68 1b fe 41 00       	push   $0x41fe1b
41fde0:	64 ff 30             	push   %fs:(%eax)
41fde3:	64 89 20             	mov    %esp,%fs:(%eax)
41fde6:	8d 55 fc             	lea    -0x4(%ebp),%edx
41fde9:	8b c3                	mov    %ebx,%eax
41fdeb:	e8 48 16 00 00       	call   0x421438
41fdf0:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fdf3:	e8 28 4d fe ff       	call   0x404b20
41fdf8:	48                   	dec    %eax
41fdf9:	7e 05                	jle    0x41fe00
41fdfb:	e8 24 fa ff ff       	call   0x41f824
41fe00:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fe03:	8a 18                	mov    (%eax),%bl
41fe05:	33 c0                	xor    %eax,%eax
41fe07:	5a                   	pop    %edx
41fe08:	59                   	pop    %ecx
41fe09:	59                   	pop    %ecx
41fe0a:	64 89 10             	mov    %edx,%fs:(%eax)
41fe0d:	68 22 fe 41 00       	push   $0x41fe22
41fe12:	8d 45 fc             	lea    -0x4(%ebp),%eax
41fe15:	e8 4e 4a fe ff       	call   0x404868
41fe1a:	c3                   	ret
41fe1b:	e9 ec 43 fe ff       	jmp    0x40420c
41fe20:	eb f0                	jmp    0x41fe12
41fe22:	8b c3                	mov    %ebx,%eax
41fe24:	5b                   	pop    %ebx
41fe25:	59                   	pop    %ecx
41fe26:	5d                   	pop    %ebp
41fe27:	c3                   	ret
41fe28:	55                   	push   %ebp
41fe29:	8b ec                	mov    %esp,%ebp
41fe2b:	51                   	push   %ecx
41fe2c:	53                   	push   %ebx
41fe2d:	56                   	push   %esi
41fe2e:	89 55 fc             	mov    %edx,-0x4(%ebp)
41fe31:	8b d8                	mov    %eax,%ebx
41fe33:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fe36:	8b 10                	mov    (%eax),%edx
41fe38:	ff 52 20             	call   *0x20(%edx)
41fe3b:	33 c0                	xor    %eax,%eax
41fe3d:	55                   	push   %ebp
41fe3e:	68 c8 fe 41 00       	push   $0x41fec8
41fe43:	64 ff 30             	push   %fs:(%eax)
41fe46:	64 89 20             	mov    %esp,%fs:(%eax)
41fe49:	8b c3                	mov    %ebx,%eax
41fe4b:	e8 7c fb ff ff       	call   0x41f9cc
41fe50:	84 c0                	test   %al,%al
41fe52:	75 4c                	jne    0x41fea0
41fe54:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fe57:	e8 8c cf ff ff       	call   0x41cde8
41fe5c:	eb 42                	jmp    0x41fea0
41fe5e:	8b c3                	mov    %ebx,%eax
41fe60:	e8 ab fe ff ff       	call   0x41fd10
41fe65:	04 fe                	add    $0xfe,%al
41fe67:	2c 03                	sub    $0x3,%al
41fe69:	73 07                	jae    0x41fe72
41fe6b:	8b c3                	mov    %ebx,%eax
41fe6d:	e8 5a 08 00 00       	call   0x4206cc
41fe72:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fe75:	e8 a2 ce ff ff       	call   0x41cd1c
41fe7a:	8b f0                	mov    %eax,%esi
41fe7c:	8b c3                	mov    %ebx,%eax
41fe7e:	e8 f9 08 00 00       	call   0x42077c
41fe83:	eb 09                	jmp    0x41fe8e
41fe85:	8b d6                	mov    %esi,%edx
41fe87:	8b c3                	mov    %ebx,%eax
41fe89:	e8 5a 0a 00 00       	call   0x4208e8
41fe8e:	8b c3                	mov    %ebx,%eax
41fe90:	e8 37 fb ff ff       	call   0x41f9cc
41fe95:	84 c0                	test   %al,%al
41fe97:	74 ec                	je     0x41fe85
41fe99:	8b c3                	mov    %ebx,%eax
41fe9b:	e8 e4 08 00 00       	call   0x420784
41fea0:	8b c3                	mov    %ebx,%eax
41fea2:	e8 25 fb ff ff       	call   0x41f9cc
41fea7:	84 c0                	test   %al,%al
41fea9:	74 b3                	je     0x41fe5e
41feab:	8b c3                	mov    %ebx,%eax
41fead:	e8 d2 08 00 00       	call   0x420784
41feb2:	33 c0                	xor    %eax,%eax
41feb4:	5a                   	pop    %edx
41feb5:	59                   	pop    %ecx
41feb6:	59                   	pop    %ecx
41feb7:	64 89 10             	mov    %edx,%fs:(%eax)
41feba:	68 cf fe 41 00       	push   $0x41fecf
41febf:	8b 45 fc             	mov    -0x4(%ebp),%eax
41fec2:	8b 10                	mov    (%eax),%edx
41fec4:	ff 52 24             	call   *0x24(%edx)
41fec7:	c3                   	ret
41fec8:	e9 3f 43 fe ff       	jmp    0x40420c
41fecd:	eb f0                	jmp    0x41febf
41fecf:	5e                   	pop    %esi
41fed0:	5b                   	pop    %ebx
41fed1:	59                   	pop    %ecx
41fed2:	5d                   	pop    %ebp
41fed3:	c3                   	ret
41fed4:	55                   	push   %ebp
41fed5:	8b ec                	mov    %esp,%ebp
41fed7:	8b 45 08             	mov    0x8(%ebp),%eax
41feda:	f6 40 ff 01          	testb  $0x1,-0x1(%eax)
41fede:	75 09                	jne    0x41fee9
41fee0:	8b 45 08             	mov    0x8(%ebp),%eax
41fee3:	83 78 f8 00          	cmpl   $0x0,-0x8(%eax)
41fee7:	74 04                	je     0x41feed
41fee9:	33 c0                	xor    %eax,%eax
41feeb:	5d                   	pop    %ebp
41feec:	c3                   	ret
41feed:	b0 01                	mov    $0x1,%al
41feef:	5d                   	pop    %ebp
41fef0:	c3                   	ret
41fef1:	8d 40 00             	lea    0x0(%eax),%eax
41fef4:	55                   	push   %ebp
41fef5:	8b ec                	mov    %esp,%ebp
41fef7:	53                   	push   %ebx
41fef8:	56                   	push   %esi
41fef9:	8b f0                	mov    %eax,%esi
41fefb:	33 db                	xor    %ebx,%ebx
41fefd:	e8 3a 29 fe ff       	call   0x40283c
41ff02:	8b 15 cc 84 40 00    	mov    0x4084cc,%edx
41ff08:	e8 f7 3c fe ff       	call   0x403c04
41ff0d:	84 c0                	test   %al,%al
41ff0f:	74 3b                	je     0x41ff4c
41ff11:	8b 45 08             	mov    0x8(%ebp),%eax
41ff14:	50                   	push   %eax
41ff15:	e8 ba ff ff ff       	call   0x41fed4
41ff1a:	59                   	pop    %ecx
41ff1b:	84 c0                	test   %al,%al
41ff1d:	74 07                	je     0x41ff26
41ff1f:	8b 06                	mov    (%esi),%eax
41ff21:	e8 52 3b fe ff       	call   0x403a78
41ff26:	33 c0                	xor    %eax,%eax
41ff28:	89 06                	mov    %eax,(%esi)
41ff2a:	8b 45 08             	mov    0x8(%ebp),%eax
41ff2d:	8b 40 f4             	mov    -0xc(%eax),%eax
41ff30:	33 d2                	xor    %edx,%edx
41ff32:	e8 95 19 00 00       	call   0x4218cc
41ff37:	e8 00 29 fe ff       	call   0x40283c
41ff3c:	8b 50 04             	mov    0x4(%eax),%edx
41ff3f:	8b 45 08             	mov    0x8(%ebp),%eax
41ff42:	8b 40 f4             	mov    -0xc(%eax),%eax
41ff45:	8b 08                	mov    (%eax),%ecx
41ff47:	ff 51 10             	call   *0x10(%ecx)
41ff4a:	8b d8                	mov    %eax,%ebx
41ff4c:	8b c3                	mov    %ebx,%eax
41ff4e:	5e                   	pop    %esi
41ff4f:	5b                   	pop    %ebx
41ff50:	5d                   	pop    %ebp
41ff51:	c3                   	ret
41ff52:	8b c0                	mov    %eax,%eax
41ff54:	55                   	push   %ebp
41ff55:	8b ec                	mov    %esp,%ebp
41ff57:	53                   	push   %ebx
41ff58:	56                   	push   %esi
41ff59:	57                   	push   %edi
41ff5a:	33 c0                	xor    %eax,%eax
41ff5c:	55                   	push   %ebp
41ff5d:	68 3a 00 42 00       	push   $0x42003a
41ff62:	64 ff 30             	push   %fs:(%eax)
41ff65:	64 89 20             	mov    %esp,%fs:(%eax)
41ff68:	8b 45 08             	mov    0x8(%ebp),%eax
41ff6b:	8b 50 ec             	mov    -0x14(%eax),%edx
41ff6e:	8b 45 08             	mov    0x8(%ebp),%eax
41ff71:	8b 40 f4             	mov    -0xc(%eax),%eax
41ff74:	e8 f3 1a 00 00       	call   0x421a6c
41ff79:	8b d8                	mov    %eax,%ebx
41ff7b:	8b 45 08             	mov    0x8(%ebp),%eax
41ff7e:	33 d2                	xor    %edx,%edx
41ff80:	89 50 f0             	mov    %edx,-0x10(%eax)
41ff83:	8b 45 08             	mov    0x8(%ebp),%eax
41ff86:	8b 40 f4             	mov    -0xc(%eax),%eax
41ff89:	66 83 78 6a 00       	cmpw   $0x0,0x6a(%eax)
41ff8e:	74 1b                	je     0x41ffab
41ff90:	8b 45 08             	mov    0x8(%ebp),%eax
41ff93:	83 c0 f0             	add    $0xfffffff0,%eax
41ff96:	50                   	push   %eax
41ff97:	8b 45 08             	mov    0x8(%ebp),%eax
41ff9a:	8b 70 f4             	mov    -0xc(%eax),%esi
41ff9d:	8b 45 08             	mov    0x8(%ebp),%eax
41ffa0:	8b 50 f4             	mov    -0xc(%eax),%edx
41ffa3:	8b cb                	mov    %ebx,%ecx
41ffa5:	8b 46 6c             	mov    0x6c(%esi),%eax
41ffa8:	ff 56 68             	call   *0x68(%esi)
41ffab:	8b 45 08             	mov    0x8(%ebp),%eax
41ffae:	83 78 f0 00          	cmpl   $0x0,-0x10(%eax)
41ffb2:	75 71                	jne    0x420025
41ffb4:	8b c3                	mov    %ebx,%eax
41ffb6:	ff 50 f4             	call   *-0xc(%eax)
41ffb9:	8b 55 08             	mov    0x8(%ebp),%edx
41ffbc:	89 42 f0             	mov    %eax,-0x10(%edx)
41ffbf:	8b 45 08             	mov    0x8(%ebp),%eax
41ffc2:	f6 40 ff 04          	testb  $0x4,-0x1(%eax)
41ffc6:	74 17                	je     0x41ffdf
41ffc8:	8b 45 08             	mov    0x8(%ebp),%eax
41ffcb:	8b 40 f0             	mov    -0x10(%eax),%eax
41ffce:	66 83 48 1c 01       	orw    $0x1,0x1c(%eax)
41ffd3:	8b 45 08             	mov    0x8(%ebp),%eax
41ffd6:	8b 40 f0             	mov    -0x10(%eax),%eax
41ffd9:	66 81 48 1c 00 02    	orw    $0x200,0x1c(%eax)
41ffdf:	33 c0                	xor    %eax,%eax
41ffe1:	55                   	push   %ebp
41ffe2:	68 0e 00 42 00       	push   $0x42000e
41ffe7:	64 ff 30             	push   %fs:(%eax)
41ffea:	64 89 20             	mov    %esp,%fs:(%eax)
41ffed:	8b 45 08             	mov    0x8(%ebp),%eax
41fff0:	8b 40 f4             	mov    -0xc(%eax),%eax
41fff3:	8b 48 28             	mov    0x28(%eax),%ecx
41fff6:	8b 45 08             	mov    0x8(%ebp),%eax
41fff9:	8b 40 f0             	mov    -0x10(%eax),%eax
41fffc:	83 ca ff             	or     $0xffffffff,%edx
41ffff:	8b 18                	mov    (%eax),%ebx
420001:	ff 53 2c             	call   *0x2c(%ebx)
420004:	33 c0                	xor    %eax,%eax
420006:	5a                   	pop    %edx
420007:	59                   	pop    %ecx
420008:	59                   	pop    %ecx
420009:	64 89 10             	mov    %edx,%fs:(%eax)
42000c:	eb 17                	jmp    0x420025
42000e:	e9 45 3f fe ff       	jmp    0x403f58
420013:	8b 45 08             	mov    0x8(%ebp),%eax
420016:	33 d2                	xor    %edx,%edx
420018:	89 50 f0             	mov    %edx,-0x10(%eax)
42001b:	e8 4c 42 fe ff       	call   0x40426c
420020:	e8 9b 42 fe ff       	call   0x4042c0
420025:	8b 45 08             	mov    0x8(%ebp),%eax
420028:	8b 40 f0             	mov    -0x10(%eax),%eax
42002b:	66 83 48 1c 01       	orw    $0x1,0x1c(%eax)
420030:	33 c0                	xor    %eax,%eax
420032:	5a                   	pop    %edx
420033:	59                   	pop    %ecx
420034:	59                   	pop    %ecx
420035:	64 89 10             	mov    %edx,%fs:(%eax)
420038:	eb 23                	jmp    0x42005d
42003a:	e9 19 3f fe ff       	jmp    0x403f58
42003f:	8b 45 08             	mov    0x8(%ebp),%eax
420042:	50                   	push   %eax
420043:	8b 45 08             	mov    0x8(%ebp),%eax
420046:	83 c0 f0             	add    $0xfffffff0,%eax
420049:	e8 a6 fe ff ff       	call   0x41fef4
42004e:	59                   	pop    %ecx
42004f:	84 c0                	test   %al,%al
420051:	75 05                	jne    0x420058
420053:	e8 14 42 fe ff       	call   0x40426c
420058:	e8 63 42 fe ff       	call   0x4042c0
42005d:	5f                   	pop    %edi
42005e:	5e                   	pop    %esi
42005f:	5b                   	pop    %ebx
420060:	5d                   	pop    %ebp
420061:	c3                   	ret
420062:	8b c0                	mov    %eax,%eax
420064:	55                   	push   %ebp
420065:	8b ec                	mov    %esp,%ebp
420067:	53                   	push   %ebx
420068:	56                   	push   %esi
420069:	57                   	push   %edi
42006a:	33 c0                	xor    %eax,%eax
42006c:	55                   	push   %ebp
42006d:	68 dc 00 42 00       	push   $0x4200dc
420072:	64 ff 30             	push   %fs:(%eax)
420075:	64 89 20             	mov    %esp,%fs:(%eax)
420078:	8b 45 08             	mov    0x8(%ebp),%eax
42007b:	8b 40 f4             	mov    -0xc(%eax),%eax
42007e:	8b 50 2c             	mov    0x2c(%eax),%edx
420081:	8b 45 08             	mov    0x8(%ebp),%eax
420084:	8b 40 f0             	mov    -0x10(%eax),%eax
420087:	66 be f8 ff          	mov    $0xfff8,%si
42008b:	e8 e4 3b fe ff       	call   0x403c74
420090:	8b 45 08             	mov    0x8(%ebp),%eax
420093:	8d 48 e8             	lea    -0x18(%eax),%ecx
420096:	8b 45 08             	mov    0x8(%ebp),%eax
420099:	8b 50 f0             	mov    -0x10(%eax),%edx
42009c:	8b 45 08             	mov    0x8(%ebp),%eax
42009f:	8b 40 f4             	mov    -0xc(%eax),%eax
4200a2:	8b 18                	mov    (%eax),%ebx
4200a4:	ff 53 1c             	call   *0x1c(%ebx)
4200a7:	8b 45 08             	mov    0x8(%ebp),%eax
4200aa:	8b 40 f0             	mov    -0x10(%eax),%eax
4200ad:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
4200b1:	74 1f                	je     0x4200d2
4200b3:	8b 45 08             	mov    0x8(%ebp),%eax
4200b6:	8b 40 e8             	mov    -0x18(%eax),%eax
4200b9:	e8 6e b6 ff ff       	call   0x41b72c
4200be:	8b 55 08             	mov    0x8(%ebp),%edx
4200c1:	3b 42 f0             	cmp    -0x10(%edx),%eax
4200c4:	75 0c                	jne    0x4200d2
4200c6:	8b 45 08             	mov    0x8(%ebp),%eax
4200c9:	8b 40 f0             	mov    -0x10(%eax),%eax
4200cc:	66 81 48 1c 00 02    	orw    $0x200,0x1c(%eax)
4200d2:	33 c0                	xor    %eax,%eax
4200d4:	5a                   	pop    %edx
4200d5:	59                   	pop    %ecx
4200d6:	59                   	pop    %ecx
4200d7:	64 89 10             	mov    %edx,%fs:(%eax)
4200da:	eb 23                	jmp    0x4200ff
4200dc:	e9 77 3e fe ff       	jmp    0x403f58
4200e1:	8b 45 08             	mov    0x8(%ebp),%eax
4200e4:	50                   	push   %eax
4200e5:	8b 45 08             	mov    0x8(%ebp),%eax
4200e8:	83 c0 f0             	add    $0xfffffff0,%eax
4200eb:	e8 04 fe ff ff       	call   0x41fef4
4200f0:	59                   	pop    %ecx
4200f1:	84 c0                	test   %al,%al
4200f3:	75 05                	jne    0x4200fa
4200f5:	e8 72 41 fe ff       	call   0x40426c
4200fa:	e8 c1 41 fe ff       	call   0x4042c0
4200ff:	5f                   	pop    %edi
420100:	5e                   	pop    %esi
420101:	5b                   	pop    %ebx
420102:	5d                   	pop    %ebp
420103:	c3                   	ret
420104:	55                   	push   %ebp
420105:	8b ec                	mov    %esp,%ebp
420107:	53                   	push   %ebx
420108:	56                   	push   %esi
420109:	57                   	push   %edi