41bf7d:	85 c0                	test   %eax,%eax
41bf7f:	0f 84 cc 00 00 00    	je     0x41c051
41bf85:	33 d2                	xor    %edx,%edx
41bf87:	55                   	push   %ebp
41bf88:	68 4a c0 41 00       	push   $0x41c04a
41bf8d:	64 ff 32             	push   %fs:(%edx)
41bf90:	64 89 22             	mov    %esp,%fs:(%edx)
41bf93:	8b 40 08             	mov    0x8(%eax),%eax
41bf96:	48                   	dec    %eax
41bf97:	85 c0                	test   %eax,%eax
41bf99:	0f 8c 95 00 00 00    	jl     0x41c034
41bf9f:	40                   	inc    %eax
41bfa0:	89 45 f4             	mov    %eax,-0xc(%ebp)
41bfa3:	33 f6                	xor    %esi,%esi
41bfa5:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bfa8:	8b 40 30             	mov    0x30(%eax),%eax
41bfab:	8b d6                	mov    %esi,%edx
41bfad:	e8 d2 c7 ff ff       	call   0x418784
41bfb2:	8b d8                	mov    %eax,%ebx
41bfb4:	8d 45 f8             	lea    -0x8(%ebp),%eax
41bfb7:	8b 53 14             	mov    0x14(%ebx),%edx
41bfba:	e8 29 81 fe ff       	call   0x4040e8
41bfbf:	8d 55 f8             	lea    -0x8(%ebp),%edx
41bfc2:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bfc5:	8b 08                	mov    (%eax),%ecx
41bfc7:	ff 51 20             	call   *0x20(%ecx)
41bfca:	8b 43 08             	mov    0x8(%ebx),%eax
41bfcd:	8b 55 f8             	mov    -0x8(%ebp),%edx
41bfd0:	e8 73 f8 ff ff       	call   0x41b848
41bfd5:	8b f8                	mov    %eax,%edi
41bfd7:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bfda:	8b 40 30             	mov    0x30(%eax),%eax
41bfdd:	8b d6                	mov    %esi,%edx
41bfdf:	e8 a0 c7 ff ff       	call   0x418784
41bfe4:	e8 f3 fe ff ff       	call   0x41bedc
41bfe9:	85 ff                	test   %edi,%edi
41bfeb:	75 35                	jne    0x41c022
41bfed:	8b c3                	mov    %ebx,%eax
41bfef:	e8 78 f7 ff ff       	call   0x41b76c
41bff4:	84 c0                	test   %al,%al
41bff6:	74 2a                	je     0x41c022
41bff8:	8b 45 fc             	mov    -0x4(%ebp),%eax
41bffb:	8b 40 30             	mov    0x30(%eax),%eax
41bffe:	8b d6                	mov    %esi,%edx
41c000:	e8 7f c7 ff ff       	call   0x418784
41c005:	8b d0                	mov    %eax,%edx
41c007:	a1 64 58 47 00       	mov    0x475864,%eax
41c00c:	e8 af ca ff ff       	call   0x418ac0
41c011:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c014:	8b 40 30             	mov    0x30(%eax),%eax
41c017:	33 c9                	xor    %ecx,%ecx
41c019:	8b d6                	mov    %esi,%edx
41c01b:	e8 b0 c8 ff ff       	call   0x4188d0
41c020:	eb 08                	jmp    0x41c02a
41c022:	8b d7                	mov    %edi,%edx
41c024:	8b c3                	mov    %ebx,%eax
41c026:	8b 08                	mov    (%eax),%ecx
41c028:	ff 11                	call   *(%ecx)
41c02a:	46                   	inc    %esi
41c02b:	ff 4d f4             	decl   -0xc(%ebp)
41c02e:	0f 85 71 ff ff ff    	jne    0x41bfa5
41c034:	33 c0                	xor    %eax,%eax
41c036:	5a                   	pop    %edx
41c037:	59                   	pop    %ecx
41c038:	59                   	pop    %ecx
41c039:	64 89 10             	mov    %edx,%fs:(%eax)
41c03c:	68 51 c0 41 00       	push   $0x41c051
41c041:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c044:	e8 53 00 00 00       	call   0x41c09c
41c049:	c3                   	ret
41c04a:	e9 05 7a fe ff       	jmp    0x403a54
41c04f:	eb f0                	jmp    0x41c041
41c051:	33 c0                	xor    %eax,%eax
41c053:	5a                   	pop    %edx
41c054:	59                   	pop    %ecx
41c055:	59                   	pop    %ecx
41c056:	64 89 10             	mov    %edx,%fs:(%eax)
41c059:	68 6e c0 41 00       	push   $0x41c06e
41c05e:	8d 45 f8             	lea    -0x8(%ebp),%eax
41c061:	e8 ea 7f fe ff       	call   0x404050
41c066:	c3                   	ret
41c067:	e9 e8 79 fe ff       	jmp    0x403a54
41c06c:	eb f0                	jmp    0x41c05e
41c06e:	5f                   	pop    %edi
41c06f:	5e                   	pop    %esi
41c070:	5b                   	pop    %ebx
41c071:	8b e5                	mov    %ebp,%esp
41c073:	5d                   	pop    %ebp
41c074:	c3                   	ret
41c075:	8d 40 00             	lea    0x0(%eax),%eax
41c078:	53                   	push   %ebx
41c079:	8b d8                	mov    %eax,%ebx
41c07b:	8b c3                	mov    %ebx,%eax
41c07d:	e8 ea 00 00 00       	call   0x41c16c
41c082:	99                   	cltd
41c083:	52                   	push   %edx
41c084:	50                   	push   %eax
41c085:	8b 43 04             	mov    0x4(%ebx),%eax
41c088:	e8 47 eb ff ff       	call   0x41abd4
41c08d:	33 c0                	xor    %eax,%eax
41c08f:	89 43 10             	mov    %eax,0x10(%ebx)
41c092:	33 c0                	xor    %eax,%eax
41c094:	89 43 14             	mov    %eax,0x14(%ebx)
41c097:	5b                   	pop    %ebx
41c098:	c3                   	ret
41c099:	8d 40 00             	lea    0x0(%eax),%eax
41c09c:	53                   	push   %ebx
41c09d:	56                   	push   %esi
41c09e:	57                   	push   %edi
41c09f:	8b d8                	mov    %eax,%ebx
41c0a1:	8b 43 30             	mov    0x30(%ebx),%eax
41c0a4:	85 c0                	test   %eax,%eax
41c0a6:	74 2b                	je     0x41c0d3
41c0a8:	8b 70 08             	mov    0x8(%eax),%esi
41c0ab:	4e                   	dec    %esi
41c0ac:	85 f6                	test   %esi,%esi
41c0ae:	7c 16                	jl     0x41c0c6
41c0b0:	46                   	inc    %esi
41c0b1:	33 ff                	xor    %edi,%edi
41c0b3:	8b d7                	mov    %edi,%edx
41c0b5:	8b 43 30             	mov    0x30(%ebx),%eax
41c0b8:	e8 c7 c6 ff ff       	call   0x418784
41c0bd:	e8 fe 71 fe ff       	call   0x4032c0
41c0c2:	47                   	inc    %edi
41c0c3:	4e                   	dec    %esi
41c0c4:	75 ed                	jne    0x41c0b3
41c0c6:	8b 43 30             	mov    0x30(%ebx),%eax
41c0c9:	e8 f2 71 fe ff       	call   0x4032c0
41c0ce:	33 c0                	xor    %eax,%eax
41c0d0:	89 43 30             	mov    %eax,0x30(%ebx)
41c0d3:	5f                   	pop    %edi
41c0d4:	5e                   	pop    %esi
41c0d5:	5b                   	pop    %ebx
41c0d6:	c3                   	ret
41c0d7:	90                   	nop
41c0d8:	53                   	push   %ebx
41c0d9:	56                   	push   %esi
41c0da:	57                   	push   %edi
41c0db:	55                   	push   %ebp
41c0dc:	83 c4 f4             	add    $0xfffffff4,%esp
41c0df:	89 4c 24 04          	mov    %ecx,0x4(%esp)
41c0e3:	89 04 24             	mov    %eax,(%esp)
41c0e6:	8b c2                	mov    %edx,%eax
41c0e8:	e8 1b 71 fe ff       	call   0x403208
41c0ed:	8b e8                	mov    %eax,%ebp
41c0ef:	eb 47                	jmp    0x41c138
41c0f1:	8b c5                	mov    %ebp,%eax
41c0f3:	e8 e4 ba ff ff       	call   0x417bdc
41c0f8:	8b f0                	mov    %eax,%esi
41c0fa:	85 f6                	test   %esi,%esi
41c0fc:	74 31                	je     0x41c12f
41c0fe:	0f bf 1e             	movswl (%esi),%ebx
41c101:	4b                   	dec    %ebx
41c102:	85 db                	test   %ebx,%ebx
41c104:	7c 29                	jl     0x41c12f
41c106:	43                   	inc    %ebx
41c107:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
41c10e:	00
41c10f:	8b 44 24 08          	mov    0x8(%esp),%eax
41c113:	8b 44 86 02          	mov    0x2(%esi,%eax,4),%eax
41c117:	8b 38                	mov    (%eax),%edi
41c119:	8b 54 24 04          	mov    0x4(%esp),%edx
41c11d:	8b c7                	mov    %edi,%eax
41c11f:	e8 00 71 fe ff       	call   0x403224
41c124:	84 c0                	test   %al,%al
41c126:	75 3a                	jne    0x41c162
41c128:	ff 44 24 08          	incl   0x8(%esp)
41c12c:	4b                   	dec    %ebx
41c12d:	75 e0                	jne    0x41c10f
41c12f:	8b c5                	mov    %ebp,%eax
41c131:	e8 16 71 fe ff       	call   0x40324c
41c136:	8b e8                	mov    %eax,%ebp
41c138:	3b 2d e8 60 41 00    	cmp    0x4160e8,%ebp
41c13e:	75 b1                	jne    0x41c0f1
41c140:	8b 04 24             	mov    (%esp),%eax
41c143:	8b 40 74             	mov    0x74(%eax),%eax
41c146:	85 c0                	test   %eax,%eax
41c148:	74 0d                	je     0x41c157
41c14a:	8b 54 24 04          	mov    0x4(%esp),%edx
41c14e:	e8 01 ba ff ff       	call   0x417b54
41c153:	8b f8                	mov    %eax,%edi
41c155:	eb 0b                	jmp    0x41c162
41c157:	8b 44 24 04          	mov    0x4(%esp),%eax
41c15b:	e8 f4 ba ff ff       	call   0x417c54
41c160:	8b f8                	mov    %eax,%edi
41c162:	8b c7                	mov    %edi,%eax
41c164:	83 c4 0c             	add    $0xc,%esp
41c167:	5d                   	pop    %ebp
41c168:	5f                   	pop    %edi
41c169:	5e                   	pop    %esi
41c16a:	5b                   	pop    %ebx
41c16b:	c3                   	ret
41c16c:	53                   	push   %ebx
41c16d:	8b d8                	mov    %eax,%ebx
41c16f:	8b 43 04             	mov    0x4(%ebx),%eax
41c172:	e8 3d ea ff ff       	call   0x41abb4
41c177:	8b 53 14             	mov    0x14(%ebx),%edx
41c17a:	2b 53 10             	sub    0x10(%ebx),%edx
41c17d:	2b c2                	sub    %edx,%eax
41c17f:	5b                   	pop    %ebx
41c180:	c3                   	ret
41c181:	8d 40 00             	lea    0x0(%eax),%eax
41c184:	53                   	push   %ebx
41c185:	8b d8                	mov    %eax,%ebx
41c187:	8b c3                	mov    %ebx,%eax
41c189:	e8 56 1a 00 00       	call   0x41dbe4
41c18e:	ff 4b 10             	decl   0x10(%ebx)
41c191:	5b                   	pop    %ebx
41c192:	c3                   	ret
41c193:	90                   	nop
41c194:	53                   	push   %ebx
41c195:	8b da                	mov    %edx,%ebx
41c197:	e8 58 1b 00 00       	call   0x41dcf4
41c19c:	8b c3                	mov    %ebx,%eax
41c19e:	e8 e9 fa ff ff       	call   0x41bc8c
41c1a3:	5b                   	pop    %ebx
41c1a4:	c3                   	ret
41c1a5:	8d 40 00             	lea    0x0(%eax),%eax
41c1a8:	56                   	push   %esi
41c1a9:	57                   	push   %edi
41c1aa:	53                   	push   %ebx
41c1ab:	89 d7                	mov    %edx,%edi
41c1ad:	89 cb                	mov    %ecx,%ebx
41c1af:	89 c6                	mov    %eax,%esi
41c1b1:	eb 36                	jmp    0x41c1e9
41c1b3:	8b 4e 14             	mov    0x14(%esi),%ecx
41c1b6:	2b 4e 10             	sub    0x10(%esi),%ecx
41c1b9:	77 0a                	ja     0x41c1c5
41c1bb:	89 f0                	mov    %esi,%eax
41c1bd:	e8 32 00 00 00       	call   0x41c1f4
41c1c2:	8b 4e 14             	mov    0x14(%esi),%ecx
41c1c5:	39 d9                	cmp    %ebx,%ecx
41c1c7:	72 02                	jb     0x41c1cb
41c1c9:	89 d9                	mov    %ebx,%ecx
41c1cb:	56                   	push   %esi
41c1cc:	29 cb                	sub    %ecx,%ebx
41c1ce:	8b 46 08             	mov    0x8(%esi),%eax
41c1d1:	03 46 10             	add    0x10(%esi),%eax
41c1d4:	01 4e 10             	add    %ecx,0x10(%esi)
41c1d7:	89 c6                	mov    %eax,%esi
41c1d9:	89 ca                	mov    %ecx,%edx
41c1db:	c1 e9 02             	shr    $0x2,%ecx
41c1de:	fc                   	cld
41c1df:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
41c1e1:	89 d1                	mov    %edx,%ecx
41c1e3:	83 e1 03             	and    $0x3,%ecx
41c1e6:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41c1e8:	5e                   	pop    %esi
41c1e9:	09 db                	or     %ebx,%ebx
41c1eb:	75 c6                	jne    0x41c1b3
41c1ed:	5b                   	pop    %ebx
41c1ee:	5f                   	pop    %edi
41c1ef:	5e                   	pop    %esi
41c1f0:	c3                   	ret
41c1f1:	8d 40 00             	lea    0x0(%eax),%eax
41c1f4:	53                   	push   %ebx
41c1f5:	56                   	push   %esi
41c1f6:	8b d8                	mov    %eax,%ebx
41c1f8:	8b 53 08             	mov    0x8(%ebx),%edx
41c1fb:	8b 4b 0c             	mov    0xc(%ebx),%ecx
41c1fe:	8b 43 04             	mov    0x4(%ebx),%eax
41c201:	8b 30                	mov    (%eax),%esi
41c203:	ff 56 0c             	call   *0xc(%esi)
41c206:	8b f0                	mov    %eax,%esi
41c208:	89 73 14             	mov    %esi,0x14(%ebx)
41c20b:	85 f6                	test   %esi,%esi
41c20d:	75 17                	jne    0x41c226
41c20f:	8b 0d 50 48 47 00    	mov    0x474850,%ecx
41c215:	b2 01                	mov    $0x1,%dl
41c217:	a1 48 5c 41 00       	mov    0x415c48,%eax
41c21c:	e8 8f f9 fe ff       	call   0x40bbb0
41c221:	e8 66 78 fe ff       	call   0x403a8c
41c226:	33 c0                	xor    %eax,%eax
41c228:	89 43 10             	mov    %eax,0x10(%ebx)
41c22b:	5e                   	pop    %esi
41c22c:	5b                   	pop    %ebx
41c22d:	c3                   	ret
41c22e:	8b c0                	mov    %eax,%eax
41c230:	53                   	push   %ebx
41c231:	8b d8                	mov    %eax,%ebx
41c233:	8b c3                	mov    %ebx,%eax
41c235:	e8 aa 19 00 00       	call   0x41dbe4
41c23a:	3c 09                	cmp    $0x9,%al
41c23c:	0f 94 c0             	sete   %al
41c23f:	5b                   	pop    %ebx
41c240:	c3                   	ret
41c241:	8d 40 00             	lea    0x0(%eax),%eax
41c244:	55                   	push   %ebp
41c245:	8b ec                	mov    %esp,%ebp
41c247:	6a 00                	push   $0x0
41c249:	53                   	push   %ebx
41c24a:	8b d8                	mov    %eax,%ebx
41c24c:	33 c0                	xor    %eax,%eax
41c24e:	55                   	push   %ebp
41c24f:	68 8f c2 41 00       	push   $0x41c28f
41c254:	64 ff 30             	push   %fs:(%eax)
41c257:	64 89 20             	mov    %esp,%fs:(%eax)
41c25a:	8d 55 fc             	lea    -0x4(%ebp),%edx
41c25d:	8b c3                	mov    %ebx,%eax
41c25f:	e8 e0 17 00 00       	call   0x41da44
41c264:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c267:	e8 a4 80 fe ff       	call   0x404310
41c26c:	48                   	dec    %eax
41c26d:	7e 05                	jle    0x41c274
41c26f:	e8 0c fa ff ff       	call   0x41bc80
41c274:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c277:	8a 18                	mov    (%eax),%bl
41c279:	33 c0                	xor    %eax,%eax
41c27b:	5a                   	pop    %edx
41c27c:	59                   	pop    %ecx
41c27d:	59                   	pop    %ecx
41c27e:	64 89 10             	mov    %edx,%fs:(%eax)
41c281:	68 96 c2 41 00       	push   $0x41c296
41c286:	8d 45 fc             	lea    -0x4(%ebp),%eax
41c289:	e8 c2 7d fe ff       	call   0x404050
41c28e:	c3                   	ret
41c28f:	e9 c0 77 fe ff       	jmp    0x403a54
41c294:	eb f0                	jmp    0x41c286
41c296:	8b c3                	mov    %ebx,%eax
41c298:	5b                   	pop    %ebx
41c299:	59                   	pop    %ecx
41c29a:	5d                   	pop    %ebp
41c29b:	c3                   	ret
41c29c:	55                   	push   %ebp
41c29d:	8b ec                	mov    %esp,%ebp
41c29f:	51                   	push   %ecx
41c2a0:	53                   	push   %ebx
41c2a1:	56                   	push   %esi
41c2a2:	89 55 fc             	mov    %edx,-0x4(%ebp)
41c2a5:	8b d8                	mov    %eax,%ebx
41c2a7:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c2aa:	8b 10                	mov    (%eax),%edx
41c2ac:	ff 52 20             	call   *0x20(%edx)
41c2af:	33 c0                	xor    %eax,%eax
41c2b1:	55                   	push   %ebp
41c2b2:	68 3c c3 41 00       	push   $0x41c33c
41c2b7:	64 ff 30             	push   %fs:(%eax)
41c2ba:	64 89 20             	mov    %esp,%fs:(%eax)
41c2bd:	8b c3                	mov    %ebx,%eax
41c2bf:	e8 7c fb ff ff       	call   0x41be40
41c2c4:	84 c0                	test   %al,%al
41c2c6:	75 4c                	jne    0x41c314
41c2c8:	8b 45 fc             	mov    -0x4(%ebp),%eax
41c2cb:	e8 68 d1 ff ff       	call   0x419438
41c2d0:	eb 42                	jmp    0x41c314
41c2d2:	8b c3                	mov    %ebx,%eax
41c2d4:	e8 ab fe ff ff       	call   0x41c184
41c2d9:	04 fe                	add    $0xfe,%al
41c2db:	2c 03                	sub    $0x3,%al
41c2dd:	73 07                	jae    0x41c2e6