419fe0:	8b 45 dc             	mov    -0x24(%ebp),%eax
419fe3:	89 45 f4             	mov    %eax,-0xc(%ebp)
419fe6:	c6 45 f8 0b          	movb   $0xb,-0x8(%ebp)
419fea:	8d 45 ec             	lea    -0x14(%ebp),%eax
419fed:	50                   	push   %eax
419fee:	6a 01                	push   $0x1
419ff0:	8b 0d a4 d3 46 00    	mov    0x46d3a4,%ecx
419ff6:	b2 01                	mov    $0x1,%dl
419ff8:	a1 84 53 41 00       	mov    0x415384,%eax
419ffd:	e8 32 23 ff ff       	call   0x40c334
41a002:	e8 61 a1 fe ff       	call   0x404168
41a007:	8d 43 08             	lea    0x8(%ebx),%eax
41a00a:	8b d6                	mov    %esi,%edx
41a00c:	e8 63 a7 fe ff       	call   0x404774
41a011:	33 c0                	xor    %eax,%eax
41a013:	5a                   	pop    %edx
41a014:	59                   	pop    %ecx
41a015:	59                   	pop    %ecx
41a016:	64 89 10             	mov    %edx,%fs:(%eax)
41a019:	68 33 a0 41 00       	push   $0x41a033
41a01e:	8d 45 dc             	lea    -0x24(%ebp),%eax
41a021:	ba 04 00 00 00       	mov    $0x4,%edx
41a026:	e8 19 a7 fe ff       	call   0x404744
41a02b:	c3                   	ret
41a02c:	e9 57 a0 fe ff       	jmp    0x404088
41a031:	eb eb                	jmp    0x41a01e
41a033:	8b c3                	mov    %ebx,%eax
41a035:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
41a039:	74 0f                	je     0x41a04a
41a03b:	e8 30 9c fe ff       	call   0x403c70
41a040:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a047:	83 c4 0c             	add    $0xc,%esp
41a04a:	8b c3                	mov    %ebx,%eax
41a04c:	5f                   	pop    %edi
41a04d:	5e                   	pop    %esi
41a04e:	5b                   	pop    %ebx
41a04f:	8b e5                	mov    %ebp,%esp
41a051:	5d                   	pop    %ebp
41a052:	c2 08 00             	ret    $0x8
41a055:	8d 40 00             	lea    0x0(%eax),%eax
41a058:	53                   	push   %ebx
41a059:	56                   	push   %esi
41a05a:	e8 61 9c fe ff       	call   0x403cc0
41a05f:	8b da                	mov    %edx,%ebx
41a061:	8b f0                	mov    %eax,%esi
41a063:	8b 46 04             	mov    0x4(%esi),%eax
41a066:	85 c0                	test   %eax,%eax
41a068:	7c 06                	jl     0x41a070
41a06a:	50                   	push   %eax
41a06b:	e8 a0 c8 fe ff       	call   0x406910
41a070:	8b d3                	mov    %ebx,%edx
41a072:	80 e2 fc             	and    $0xfc,%dl
41a075:	8b c6                	mov    %esi,%eax
41a077:	e8 68 98 fe ff       	call   0x4038e4
41a07c:	84 db                	test   %bl,%bl
41a07e:	7e 07                	jle    0x41a087
41a080:	8b c6                	mov    %esi,%eax
41a082:	e8 e1 9b fe ff       	call   0x403c68
41a087:	5e                   	pop    %esi
41a088:	5b                   	pop    %ebx
41a089:	c3                   	ret
41a08a:	8b c0                	mov    %eax,%eax
41a08c:	89 50 04             	mov    %edx,0x4(%eax)
41a08f:	89 48 08             	mov    %ecx,0x8(%eax)
41a092:	c3                   	ret
41a093:	90                   	nop
41a094:	53                   	push   %ebx
41a095:	56                   	push   %esi
41a096:	57                   	push   %edi
41a097:	8b d8                	mov    %eax,%ebx
41a099:	8b 7b 0c             	mov    0xc(%ebx),%edi
41a09c:	85 ff                	test   %edi,%edi
41a09e:	7c 24                	jl     0x41a0c4
41a0a0:	85 c9                	test   %ecx,%ecx
41a0a2:	7c 20                	jl     0x41a0c4
41a0a4:	8b 73 08             	mov    0x8(%ebx),%esi
41a0a7:	2b f7                	sub    %edi,%esi
41a0a9:	85 f6                	test   %esi,%esi
41a0ab:	7e 17                	jle    0x41a0c4
41a0ad:	3b ce                	cmp    %esi,%ecx
41a0af:	7d 02                	jge    0x41a0b3
41a0b1:	8b f1                	mov    %ecx,%esi
41a0b3:	8b 43 04             	mov    0x4(%ebx),%eax
41a0b6:	03 c7                	add    %edi,%eax
41a0b8:	8b ce                	mov    %esi,%ecx
41a0ba:	e8 1d 8e fe ff       	call   0x402edc
41a0bf:	01 73 0c             	add    %esi,0xc(%ebx)
41a0c2:	eb 02                	jmp    0x41a0c6
41a0c4:	33 f6                	xor    %esi,%esi
41a0c6:	8b c6                	mov    %esi,%eax
41a0c8:	5f                   	pop    %edi
41a0c9:	5e                   	pop    %esi
41a0ca:	5b                   	pop    %ebx
41a0cb:	c3                   	ret
41a0cc:	66 83 e9 01          	sub    $0x1,%cx
41a0d0:	72 09                	jb     0x41a0db
41a0d2:	74 0c                	je     0x41a0e0
41a0d4:	66 ff c9             	dec    %cx
41a0d7:	74 0c                	je     0x41a0e5
41a0d9:	eb 10                	jmp    0x41a0eb
41a0db:	89 50 0c             	mov    %edx,0xc(%eax)
41a0de:	eb 0b                	jmp    0x41a0eb
41a0e0:	01 50 0c             	add    %edx,0xc(%eax)
41a0e3:	eb 06                	jmp    0x41a0eb
41a0e5:	03 50 08             	add    0x8(%eax),%edx
41a0e8:	89 50 0c             	mov    %edx,0xc(%eax)
41a0eb:	8b 40 0c             	mov    0xc(%eax),%eax
41a0ee:	c3                   	ret
41a0ef:	90                   	nop
41a0f0:	53                   	push   %ebx
41a0f1:	56                   	push   %esi
41a0f2:	e8 c9 9b fe ff       	call   0x403cc0
41a0f7:	8b da                	mov    %edx,%ebx
41a0f9:	8b f0                	mov    %eax,%esi
41a0fb:	8b c6                	mov    %esi,%eax
41a0fd:	e8 1a 00 00 00       	call   0x41a11c
41a102:	8b d3                	mov    %ebx,%edx
41a104:	80 e2 fc             	and    $0xfc,%dl
41a107:	8b c6                	mov    %esi,%eax
41a109:	e8 d6 97 fe ff       	call   0x4038e4
41a10e:	84 db                	test   %bl,%bl
41a110:	7e 07                	jle    0x41a119
41a112:	8b c6                	mov    %esi,%eax
41a114:	e8 4f 9b fe ff       	call   0x403c68
41a119:	5e                   	pop    %esi
41a11a:	5b                   	pop    %ebx
41a11b:	c3                   	ret
41a11c:	53                   	push   %ebx
41a11d:	8b d8                	mov    %eax,%ebx
41a11f:	33 d2                	xor    %edx,%edx
41a121:	8b c3                	mov    %ebx,%eax
41a123:	e8 44 00 00 00       	call   0x41a16c
41a128:	33 c0                	xor    %eax,%eax
41a12a:	89 43 08             	mov    %eax,0x8(%ebx)
41a12d:	33 c0                	xor    %eax,%eax
41a12f:	89 43 0c             	mov    %eax,0xc(%ebx)
41a132:	5b                   	pop    %ebx
41a133:	c3                   	ret
41a134:	53                   	push   %ebx
41a135:	56                   	push   %esi
41a136:	57                   	push   %edi
41a137:	8b fa                	mov    %edx,%edi
41a139:	8b f0                	mov    %eax,%esi
41a13b:	6a 00                	push   $0x0
41a13d:	6a 00                	push   $0x0
41a13f:	8b c7                	mov    %edi,%eax
41a141:	e8 c6 f8 ff ff       	call   0x419a0c
41a146:	8b c7                	mov    %edi,%eax
41a148:	8b 10                	mov    (%eax),%edx
41a14a:	ff 12                	call   *(%edx)
41a14c:	8b d8                	mov    %eax,%ebx
41a14e:	8b d3                	mov    %ebx,%edx
41a150:	8b c6                	mov    %esi,%eax
41a152:	8b 08                	mov    (%eax),%ecx
41a154:	ff 51 04             	call   *0x4(%ecx)
41a157:	85 db                	test   %ebx,%ebx
41a159:	74 0c                	je     0x41a167
41a15b:	8b 56 04             	mov    0x4(%esi),%edx
41a15e:	8b cb                	mov    %ebx,%ecx
41a160:	8b c7                	mov    %edi,%eax
41a162:	e8 b1 fa ff ff       	call   0x419c18
41a167:	5f                   	pop    %edi
41a168:	5e                   	pop    %esi
41a169:	5b                   	pop    %ebx
41a16a:	c3                   	ret
41a16b:	90                   	nop
41a16c:	53                   	push   %ebx
41a16d:	51                   	push   %ecx
41a16e:	89 14 24             	mov    %edx,(%esp)
41a171:	8b d8                	mov    %eax,%ebx
41a173:	8b d4                	mov    %esp,%edx
41a175:	8b c3                	mov    %ebx,%eax
41a177:	8b 08                	mov    (%eax),%ecx
41a179:	ff 51 1c             	call   *0x1c(%ecx)
41a17c:	8b d0                	mov    %eax,%edx
41a17e:	8b 4b 08             	mov    0x8(%ebx),%ecx
41a181:	8b c3                	mov    %ebx,%eax
41a183:	e8 04 ff ff ff       	call   0x41a08c
41a188:	8b 04 24             	mov    (%esp),%eax
41a18b:	89 43 10             	mov    %eax,0x10(%ebx)
41a18e:	5a                   	pop    %edx
41a18f:	5b                   	pop    %ebx
41a190:	c3                   	ret
41a191:	8d 40 00             	lea    0x0(%eax),%eax
41a194:	53                   	push   %ebx
41a195:	56                   	push   %esi
41a196:	57                   	push   %edi
41a197:	8b f2                	mov    %edx,%esi
41a199:	8b d8                	mov    %eax,%ebx
41a19b:	8b 7b 0c             	mov    0xc(%ebx),%edi
41a19e:	8b d6                	mov    %esi,%edx
41a1a0:	8b c3                	mov    %ebx,%eax
41a1a2:	e8 c5 ff ff ff       	call   0x41a16c
41a1a7:	89 73 08             	mov    %esi,0x8(%ebx)
41a1aa:	3b f7                	cmp    %edi,%esi
41a1ac:	7d 0d                	jge    0x41a1bb
41a1ae:	66 b9 02 00          	mov    $0x2,%cx
41a1b2:	33 d2                	xor    %edx,%edx
41a1b4:	8b c3                	mov    %ebx,%eax
41a1b6:	8b 18                	mov    (%eax),%ebx
41a1b8:	ff 53 14             	call   *0x14(%ebx)
41a1bb:	5f                   	pop    %edi
41a1bc:	5e                   	pop    %esi
41a1bd:	5b                   	pop    %ebx
41a1be:	c3                   	ret
41a1bf:	90                   	nop
41a1c0:	53                   	push   %ebx
41a1c1:	51                   	push   %ecx
41a1c2:	8b da                	mov    %edx,%ebx
41a1c4:	83 3b 00             	cmpl   $0x0,(%ebx)
41a1c7:	7e 17                	jle    0x41a1e0
41a1c9:	8b 13                	mov    (%ebx),%edx
41a1cb:	3b 50 08             	cmp    0x8(%eax),%edx
41a1ce:	74 10                	je     0x41a1e0
41a1d0:	8b 13                	mov    (%ebx),%edx
41a1d2:	81 c2 ff 1f 00 00    	add    $0x1fff,%edx
41a1d8:	81 e2 00 e0 ff ff    	and    $0xffffe000,%edx
41a1de:	89 13                	mov    %edx,(%ebx)
41a1e0:	8b 50 04             	mov    0x4(%eax),%edx
41a1e3:	89 14 24             	mov    %edx,(%esp)
41a1e6:	8b 0b                	mov    (%ebx),%ecx
41a1e8:	8b 50 10             	mov    0x10(%eax),%edx
41a1eb:	3b ca                	cmp    %edx,%ecx
41a1ed:	74 4a                	je     0x41a239
41a1ef:	83 3b 00             	cmpl   $0x0,(%ebx)
41a1f2:	75 0f                	jne    0x41a203
41a1f4:	8b 40 04             	mov    0x4(%eax),%eax
41a1f7:	e8 0c 8b fe ff       	call   0x402d08
41a1fc:	33 c0                	xor    %eax,%eax
41a1fe:	89 04 24             	mov    %eax,(%esp)
41a201:	eb 36                	jmp    0x41a239
41a203:	85 d2                	test   %edx,%edx
41a205:	75 0c                	jne    0x41a213
41a207:	8b 03                	mov    (%ebx),%eax
41a209:	e8 de 8a fe ff       	call   0x402cec
41a20e:	89 04 24             	mov    %eax,(%esp)
41a211:	eb 09                	jmp    0x41a21c
41a213:	8b 13                	mov    (%ebx),%edx
41a215:	8b c4                	mov    %esp,%eax
41a217:	e8 04 8b fe ff       	call   0x402d20
41a21c:	83 3c 24 00          	cmpl   $0x0,(%esp)
41a220:	75 17                	jne    0x41a239
41a222:	8b 0d 9c d7 46 00    	mov    0x46d79c,%ecx
41a228:	b2 01                	mov    $0x1,%dl
41a22a:	a1 6c 52 41 00       	mov    0x41526c,%eax
41a22f:	e8 c4 20 ff ff       	call   0x40c2f8
41a234:	e8 2f 9f fe ff       	call   0x404168
41a239:	8b 04 24             	mov    (%esp),%eax
41a23c:	5a                   	pop    %edx
41a23d:	5b                   	pop    %ebx
41a23e:	c3                   	ret
41a23f:	90                   	nop
41a240:	53                   	push   %ebx
41a241:	56                   	push   %esi
41a242:	57                   	push   %edi
41a243:	55                   	push   %ebp
41a244:	8b f1                	mov    %ecx,%esi
41a246:	8b ea                	mov    %edx,%ebp
41a248:	8b d8                	mov    %eax,%ebx
41a24a:	8b 43 0c             	mov    0xc(%ebx),%eax
41a24d:	85 c0                	test   %eax,%eax
41a24f:	7c 38                	jl     0x41a289
41a251:	85 f6                	test   %esi,%esi
41a253:	7c 34                	jl     0x41a289
41a255:	8b f8                	mov    %eax,%edi
41a257:	03 fe                	add    %esi,%edi
41a259:	85 ff                	test   %edi,%edi
41a25b:	7e 2c                	jle    0x41a289
41a25d:	3b 7b 08             	cmp    0x8(%ebx),%edi
41a260:	7e 11                	jle    0x41a273
41a262:	3b 7b 10             	cmp    0x10(%ebx),%edi
41a265:	7e 09                	jle    0x41a270
41a267:	8b d7                	mov    %edi,%edx
41a269:	8b c3                	mov    %ebx,%eax
41a26b:	e8 fc fe ff ff       	call   0x41a16c
41a270:	89 7b 08             	mov    %edi,0x8(%ebx)
41a273:	8b 53 04             	mov    0x4(%ebx),%edx
41a276:	03 53 0c             	add    0xc(%ebx),%edx
41a279:	8b c5                	mov    %ebp,%eax
41a27b:	8b ce                	mov    %esi,%ecx
41a27d:	e8 5a 8c fe ff       	call   0x402edc
41a282:	89 7b 0c             	mov    %edi,0xc(%ebx)
41a285:	8b c6                	mov    %esi,%eax
41a287:	eb 02                	jmp    0x41a28b
41a289:	33 c0                	xor    %eax,%eax
41a28b:	5d                   	pop    %ebp
41a28c:	5f                   	pop    %edi
41a28d:	5e                   	pop    %esi
41a28e:	5b                   	pop    %ebx
41a28f:	c3                   	ret
41a290:	55                   	push   %ebp
41a291:	8b ec                	mov    %esp,%ebp
41a293:	53                   	push   %ebx
41a294:	56                   	push   %esi
41a295:	57                   	push   %edi
41a296:	84 d2                	test   %dl,%dl
41a298:	74 08                	je     0x41a2a2
41a29a:	83 c4 f0             	add    $0xfffffff0,%esp
41a29d:	e8 76 99 fe ff       	call   0x403c18
41a2a2:	8b f1                	mov    %ecx,%esi
41a2a4:	8b da                	mov    %edx,%ebx
41a2a6:	8b f8                	mov    %eax,%edi
41a2a8:	33 d2                	xor    %edx,%edx
41a2aa:	8b c7                	mov    %edi,%eax
41a2ac:	e8 13 96 fe ff       	call   0x4038c4
41a2b1:	8b 45 08             	mov    0x8(%ebp),%eax
41a2b4:	50                   	push   %eax
41a2b5:	6a 00                	push   $0x0
41a2b7:	8b 45 0c             	mov    0xc(%ebp),%eax
41a2ba:	e8 25 a9 fe ff       	call   0x404be4
41a2bf:	8b c8                	mov    %eax,%ecx
41a2c1:	8b d6                	mov    %esi,%edx
41a2c3:	8b c7                	mov    %edi,%eax
41a2c5:	e8 be 00 00 00       	call   0x41a388
41a2ca:	8b c7                	mov    %edi,%eax
41a2cc:	84 db                	test   %bl,%bl
41a2ce:	74 0f                	je     0x41a2df
41a2d0:	e8 9b 99 fe ff       	call   0x403c70
41a2d5:	64 8f 05 00 00 00 00 	pop    %fs:0x0
41a2dc:	83 c4 0c             	add    $0xc,%esp
41a2df:	8b c7                	mov    %edi,%eax
41a2e1:	5f                   	pop    %edi
41a2e2:	5e                   	pop    %esi
41a2e3:	5b                   	pop    %ebx
41a2e4:	5d                   	pop    %ebp
41a2e5:	c2 08 00             	ret    $0x8
41a2e8:	55                   	push   %ebp
41a2e9:	8b ec                	mov    %esp,%ebp
41a2eb:	83 c4 f0             	add    $0xfffffff0,%esp
41a2ee:	33 c0                	xor    %eax,%eax
41a2f0:	89 45 f0             	mov    %eax,-0x10(%ebp)
41a2f3:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a2f6:	33 c0                	xor    %eax,%eax
41a2f8:	55                   	push   %ebp
41a2f9:	68 7a a3 41 00       	push   $0x41a37a
41a2fe:	64 ff 30             	push   %fs:(%eax)
41a301:	64 89 20             	mov    %esp,%fs:(%eax)
41a304:	8b 45 08             	mov    0x8(%ebp),%eax
41a307:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
41a30b:	74 10                	je     0x41a31d
41a30d:	8d 55 fc             	lea    -0x4(%ebp),%edx
41a310:	8b 45 08             	mov    0x8(%ebp),%eax
41a313:	8b 40 fc             	mov    -0x4(%eax),%eax
41a316:	e8 29 e8 fe ff       	call   0x408b44
41a31b:	eb 0e                	jmp    0x41a32b
41a31d:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a320:	8b 55 08             	mov    0x8(%ebp),%edx
41a323:	8b 52 fc             	mov    -0x4(%edx),%edx
41a326:	e8 ed a5 fe ff       	call   0x404918
41a32b:	8b 45 fc             	mov    -0x4(%ebp),%eax