41c19c:	8b 14 b0             	mov    (%eax,%esi,4),%edx
41c19f:	8b 45 08             	mov    0x8(%ebp),%eax
41c1a2:	8b 40 f8             	mov    -0x8(%eax),%eax
41c1a5:	8b 40 34             	mov    0x34(%eax),%eax
41c1a8:	e8 cb be ff ff       	call   0x418078
41c1ad:	46                   	inc    %esi
41c1ae:	4b                   	dec    %ebx
41c1af:	75 e5                	jne    0x41c196
41c1b1:	5e                   	pop    %esi
41c1b2:	5b                   	pop    %ebx
41c1b3:	5d                   	pop    %ebp
41c1b4:	c3                   	ret
41c1b5:	8d 40 00             	lea    0x0(%eax),%eax
41c1b8:	55                   	push   %ebp
41c1b9:	8b ec                	mov    %esp,%ebp
41c1bb:	53                   	push   %ebx
41c1bc:	56                   	push   %esi
41c1bd:	57                   	push   %edi
41c1be:	8b f8                	mov    %eax,%edi
41c1c0:	8b c7                	mov    %edi,%eax
41c1c2:	e8 89 2c 00 00       	call   0x41ee50
41c1c7:	8b f0                	mov    %eax,%esi
41c1c9:	4e                   	dec    %esi
41c1ca:	85 f6                	test   %esi,%esi
41c1cc:	7c 5c                	jl     0x41c22a
41c1ce:	46                   	inc    %esi
41c1cf:	33 db                	xor    %ebx,%ebx
41c1d1:	8b d3                	mov    %ebx,%edx
41c1d3:	8b c7                	mov    %edi,%eax
41c1d5:	e8 4a 2c 00 00       	call   0x41ee24
41c1da:	f6 40 24 04          	testb  $0x4,0x24(%eax)
41c1de:	74 46                	je     0x41c226
41c1e0:	8b 45 08             	mov    0x8(%ebp),%eax
41c1e3:	8b 40 fc             	mov    -0x4(%eax),%eax
41c1e6:	e8 ed 96 fe ff       	call   0x4058d8
41c1eb:	40                   	inc    %eax
41c1ec:	50                   	push   %eax
41c1ed:	8b 45 08             	mov    0x8(%ebp),%eax
41c1f0:	83 c0 fc             	add    $0xfffffffc,%eax
41c1f3:	b9 01 00 00 00       	mov    $0x1,%ecx
41c1f8:	8b 15 58 c1 41 00    	mov    0x41c158,%edx
41c1fe:	e8 91 98 fe ff       	call   0x405a94
41c203:	83 c4 04             	add    $0x4,%esp
41c206:	8b d3                	mov    %ebx,%edx
41c208:	8b c7                	mov    %edi,%eax
41c20a:	e8 15 2c 00 00       	call   0x41ee24
41c20f:	50                   	push   %eax
41c210:	8b 45 08             	mov    0x8(%ebp),%eax
41c213:	8b 40 fc             	mov    -0x4(%eax),%eax
41c216:	e8 bd 96 fe ff       	call   0x4058d8
41c21b:	8b 55 08             	mov    0x8(%ebp),%edx
41c21e:	8b 52 fc             	mov    -0x4(%edx),%edx
41c221:	59                   	pop    %ecx
41c222:	89 4c 82 fc          	mov    %ecx,-0x4(%edx,%eax,4)
41c226:	43                   	inc    %ebx
41c227:	4e                   	dec    %esi
41c228:	75 a7                	jne    0x41c1d1
41c22a:	5f                   	pop    %edi
41c22b:	5e                   	pop    %esi
41c22c:	5b                   	pop    %ebx
41c22d:	5d                   	pop    %ebp
41c22e:	c3                   	ret
41c22f:	90                   	nop
41c230:	55                   	push   %ebp
41c231:	8b ec                	mov    %esp,%ebp
41c233:	51                   	push   %ecx
41c234:	53                   	push   %ebx
41c235:	56                   	push   %esi
41c236:	57                   	push   %edi
41c237:	88 55 fd             	mov    %dl,-0x3(%ebp)
41c23a:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
41c23e:	8b 45 08             	mov    0x8(%ebp),%eax
41c241:	8b 40 fc             	mov    -0x4(%eax),%eax
41c244:	e8 8f 96 fe ff       	call   0x4058d8
41c249:	8b f0                	mov    %eax,%esi
41c24b:	4e                   	dec    %esi
41c24c:	85 f6                	test   %esi,%esi
41c24e:	7c 41                	jl     0x41c291
41c250:	46                   	inc    %esi
41c251:	33 db                	xor    %ebx,%ebx
41c253:	80 7d fd 00          	cmpb   $0x0,-0x3(%ebp)
41c257:	74 1a                	je     0x41c273
41c259:	8b 45 08             	mov    0x8(%ebp),%eax
41c25c:	8b 40 fc             	mov    -0x4(%eax),%eax
41c25f:	8b 3c 98             	mov    (%eax,%ebx,4),%edi
41c262:	0f b7 47 1c          	movzwl 0x1c(%edi),%eax
41c266:	66 0b 45 fe          	or     -0x2(%ebp),%ax
41c26a:	8b 55 08             	mov    0x8(%ebp),%edx
41c26d:	66 89 47 1c          	mov    %ax,0x1c(%edi)
41c271:	eb 1a                	jmp    0x41c28d
41c273:	8b 45 08             	mov    0x8(%ebp),%eax
41c276:	8b 40 fc             	mov    -0x4(%eax),%eax
41c279:	8b 3c 98             	mov    (%eax,%ebx,4),%edi
41c27c:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
41c280:	f7 d0                	not    %eax
41c282:	66 23 47 1c          	and    0x1c(%edi),%ax
41c286:	8b 55 08             	mov    0x8(%ebp),%edx
41c289:	66 89 47 1c          	mov    %ax,0x1c(%edi)
41c28d:	43                   	inc    %ebx
41c28e:	4e                   	dec    %esi
41c28f:	75 c2                	jne    0x41c253
41c291:	5f                   	pop    %edi
41c292:	5e                   	pop    %esi
41c293:	5b                   	pop    %ebx
41c294:	59                   	pop    %ecx
41c295:	5d                   	pop    %ebp
41c296:	c3                   	ret
41c297:	90                   	nop
41c298:	55                   	push   %ebp
41c299:	8b ec                	mov    %esp,%ebp
41c29b:	8b 45 08             	mov    0x8(%ebp),%eax
41c29e:	f6 40 f7 01          	testb  $0x1,-0x9(%eax)
41c2a2:	75 09                	jne    0x41c2ad
41c2a4:	8b 45 08             	mov    0x8(%ebp),%eax
41c2a7:	83 78 f0 00          	cmpl   $0x0,-0x10(%eax)
41c2ab:	74 04                	je     0x41c2b1
41c2ad:	33 c0                	xor    %eax,%eax
41c2af:	5d                   	pop    %ebp
41c2b0:	c3                   	ret
41c2b1:	b0 01                	mov    $0x1,%al
41c2b3:	5d                   	pop    %ebp
41c2b4:	c3                   	ret
41c2b5:	8d 40 00             	lea    0x0(%eax),%eax
41c2b8:	55                   	push   %ebp
41c2b9:	8b ec                	mov    %esp,%ebp
41c2bb:	53                   	push   %ebx
41c2bc:	56                   	push   %esi
41c2bd:	8b f0                	mov    %eax,%esi
41c2bf:	33 db                	xor    %ebx,%ebx
41c2c1:	e8 ba 6a fe ff       	call   0x402d80
41c2c6:	8b 15 38 7b 40 00    	mov    0x407b38,%edx
41c2cc:	e8 d7 77 fe ff       	call   0x403aa8
41c2d1:	84 c0                	test   %al,%al
41c2d3:	74 3b                	je     0x41c310
41c2d5:	8b 45 08             	mov    0x8(%ebp),%eax
41c2d8:	50                   	push   %eax
41c2d9:	e8 ba ff ff ff       	call   0x41c298
41c2de:	59                   	pop    %ecx
41c2df:	84 c0                	test   %al,%al
41c2e1:	74 07                	je     0x41c2ea
41c2e3:	8b 06                	mov    (%esi),%eax
41c2e5:	e8 32 76 fe ff       	call   0x40391c
41c2ea:	33 c0                	xor    %eax,%eax
41c2ec:	89 06                	mov    %eax,(%esi)
41c2ee:	8b 45 08             	mov    0x8(%ebp),%eax
41c2f1:	8b 40 f8             	mov    -0x8(%eax),%eax
41c2f4:	33 d2                	xor    %edx,%edx
41c2f6:	e8 75 1a 00 00       	call   0x41dd70
41c2fb:	e8 80 6a fe ff       	call   0x402d80
41c300:	8b 50 04             	mov    0x4(%eax),%edx
41c303:	8b 45 08             	mov    0x8(%ebp),%eax
41c306:	8b 40 f8             	mov    -0x8(%eax),%eax
41c309:	8b 08                	mov    (%eax),%ecx
41c30b:	ff 51 10             	call   *0x10(%ecx)
41c30e:	8b d8                	mov    %eax,%ebx
41c310:	8b c3                	mov    %ebx,%eax
41c312:	5e                   	pop    %esi
41c313:	5b                   	pop    %ebx
41c314:	5d                   	pop    %ebp
41c315:	c3                   	ret
41c316:	8b c0                	mov    %eax,%eax
41c318:	55                   	push   %ebp
41c319:	8b ec                	mov    %esp,%ebp
41c31b:	53                   	push   %ebx
41c31c:	56                   	push   %esi
41c31d:	57                   	push   %edi
41c31e:	33 c0                	xor    %eax,%eax
41c320:	55                   	push   %ebp
41c321:	68 fe c3 41 00       	push   $0x41c3fe
41c326:	64 ff 30             	push   %fs:(%eax)
41c329:	64 89 20             	mov    %esp,%fs:(%eax)
41c32c:	8b 45 08             	mov    0x8(%ebp),%eax
41c32f:	8b 50 e8             	mov    -0x18(%eax),%edx
41c332:	8b 45 08             	mov    0x8(%ebp),%eax
41c335:	8b 40 f8             	mov    -0x8(%eax),%eax
41c338:	e8 d3 1b 00 00       	call   0x41df10
41c33d:	8b d8                	mov    %eax,%ebx
41c33f:	8b 45 08             	mov    0x8(%ebp),%eax
41c342:	33 d2                	xor    %edx,%edx
41c344:	89 50 ec             	mov    %edx,-0x14(%eax)
41c347:	8b 45 08             	mov    0x8(%ebp),%eax
41c34a:	8b 40 f8             	mov    -0x8(%eax),%eax
41c34d:	66 83 78 72 00       	cmpw   $0x0,0x72(%eax)
41c352:	74 1b                	je     0x41c36f
41c354:	8b 45 08             	mov    0x8(%ebp),%eax
41c357:	83 c0 ec             	add    $0xffffffec,%eax
41c35a:	50                   	push   %eax
41c35b:	8b 45 08             	mov    0x8(%ebp),%eax
41c35e:	8b 70 f8             	mov    -0x8(%eax),%esi
41c361:	8b 45 08             	mov    0x8(%ebp),%eax
41c364:	8b 50 f8             	mov    -0x8(%eax),%edx
41c367:	8b cb                	mov    %ebx,%ecx
41c369:	8b 46 74             	mov    0x74(%esi),%eax
41c36c:	ff 56 70             	call   *0x70(%esi)
41c36f:	8b 45 08             	mov    0x8(%ebp),%eax
41c372:	83 78 ec 00          	cmpl   $0x0,-0x14(%eax)
41c376:	75 71                	jne    0x41c3e9
41c378:	8b c3                	mov    %ebx,%eax
41c37a:	ff 50 f4             	call   *-0xc(%eax)
41c37d:	8b 55 08             	mov    0x8(%ebp),%edx
41c380:	89 42 ec             	mov    %eax,-0x14(%edx)
41c383:	8b 45 08             	mov    0x8(%ebp),%eax
41c386:	f6 40 f7 04          	testb  $0x4,-0x9(%eax)
41c38a:	74 17                	je     0x41c3a3
41c38c:	8b 45 08             	mov    0x8(%ebp),%eax
41c38f:	8b 40 ec             	mov    -0x14(%eax),%eax
41c392:	66 83 48 1c 01       	orw    $0x1,0x1c(%eax)
41c397:	8b 45 08             	mov    0x8(%ebp),%eax
41c39a:	8b 40 ec             	mov    -0x14(%eax),%eax
41c39d:	66 81 48 1c 00 02    	orw    $0x200,0x1c(%eax)
41c3a3:	33 c0                	xor    %eax,%eax
41c3a5:	55                   	push   %ebp
41c3a6:	68 d2 c3 41 00       	push   $0x41c3d2
41c3ab:	64 ff 30             	push   %fs:(%eax)
41c3ae:	64 89 20             	mov    %esp,%fs:(%eax)
41c3b1:	8b 45 08             	mov    0x8(%ebp),%eax
41c3b4:	8b 40 f8             	mov    -0x8(%eax),%eax
41c3b7:	8b 48 28             	mov    0x28(%eax),%ecx
41c3ba:	8b 45 08             	mov    0x8(%ebp),%eax
41c3bd:	8b 40 ec             	mov    -0x14(%eax),%eax
41c3c0:	83 ca ff             	or     $0xffffffff,%edx
41c3c3:	8b 18                	mov    (%eax),%ebx
41c3c5:	ff 53 2c             	call   *0x2c(%ebx)
41c3c8:	33 c0                	xor    %eax,%eax
41c3ca:	5a                   	pop    %edx
41c3cb:	59                   	pop    %ecx
41c3cc:	59                   	pop    %ecx
41c3cd:	64 89 10             	mov    %edx,%fs:(%eax)
41c3d0:	eb 17                	jmp    0x41c3e9
41c3d2:	e9 25 7a fe ff       	jmp    0x403dfc
41c3d7:	8b 45 08             	mov    0x8(%ebp),%eax
41c3da:	33 d2                	xor    %edx,%edx
41c3dc:	89 50 ec             	mov    %edx,-0x14(%eax)
41c3df:	e8 d4 7d fe ff       	call   0x4041b8
41c3e4:	e8 23 7e fe ff       	call   0x40420c
41c3e9:	8b 45 08             	mov    0x8(%ebp),%eax
41c3ec:	8b 40 ec             	mov    -0x14(%eax),%eax
41c3ef:	66 83 48 1c 01       	orw    $0x1,0x1c(%eax)
41c3f4:	33 c0                	xor    %eax,%eax
41c3f6:	5a                   	pop    %edx
41c3f7:	59                   	pop    %ecx
41c3f8:	59                   	pop    %ecx
41c3f9:	64 89 10             	mov    %edx,%fs:(%eax)
41c3fc:	eb 23                	jmp    0x41c421
41c3fe:	e9 f9 79 fe ff       	jmp    0x403dfc
41c403:	8b 45 08             	mov    0x8(%ebp),%eax
41c406:	50                   	push   %eax
41c407:	8b 45 08             	mov    0x8(%ebp),%eax
41c40a:	83 c0 ec             	add    $0xffffffec,%eax
41c40d:	e8 a6 fe ff ff       	call   0x41c2b8
41c412:	59                   	pop    %ecx
41c413:	84 c0                	test   %al,%al
41c415:	75 05                	jne    0x41c41c
41c417:	e8 9c 7d fe ff       	call   0x4041b8
41c41c:	e8 eb 7d fe ff       	call   0x40420c
41c421:	5f                   	pop    %edi
41c422:	5e                   	pop    %esi
41c423:	5b                   	pop    %ebx
41c424:	5d                   	pop    %ebp
41c425:	c3                   	ret
41c426:	8b c0                	mov    %eax,%eax
41c428:	55                   	push   %ebp
41c429:	8b ec                	mov    %esp,%ebp
41c42b:	53                   	push   %ebx
41c42c:	56                   	push   %esi
41c42d:	57                   	push   %edi
41c42e:	33 c0                	xor    %eax,%eax
41c430:	55                   	push   %ebp
41c431:	68 a0 c4 41 00       	push   $0x41c4a0
41c436:	64 ff 30             	push   %fs:(%eax)
41c439:	64 89 20             	mov    %esp,%fs:(%eax)
41c43c:	8b 45 08             	mov    0x8(%ebp),%eax
41c43f:	8b 40 f8             	mov    -0x8(%eax),%eax
41c442:	8b 50 2c             	mov    0x2c(%eax),%edx
41c445:	8b 45 08             	mov    0x8(%ebp),%eax
41c448:	8b 40 ec             	mov    -0x14(%eax),%eax
41c44b:	66 be f8 ff          	mov    $0xfff8,%si
41c44f:	e8 c4 76 fe ff       	call   0x403b18
41c454:	8b 45 08             	mov    0x8(%ebp),%eax
41c457:	8d 48 e4             	lea    -0x1c(%eax),%ecx
41c45a:	8b 45 08             	mov    0x8(%ebp),%eax
41c45d:	8b 50 ec             	mov    -0x14(%eax),%edx
41c460:	8b 45 08             	mov    0x8(%ebp),%eax
41c463:	8b 40 f8             	mov    -0x8(%eax),%eax
41c466:	8b 18                	mov    (%eax),%ebx
41c468:	ff 53 20             	call   *0x20(%ebx)
41c46b:	8b 45 08             	mov    0x8(%ebp),%eax
41c46e:	8b 40 ec             	mov    -0x14(%eax),%eax
41c471:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
41c475:	74 1f                	je     0x41c496
41c477:	8b 45 08             	mov    0x8(%ebp),%eax
41c47a:	8b 40 e4             	mov    -0x1c(%eax),%eax
41c47d:	e8 9a b8 ff ff       	call   0x417d1c
41c482:	8b 55 08             	mov    0x8(%ebp),%edx
41c485:	3b 42 ec             	cmp    -0x14(%edx),%eax
41c488:	75 0c                	jne    0x41c496
41c48a:	8b 45 08             	mov    0x8(%ebp),%eax
41c48d:	8b 40 ec             	mov    -0x14(%eax),%eax
41c490:	66 81 48 1c 00 02    	orw    $0x200,0x1c(%eax)
41c496:	33 c0                	xor    %eax,%eax
41c498:	5a                   	pop    %edx
41c499:	59                   	pop    %ecx
41c49a:	59                   	pop    %ecx
41c49b:	64 89 10             	mov    %edx,%fs:(%eax)
41c49e:	eb 23                	jmp    0x41c4c3
41c4a0:	e9 57 79 fe ff       	jmp    0x403dfc
41c4a5:	8b 45 08             	mov    0x8(%ebp),%eax
41c4a8:	50                   	push   %eax
41c4a9:	8b 45 08             	mov    0x8(%ebp),%eax
41c4ac:	83 c0 ec             	add    $0xffffffec,%eax
41c4af:	e8 04 fe ff ff       	call   0x41c2b8
41c4b4:	59                   	pop    %ecx
41c4b5:	84 c0                	test   %al,%al
41c4b7:	75 05                	jne    0x41c4be
41c4b9:	e8 fa 7c fe ff       	call   0x4041b8
41c4be:	e8 49 7d fe ff       	call   0x40420c
41c4c3:	5f                   	pop    %edi
41c4c4:	5e                   	pop    %esi
41c4c5:	5b                   	pop    %ebx
41c4c6:	5d                   	pop    %ebp
41c4c7:	c3                   	ret
41c4c8:	55                   	push   %ebp
41c4c9:	8b ec                	mov    %esp,%ebp
41c4cb:	53                   	push   %ebx
41c4cc:	56                   	push   %esi
41c4cd:	57                   	push   %edi
41c4ce:	33 c0                	xor    %eax,%eax
41c4d0:	55                   	push   %ebp
41c4d1:	68 43 c5 41 00       	push   $0x41c543
41c4d6:	64 ff 30             	push   %fs:(%eax)
41c4d9:	64 89 20             	mov    %esp,%fs:(%eax)
41c4dc:	8b 45 08             	mov    0x8(%ebp),%eax
41c4df:	8b 50 e8             	mov    -0x18(%eax),%edx
41c4e2:	8b 45 08             	mov    0x8(%ebp),%eax
41c4e5:	8b 40 f8             	mov    -0x8(%eax),%eax
41c4e8:	e8 23 1a 00 00       	call   0x41df10
41c4ed:	8b c8                	mov    %eax,%ecx
41c4ef:	8b 45 08             	mov    0x8(%ebp),%eax
41c4f2:	8b 50 e4             	mov    -0x1c(%eax),%edx
41c4f5:	8b 45 08             	mov    0x8(%ebp),%eax
41c4f8:	8b 40 f8             	mov    -0x8(%eax),%eax
41c4fb:	8b 18                	mov    (%eax),%ebx
41c4fd:	ff 53 14             	call   *0x14(%ebx)
41c500:	8b 55 08             	mov    0x8(%ebp),%edx
41c503:	89 42 ec             	mov    %eax,-0x14(%edx)
41c506:	8b 45 08             	mov    0x8(%ebp),%eax
41c509:	8b 40 ec             	mov    -0x14(%eax),%eax
41c50c:	66 be f2 ff          	mov    $0xfff2,%si
41c510:	e8 03 76 fe ff       	call   0x403b18
41c515:	8b d8                	mov    %eax,%ebx