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
4202ff:	33 c0                	xor    %eax,%eax
420301:	5a                   	pop    %edx
420302:	59                   	pop    %ecx
420303:	59                   	pop    %ecx
420304:	64 89 10             	mov    %edx,%fs:(%eax)
420307:	eb 22                	jmp    0x42032b
420309:	e9 4a 3c fe ff       	jmp    0x403f58
42030e:	55                   	push   %ebp
42030f:	e8 c0 fb ff ff       	call   0x41fed4
420314:	59                   	pop    %ecx
420315:	84 c0                	test   %al,%al
420317:	74 08                	je     0x420321
420319:	8b 45 f0             	mov    -0x10(%ebp),%eax
42031c:	e8 57 37 fe ff       	call   0x403a78
420321:	e8 46 3f fe ff       	call   0x40426c
420326:	e8 95 3f fe ff       	call   0x4042c0
42032b:	33 c0                	xor    %eax,%eax
42032d:	5a                   	pop    %edx
42032e:	59                   	pop    %ecx
42032f:	59                   	pop    %ecx
420330:	64 89 10             	mov    %edx,%fs:(%eax)
420333:	68 52 03 42 00       	push   $0x420352
420338:	8b 45 f4             	mov    -0xc(%ebp),%eax
42033b:	8b 55 e0             	mov    -0x20(%ebp),%edx
42033e:	89 50 2c             	mov    %edx,0x2c(%eax)
420341:	8b 45 f4             	mov    -0xc(%ebp),%eax
420344:	8b 55 dc             	mov    -0x24(%ebp),%edx
420347:	89 50 1c             	mov    %edx,0x1c(%eax)
42034a:	c3                   	ret
42034b:	e9 bc 3e fe ff       	jmp    0x40420c
420350:	eb e6                	jmp    0x420338
420352:	33 c0                	xor    %eax,%eax
420354:	5a                   	pop    %edx
420355:	59                   	pop    %ecx
420356:	59                   	pop    %ecx
420357:	64 89 10             	mov    %edx,%fs:(%eax)
42035a:	68 74 03 42 00       	push   $0x420374
42035f:	8d 45 e8             	lea    -0x18(%ebp),%eax
420362:	ba 02 00 00 00       	mov    $0x2,%edx
420367:	e8 20 45 fe ff       	call   0x40488c
42036c:	c3                   	ret
42036d:	e9 9a 3e fe ff       	jmp    0x40420c
420372:	eb eb                	jmp    0x42035f
420374:	8b 45 f0             	mov    -0x10(%ebp),%eax
420377:	5f                   	pop    %edi
420378:	5e                   	pop    %esi
420379:	5b                   	pop    %ebx
42037a:	8b e5                	mov    %ebp,%esp
42037c:	5d                   	pop    %ebp
42037d:	c3                   	ret
42037e:	8b c0                	mov    %eax,%eax
420380:	55                   	push   %ebp
420381:	8b ec                	mov    %esp,%ebp
420383:	51                   	push   %ecx
420384:	53                   	push   %ebx
420385:	8b da                	mov    %edx,%ebx
420387:	89 45 fc             	mov    %eax,-0x4(%ebp)
42038a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42038d:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
420391:	75 4f                	jne    0x4203e2
420393:	b2 01                	mov    $0x1,%dl
420395:	a1 24 94 41 00       	mov    0x419424,%eax
42039a:	e8 a9 36 fe ff       	call   0x403a48
42039f:	8b 55 fc             	mov    -0x4(%ebp),%edx
4203a2:	89 42 30             	mov    %eax,0x30(%edx)
4203a5:	33 c0                	xor    %eax,%eax
4203a7:	55                   	push   %ebp
4203a8:	68 db 03 42 00       	push   $0x4203db
4203ad:	64 ff 30             	push   %fs:(%eax)
4203b0:	64 89 20             	mov    %esp,%fs:(%eax)
4203b3:	8b d3                	mov    %ebx,%edx
4203b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4203b8:	e8 33 00 00 00       	call   0x4203f0
4203bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4203c0:	e8 1f f7 ff ff       	call   0x41fae4
4203c5:	33 c0                	xor    %eax,%eax
4203c7:	5a                   	pop    %edx
4203c8:	59                   	pop    %ecx
4203c9:	59                   	pop    %ecx
4203ca:	64 89 10             	mov    %edx,%fs:(%eax)
4203cd:	68 ec 03 42 00       	push   $0x4203ec
4203d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4203d5:	e8 4e f8 ff ff       	call   0x41fc28
4203da:	c3                   	ret
4203db:	e9 2c 3e fe ff       	jmp    0x40420c
4203e0:	eb f0                	jmp    0x4203d2
4203e2:	8b d3                	mov    %ebx,%edx
4203e4:	8b 45 fc             	mov    -0x4(%ebp),%eax
4203e7:	e8 04 00 00 00       	call   0x4203f0
4203ec:	5b                   	pop    %ebx
4203ed:	59                   	pop    %ecx
4203ee:	5d                   	pop    %ebp
4203ef:	c3                   	ret
4203f0:	55                   	push   %ebp
4203f1:	8b ec                	mov    %esp,%ebp
4203f3:	83 c4 f4             	add    $0xfffffff4,%esp
4203f6:	53                   	push   %ebx
4203f7:	56                   	push   %esi
4203f8:	57                   	push   %edi
4203f9:	8b da                	mov    %edx,%ebx
4203fb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4203fe:	eb 0a                	jmp    0x42040a
420400:	8b d3                	mov    %ebx,%edx
420402:	8b 45 fc             	mov    -0x4(%ebp),%eax
420405:	e8 de 04 00 00       	call   0x4208e8
42040a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42040d:	e8 ba f5 ff ff       	call   0x41f9cc
420412:	84 c0                	test   %al,%al
420414:	74 ea                	je     0x420400
420416:	8b 45 fc             	mov    -0x4(%ebp),%eax
420419:	e8 66 03 00 00       	call   0x420784
42041e:	8b 45 fc             	mov    -0x4(%ebp),%eax
420421:	8b 40 2c             	mov    0x2c(%eax),%eax
420424:	89 45 f8             	mov    %eax,-0x8(%ebp)
420427:	8b 45 fc             	mov    -0x4(%ebp),%eax
42042a:	8b 40 28             	mov    0x28(%eax),%eax
42042d:	89 45 f4             	mov    %eax,-0xc(%ebp)
420430:	8b c3                	mov    %ebx,%eax
420432:	66 be fb ff          	mov    $0xfffb,%si
420436:	e8 39 38 fe ff       	call   0x403c74
42043b:	8b 55 fc             	mov    -0x4(%ebp),%edx
42043e:	89 42 2c             	mov    %eax,0x2c(%edx)
420441:	33 c0                	xor    %eax,%eax
420443:	55                   	push   %ebp
420444:	68 b2 04 42 00       	push   $0x4204b2
420449:	64 ff 30             	push   %fs:(%eax)
42044c:	64 89 20             	mov    %esp,%fs:(%eax)
42044f:	8b c3                	mov    %ebx,%eax
420451:	66 be fc ff          	mov    $0xfffc,%si
420455:	e8 1a 38 fe ff       	call   0x403c74
42045a:	8b f8                	mov    %eax,%edi
42045c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42045f:	89 78 28             	mov    %edi,0x28(%eax)
420462:	85 ff                	test   %edi,%edi
420464:	75 18                	jne    0x42047e
420466:	8b 45 fc             	mov    -0x4(%ebp),%eax
420469:	8b 40 18             	mov    0x18(%eax),%eax
42046c:	8b 55 fc             	mov    -0x4(%ebp),%edx
42046f:	89 42 28             	mov    %eax,0x28(%edx)
420472:	eb 0a                	jmp    0x42047e
420474:	33 d2                	xor    %edx,%edx
420476:	8b 45 fc             	mov    -0x4(%ebp),%eax
420479:	e8 2a fd ff ff       	call   0x4201a8
42047e:	8b 45 fc             	mov    -0x4(%ebp),%eax
420481:	e8 46 f5 ff ff       	call   0x41f9cc
420486:	84 c0                	test   %al,%al
420488:	74 ea                	je     0x420474
42048a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42048d:	e8 f2 02 00 00       	call   0x420784
420492:	33 c0                	xor    %eax,%eax
420494:	5a                   	pop    %edx
420495:	59                   	pop    %ecx
420496:	59                   	pop    %ecx
420497:	64 89 10             	mov    %edx,%fs:(%eax)
42049a:	68 b9 04 42 00       	push   $0x4204b9
42049f:	8b 45 fc             	mov    -0x4(%ebp),%eax
4204a2:	8b 55 f8             	mov    -0x8(%ebp),%edx
4204a5:	89 50 2c             	mov    %edx,0x2c(%eax)
4204a8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4204ab:	8b 55 f4             	mov    -0xc(%ebp),%edx
4204ae:	89 50 28             	mov    %edx,0x28(%eax)
4204b1:	c3                   	ret
4204b2:	e9 55 3d fe ff       	jmp    0x40420c
4204b7:	eb e6                	jmp    0x42049f
4204b9:	5f                   	pop    %edi
4204ba:	5e                   	pop    %esi
4204bb:	5b                   	pop    %ebx
4204bc:	8b e5                	mov    %ebp,%esp
4204be:	5d                   	pop    %ebp
4204bf:	c3                   	ret
4204c0:	53                   	push   %ebx
4204c1:	83 c4 f0             	add    $0xfffffff0,%esp
4204c4:	8b d8                	mov    %eax,%ebx
4204c6:	8b c3                	mov    %ebx,%eax
4204c8:	e8 0b 11 00 00       	call   0x4215d8