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
42010a:	33 c0                	xor    %eax,%eax
42010c:	55                   	push   %ebp
42010d:	68 7f 01 42 00       	push   $0x42017f
420112:	64 ff 30             	push   %fs:(%eax)
420115:	64 89 20             	mov    %esp,%fs:(%eax)
420118:	8b 45 08             	mov    0x8(%ebp),%eax
42011b:	8b 50 ec             	mov    -0x14(%eax),%edx
42011e:	8b 45 08             	mov    0x8(%ebp),%eax
420121:	8b 40 f4             	mov    -0xc(%eax),%eax
420124:	e8 43 19 00 00       	call   0x421a6c
420129:	8b c8                	mov    %eax,%ecx
42012b:	8b 45 08             	mov    0x8(%ebp),%eax
42012e:	8b 50 e8             	mov    -0x18(%eax),%edx
420131:	8b 45 08             	mov    0x8(%ebp),%eax
420134:	8b 40 f4             	mov    -0xc(%eax),%eax
420137:	8b 18                	mov    (%eax),%ebx
420139:	ff 53 14             	call   *0x14(%ebx)
42013c:	8b 55 08             	mov    0x8(%ebp),%edx
42013f:	89 42 f0             	mov    %eax,-0x10(%edx)
420142:	8b 45 08             	mov    0x8(%ebp),%eax
420145:	8b 40 f0             	mov    -0x10(%eax),%eax
420148:	66 be f2 ff          	mov    $0xfff2,%si
42014c:	e8 23 3b fe ff       	call   0x403c74
420151:	8b d8                	mov    %eax,%ebx
420153:	8b 45 08             	mov    0x8(%ebp),%eax
420156:	8b 40 f4             	mov    -0xc(%eax),%eax
420159:	89 58 2c             	mov    %ebx,0x2c(%eax)
42015c:	8b 45 08             	mov    0x8(%ebp),%eax
42015f:	85 db                	test   %ebx,%ebx
420161:	75 12                	jne    0x420175
420163:	8b 45 08             	mov    0x8(%ebp),%eax
420166:	8b 40 f4             	mov    -0xc(%eax),%eax
420169:	8b 40 18             	mov    0x18(%eax),%eax
42016c:	8b 55 08             	mov    0x8(%ebp),%edx
42016f:	8b 52 f4             	mov    -0xc(%edx),%edx
420172:	89 42 2c             	mov    %eax,0x2c(%edx)
420175:	33 c0                	xor    %eax,%eax
420177:	5a                   	pop    %edx
420178:	59                   	pop    %ecx
420179:	59                   	pop    %ecx
42017a:	64 89 10             	mov    %edx,%fs:(%eax)
42017d:	eb 23                	jmp    0x4201a2
42017f:	e9 d4 3d fe ff       	jmp    0x403f58
420184:	8b 45 08             	mov    0x8(%ebp),%eax
420187:	50                   	push   %eax
420188:	8b 45 08             	mov    0x8(%ebp),%eax
42018b:	83 c0 f0             	add    $0xfffffff0,%eax
42018e:	e8 61 fd ff ff       	call   0x41fef4
420193:	59                   	pop    %ecx
420194:	84 c0                	test   %al,%al
420196:	75 05                	jne    0x42019d
420198:	e8 cf 40 fe ff       	call   0x40426c
42019d:	e8 1e 41 fe ff       	call   0x4042c0
4201a2:	5f                   	pop    %edi
4201a3:	5e                   	pop    %esi
4201a4:	5b                   	pop    %ebx
4201a5:	5d                   	pop    %ebp
4201a6:	c3                   	ret
4201a7:	90                   	nop
4201a8:	55                   	push   %ebp
4201a9:	8b ec                	mov    %esp,%ebp
4201ab:	83 c4 dc             	add    $0xffffffdc,%esp
4201ae:	53                   	push   %ebx
4201af:	56                   	push   %esi
4201b0:	57                   	push   %edi
4201b1:	33 c9                	xor    %ecx,%ecx
4201b3:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4201b6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4201b9:	89 55 f8             	mov    %edx,-0x8(%ebp)
4201bc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4201bf:	33 c0                	xor    %eax,%eax
4201c1:	55                   	push   %ebp
4201c2:	68 6d 03 42 00       	push   $0x42036d
4201c7:	64 ff 30             	push   %fs:(%eax)
4201ca:	64 89 20             	mov    %esp,%fs:(%eax)
4201cd:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4201d0:	8d 55 ff             	lea    -0x1(%ebp),%edx
4201d3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4201d6:	8b 18                	mov    (%eax),%ebx
4201d8:	ff 53 24             	call   *0x24(%ebx)
4201db:	8d 55 ec             	lea    -0x14(%ebp),%edx
4201de:	8b 45 f4             	mov    -0xc(%ebp),%eax
4201e1:	e8 16 12 00 00       	call   0x4213fc
4201e6:	8d 55 e8             	lea    -0x18(%ebp),%edx
4201e9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4201ec:	e8 0b 12 00 00       	call   0x4213fc
4201f1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4201f4:	8b 40 2c             	mov    0x2c(%eax),%eax
4201f7:	89 45 e0             	mov    %eax,-0x20(%ebp)
4201fa:	8b 45 f4             	mov    -0xc(%ebp),%eax
4201fd:	8b 40 1c             	mov    0x1c(%eax),%eax
420200:	89 45 dc             	mov    %eax,-0x24(%ebp)
420203:	33 c0                	xor    %eax,%eax
420205:	55                   	push   %ebp
420206:	68 4b 03 42 00       	push   $0x42034b
42020b:	64 ff 30             	push   %fs:(%eax)
42020e:	64 89 20             	mov    %esp,%fs:(%eax)
420211:	8b 45 f8             	mov    -0x8(%ebp),%eax
420214:	89 45 f0             	mov    %eax,-0x10(%ebp)
420217:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
42021b:	75 16                	jne    0x420233
42021d:	f6 45 ff 01          	testb  $0x1,-0x1(%ebp)
420221:	74 09                	je     0x42022c
420223:	55                   	push   %ebp
420224:	e8 db fe ff ff       	call   0x420104
420229:	59                   	pop    %ecx
42022a:	eb 07                	jmp    0x420233
42022c:	55                   	push   %ebp
42022d:	e8 22 fd ff ff       	call   0x41ff54
420232:	59                   	pop    %ecx
420233:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
420237:	0f 84 ee 00 00 00    	je     0x42032b
42023d:	33 c0                	xor    %eax,%eax
42023f:	55                   	push   %ebp
420240:	68 09 03 42 00       	push   $0x420309
420245:	64 ff 30             	push   %fs:(%eax)
420248:	64 89 20             	mov    %esp,%fs:(%eax)
42024b:	8b 45 f0             	mov    -0x10(%ebp),%eax
42024e:	66 83 48 1c 01       	orw    $0x1,0x1c(%eax)
420253:	f6 45 ff 01          	testb  $0x1,-0x1(%ebp)
420257:	75 07                	jne    0x420260
420259:	55                   	push   %ebp
42025a:	e8 05 fe ff ff       	call   0x420064
42025f:	59                   	pop    %ecx
420260:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
420264:	75 12                	jne    0x420278
420266:	33 c0                	xor    %eax,%eax
420268:	5a                   	pop    %edx
420269:	59                   	pop    %ecx
42026a:	59                   	pop    %ecx
42026b:	64 89 10             	mov    %edx,%fs:(%eax)
42026e:	e8 7d 40 fe ff       	call   0x4042f0
420273:	e9 da 00 00 00       	jmp    0x420352
420278:	8b 45 f0             	mov    -0x10(%ebp),%eax
42027b:	f6 40 1d 02          	testb  $0x2,0x1d(%eax)
42027f:	74 09                	je     0x42028a
420281:	8b 45 f4             	mov    -0xc(%ebp),%eax
420284:	8b 55 f0             	mov    -0x10(%ebp),%edx
420287:	89 50 1c             	mov    %edx,0x1c(%eax)
42028a:	8b 45 f0             	mov    -0x10(%ebp),%eax
42028d:	66 83 48 1c 02       	orw    $0x2,0x1c(%eax)
420292:	8b 55 f4             	mov    -0xc(%ebp),%edx
420295:	8b 45 f0             	mov    -0x10(%ebp),%eax
420298:	8b 08                	mov    (%eax),%ecx
42029a:	ff 51 14             	call   *0x14(%ecx)
42029d:	8b 45 f0             	mov    -0x10(%ebp),%eax
4202a0:	66 83 60 1c fd       	andw   $0xfffd,0x1c(%eax)
4202a5:	f6 45 ff 02          	testb  $0x2,-0x1(%ebp)
4202a9:	74 15                	je     0x4202c0
4202ab:	8b 45 f4             	mov    -0xc(%ebp),%eax
4202ae:	8b 40 2c             	mov    0x2c(%eax),%eax
4202b1:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4202b4:	8b 55 f0             	mov    -0x10(%ebp),%edx
4202b7:	66 be f9 ff          	mov    $0xfff9,%si
4202bb:	e8 b4 39 fe ff       	call   0x403c74
4202c0:	f6 45 ff 01          	testb  $0x1,-0x1(%ebp)
4202c4:	75 09                	jne    0x4202cf
4202c6:	8b 45 f0             	mov    -0x10(%ebp),%eax
4202c9:	f6 40 1d 02          	testb  $0x2,0x1d(%eax)
4202cd:	74 22                	je     0x4202f1
4202cf:	8b 45 f4             	mov    -0xc(%ebp),%eax
4202d2:	8b 40 34             	mov    0x34(%eax),%eax
4202d5:	8b 55 f0             	mov    -0x10(%ebp),%edx
4202d8:	e8 3f bb ff ff       	call   0x41be1c
4202dd:	85 c0                	test   %eax,%eax
4202df:	7d 1e                	jge    0x4202ff
4202e1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4202e4:	8b 40 34             	mov    0x34(%eax),%eax
4202e7:	8b 55 f0             	mov    -0x10(%ebp),%edx
4202ea:	e8 25 b9 ff ff       	call   0x41bc14
4202ef:	eb 0e                	jmp    0x4202ff
4202f1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4202f4:	8b 40 34             	mov    0x34(%eax),%eax
4202f7:	8b 55 f0             	mov    -0x10(%ebp),%edx
4202fa:	e8 15 b9 ff ff       	call   0x41bc14