45812c:	5d                   	pop    %ebp
45812d:	c3                   	ret
45812e:	8b ff                	mov    %edi,%edi
458130:	55                   	push   %ebp
458131:	8b ec                	mov    %esp,%ebp
458133:	8b 45 08             	mov    0x8(%ebp),%eax
458136:	83 00 04             	addl   $0x4,(%eax)
458139:	8b 00                	mov    (%eax),%eax
45813b:	8b 40 fc             	mov    -0x4(%eax),%eax
45813e:	5d                   	pop    %ebp
45813f:	c3                   	ret
458140:	8b ff                	mov    %edi,%edi
458142:	55                   	push   %ebp
458143:	8b ec                	mov    %esp,%ebp
458145:	8b 45 08             	mov    0x8(%ebp),%eax
458148:	83 00 04             	addl   $0x4,(%eax)
45814b:	8b 00                	mov    (%eax),%eax
45814d:	8b 40 fc             	mov    -0x4(%eax),%eax
458150:	5d                   	pop    %ebp
458151:	c3                   	ret
458152:	8b ff                	mov    %edi,%edi
458154:	55                   	push   %ebp
458155:	8b ec                	mov    %esp,%ebp
458157:	8b 45 08             	mov    0x8(%ebp),%eax
45815a:	83 00 04             	addl   $0x4,(%eax)
45815d:	8b 00                	mov    (%eax),%eax
45815f:	8b 40 fc             	mov    -0x4(%eax),%eax
458162:	5d                   	pop    %ebp
458163:	c3                   	ret
458164:	8b ff                	mov    %edi,%edi
458166:	55                   	push   %ebp
458167:	8b ec                	mov    %esp,%ebp
458169:	8b 45 08             	mov    0x8(%ebp),%eax
45816c:	83 00 04             	addl   $0x4,(%eax)
45816f:	8b 00                	mov    (%eax),%eax
458171:	8b 40 fc             	mov    -0x4(%eax),%eax
458174:	5d                   	pop    %ebp
458175:	c3                   	ret
458176:	8b ff                	mov    %edi,%edi
458178:	55                   	push   %ebp
458179:	8b ec                	mov    %esp,%ebp
45817b:	8b 45 08             	mov    0x8(%ebp),%eax
45817e:	83 00 04             	addl   $0x4,(%eax)
458181:	8b 00                	mov    (%eax),%eax
458183:	8b 40 fc             	mov    -0x4(%eax),%eax
458186:	5d                   	pop    %ebp
458187:	c3                   	ret
458188:	8b ff                	mov    %edi,%edi
45818a:	55                   	push   %ebp
45818b:	8b ec                	mov    %esp,%ebp
45818d:	8b 45 08             	mov    0x8(%ebp),%eax
458190:	83 00 04             	addl   $0x4,(%eax)
458193:	8b 00                	mov    (%eax),%eax
458195:	8b 40 fc             	mov    -0x4(%eax),%eax
458198:	5d                   	pop    %ebp
458199:	c3                   	ret
45819a:	8b ff                	mov    %edi,%edi
45819c:	55                   	push   %ebp
45819d:	8b ec                	mov    %esp,%ebp
45819f:	8b 45 08             	mov    0x8(%ebp),%eax
4581a2:	83 00 04             	addl   $0x4,(%eax)
4581a5:	8b 00                	mov    (%eax),%eax
4581a7:	8b 40 fc             	mov    -0x4(%eax),%eax
4581aa:	5d                   	pop    %ebp
4581ab:	c3                   	ret
4581ac:	8b ff                	mov    %edi,%edi
4581ae:	55                   	push   %ebp
4581af:	8b ec                	mov    %esp,%ebp
4581b1:	8b 45 08             	mov    0x8(%ebp),%eax
4581b4:	83 00 04             	addl   $0x4,(%eax)
4581b7:	8b 00                	mov    (%eax),%eax
4581b9:	8b 40 fc             	mov    -0x4(%eax),%eax
4581bc:	5d                   	pop    %ebp
4581bd:	c3                   	ret
4581be:	8b ff                	mov    %edi,%edi
4581c0:	55                   	push   %ebp
4581c1:	8b ec                	mov    %esp,%ebp
4581c3:	8b 45 08             	mov    0x8(%ebp),%eax
4581c6:	83 00 04             	addl   $0x4,(%eax)
4581c9:	8b 00                	mov    (%eax),%eax
4581cb:	8b 40 fc             	mov    -0x4(%eax),%eax
4581ce:	5d                   	pop    %ebp
4581cf:	c3                   	ret
4581d0:	8b ff                	mov    %edi,%edi
4581d2:	55                   	push   %ebp
4581d3:	8b ec                	mov    %esp,%ebp
4581d5:	8b 45 08             	mov    0x8(%ebp),%eax
4581d8:	83 00 04             	addl   $0x4,(%eax)
4581db:	8b 00                	mov    (%eax),%eax
4581dd:	8b 40 fc             	mov    -0x4(%eax),%eax
4581e0:	5d                   	pop    %ebp
4581e1:	c3                   	ret
4581e2:	8b ff                	mov    %edi,%edi
4581e4:	55                   	push   %ebp
4581e5:	8b ec                	mov    %esp,%ebp
4581e7:	8b 45 08             	mov    0x8(%ebp),%eax
4581ea:	83 00 04             	addl   $0x4,(%eax)
4581ed:	8b 00                	mov    (%eax),%eax
4581ef:	8b 40 fc             	mov    -0x4(%eax),%eax
4581f2:	5d                   	pop    %ebp
4581f3:	c3                   	ret
4581f4:	8b ff                	mov    %edi,%edi
4581f6:	55                   	push   %ebp
4581f7:	8b ec                	mov    %esp,%ebp
4581f9:	8b 45 08             	mov    0x8(%ebp),%eax
4581fc:	83 00 04             	addl   $0x4,(%eax)
4581ff:	8b 00                	mov    (%eax),%eax
458201:	8b 40 fc             	mov    -0x4(%eax),%eax
458204:	5d                   	pop    %ebp
458205:	c3                   	ret
458206:	8b ff                	mov    %edi,%edi
458208:	55                   	push   %ebp
458209:	8b ec                	mov    %esp,%ebp
45820b:	8b 45 08             	mov    0x8(%ebp),%eax
45820e:	83 00 04             	addl   $0x4,(%eax)
458211:	8b 00                	mov    (%eax),%eax
458213:	8b 40 fc             	mov    -0x4(%eax),%eax
458216:	5d                   	pop    %ebp
458217:	c3                   	ret
458218:	8b ff                	mov    %edi,%edi
45821a:	55                   	push   %ebp
45821b:	8b ec                	mov    %esp,%ebp
45821d:	8b 45 08             	mov    0x8(%ebp),%eax
458220:	83 00 08             	addl   $0x8,(%eax)
458223:	8b 10                	mov    (%eax),%edx
458225:	8b 42 f8             	mov    -0x8(%edx),%eax
458228:	8b 52 fc             	mov    -0x4(%edx),%edx
45822b:	5d                   	pop    %ebp
45822c:	c3                   	ret
45822d:	8b ff                	mov    %edi,%edi
45822f:	55                   	push   %ebp
458230:	8b ec                	mov    %esp,%ebp
458232:	8b 45 08             	mov    0x8(%ebp),%eax
458235:	83 00 08             	addl   $0x8,(%eax)
458238:	8b 10                	mov    (%eax),%edx
45823a:	8b 42 f8             	mov    -0x8(%edx),%eax
45823d:	8b 52 fc             	mov    -0x4(%edx),%edx
458240:	5d                   	pop    %ebp
458241:	c3                   	ret
458242:	8b ff                	mov    %edi,%edi
458244:	55                   	push   %ebp
458245:	8b ec                	mov    %esp,%ebp
458247:	8b 45 08             	mov    0x8(%ebp),%eax
45824a:	83 00 08             	addl   $0x8,(%eax)
45824d:	8b 10                	mov    (%eax),%edx
45824f:	8b 42 f8             	mov    -0x8(%edx),%eax
458252:	8b 52 fc             	mov    -0x4(%edx),%edx
458255:	5d                   	pop    %ebp
458256:	c3                   	ret
458257:	8b ff                	mov    %edi,%edi
458259:	55                   	push   %ebp
45825a:	8b ec                	mov    %esp,%ebp
45825c:	8b 45 08             	mov    0x8(%ebp),%eax
45825f:	83 00 04             	addl   $0x4,(%eax)
458262:	8b 00                	mov    (%eax),%eax
458264:	66 8b 40 fc          	mov    -0x4(%eax),%ax
458268:	5d                   	pop    %ebp
458269:	c3                   	ret
45826a:	e9 2b d7 ff ff       	jmp    0x45599a
45826f:	8b ff                	mov    %edi,%edi
458271:	56                   	push   %esi
458272:	8b f1                	mov    %ecx,%esi
458274:	57                   	push   %edi
458275:	8b be 04 04 00 00    	mov    0x404(%esi),%edi
45827b:	e8 1a d7 ff ff       	call   0x45599a
458280:	85 ff                	test   %edi,%edi
458282:	75 04                	jne    0x458288
458284:	03 c6                	add    %esi,%eax
458286:	eb 02                	jmp    0x45828a
458288:	03 c7                	add    %edi,%eax
45828a:	5f                   	pop    %edi
45828b:	5e                   	pop    %esi
45828c:	c3                   	ret
45828d:	8b ff                	mov    %edi,%edi
45828f:	55                   	push   %ebp
458290:	8b ec                	mov    %esp,%ebp
458292:	8b 45 10             	mov    0x10(%ebp),%eax
458295:	ff 30                	push   (%eax)
458297:	8b 45 0c             	mov    0xc(%ebp),%eax
45829a:	ff 30                	push   (%eax)
45829c:	8b 45 08             	mov    0x8(%ebp),%eax
45829f:	ff 30                	push   (%eax)
4582a1:	e8 e6 ef 01 00       	call   0x47728c
4582a6:	83 c4 0c             	add    $0xc,%esp
4582a9:	5d                   	pop    %ebp
4582aa:	c3                   	ret
4582ab:	8b ff                	mov    %edi,%edi
4582ad:	55                   	push   %ebp
4582ae:	8b ec                	mov    %esp,%ebp
4582b0:	8b 45 10             	mov    0x10(%ebp),%eax
4582b3:	ff 30                	push   (%eax)
4582b5:	8b 45 0c             	mov    0xc(%ebp),%eax
4582b8:	ff 30                	push   (%eax)
4582ba:	8b 45 08             	mov    0x8(%ebp),%eax
4582bd:	ff 30                	push   (%eax)
4582bf:	e8 d0 f0 01 00       	call   0x477394
4582c4:	83 c4 0c             	add    $0xc,%esp
4582c7:	5d                   	pop    %ebp
4582c8:	c3                   	ret
4582c9:	8b ff                	mov    %edi,%edi
4582cb:	55                   	push   %ebp
4582cc:	8b ec                	mov    %esp,%ebp
4582ce:	8b 45 10             	mov    0x10(%ebp),%eax
4582d1:	ff 30                	push   (%eax)
4582d3:	8b 45 0c             	mov    0xc(%ebp),%eax
4582d6:	ff 30                	push   (%eax)
4582d8:	8b 45 08             	mov    0x8(%ebp),%eax
4582db:	ff 30                	push   (%eax)
4582dd:	e8 aa ef 01 00       	call   0x47728c
4582e2:	83 c4 0c             	add    $0xc,%esp
4582e5:	5d                   	pop    %ebp
4582e6:	c3                   	ret
4582e7:	8b ff                	mov    %edi,%edi
4582e9:	55                   	push   %ebp
4582ea:	8b ec                	mov    %esp,%ebp
4582ec:	8b 45 10             	mov    0x10(%ebp),%eax
4582ef:	ff 30                	push   (%eax)
4582f1:	8b 45 0c             	mov    0xc(%ebp),%eax
4582f4:	ff 30                	push   (%eax)
4582f6:	8b 45 08             	mov    0x8(%ebp),%eax
4582f9:	ff 30                	push   (%eax)
4582fb:	e8 94 f0 01 00       	call   0x477394
458300:	83 c4 0c             	add    $0xc,%esp
458303:	5d                   	pop    %ebp
458304:	c3                   	ret
458305:	8b ff                	mov    %edi,%edi
458307:	55                   	push   %ebp
458308:	8b ec                	mov    %esp,%ebp
45830a:	53                   	push   %ebx
45830b:	56                   	push   %esi
45830c:	8b f1                	mov    %ecx,%esi
45830e:	57                   	push   %edi
45830f:	8d 4e 40             	lea    0x40(%esi),%ecx
458312:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
458318:	85 ff                	test   %edi,%edi
45831a:	75 02                	jne    0x45831e
45831c:	8b f9                	mov    %ecx,%edi
45831e:	e8 77 d6 ff ff       	call   0x45599a
458323:	8b 5d 08             	mov    0x8(%ebp),%ebx
458326:	48                   	dec    %eax
458327:	03 f8                	add    %eax,%edi
458329:	89 7e 34             	mov    %edi,0x34(%esi)
45832c:	8b 4e 28             	mov    0x28(%esi),%ecx
45832f:	85 c9                	test   %ecx,%ecx
458331:	7f 04                	jg     0x458337
458333:	85 db                	test   %ebx,%ebx
458335:	74 30                	je     0x458367
458337:	33 d2                	xor    %edx,%edx
458339:	8b c3                	mov    %ebx,%eax
45833b:	f7 75 0c             	divl   0xc(%ebp)
45833e:	49                   	dec    %ecx
45833f:	80 c2 30             	add    $0x30,%dl
458342:	89 4e 28             	mov    %ecx,0x28(%esi)
458345:	8b d8                	mov    %eax,%ebx
458347:	80 fa 39             	cmp    $0x39,%dl
45834a:	7e 11                	jle    0x45835d
45834c:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
458350:	0f 94 c0             	sete   %al
458353:	fe c8                	dec    %al
458355:	24 e0                	and    $0xe0,%al
458357:	04 61                	add    $0x61,%al
458359:	2c 3a                	sub    $0x3a,%al
45835b:	02 d0                	add    %al,%dl
45835d:	8b 46 34             	mov    0x34(%esi),%eax
458360:	88 10                	mov    %dl,(%eax)
458362:	ff 4e 34             	decl   0x34(%esi)
458365:	eb c5                	jmp    0x45832c
458367:	2b 7e 34             	sub    0x34(%esi),%edi
45836a:	89 7e 38             	mov    %edi,0x38(%esi)
45836d:	ff 46 34             	incl   0x34(%esi)
458370:	5f                   	pop    %edi
458371:	5e                   	pop    %esi
458372:	5b                   	pop    %ebx
458373:	5d                   	pop    %ebp
458374:	c2 0c 00             	ret    $0xc
458377:	8b ff                	mov    %edi,%edi
458379:	55                   	push   %ebp
45837a:	8b ec                	mov    %esp,%ebp
45837c:	53                   	push   %ebx
45837d:	56                   	push   %esi
45837e:	8b f1                	mov    %ecx,%esi
458380:	57                   	push   %edi
458381:	8d 4e 40             	lea    0x40(%esi),%ecx
458384:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
45838a:	85 ff                	test   %edi,%edi
45838c:	75 02                	jne    0x458390
45838e:	8b f9                	mov    %ecx,%edi
458390:	e8 05 d6 ff ff       	call   0x45599a
458395:	8b 5d 08             	mov    0x8(%ebp),%ebx
458398:	48                   	dec    %eax
458399:	03 f8                	add    %eax,%edi
45839b:	89 7e 34             	mov    %edi,0x34(%esi)
45839e:	8b 4e 28             	mov    0x28(%esi),%ecx
4583a1:	85 c9                	test   %ecx,%ecx
4583a3:	7f 04                	jg     0x4583a9
4583a5:	85 db                	test   %ebx,%ebx
4583a7:	74 30                	je     0x4583d9
4583a9:	33 d2                	xor    %edx,%edx
4583ab:	8b c3                	mov    %ebx,%eax
4583ad:	f7 75 0c             	divl   0xc(%ebp)
4583b0:	49                   	dec    %ecx
4583b1:	80 c2 30             	add    $0x30,%dl
4583b4:	89 4e 28             	mov    %ecx,0x28(%esi)
4583b7:	8b d8                	mov    %eax,%ebx
4583b9:	80 fa 39             	cmp    $0x39,%dl
4583bc:	7e 11                	jle    0x4583cf
4583be:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
4583c2:	0f 94 c0             	sete   %al
4583c5:	fe c8                	dec    %al
4583c7:	24 e0                	and    $0xe0,%al
4583c9:	04 61                	add    $0x61,%al
4583cb:	2c 3a                	sub    $0x3a,%al
4583cd:	02 d0                	add    %al,%dl
4583cf:	8b 46 34             	mov    0x34(%esi),%eax
4583d2:	88 10                	mov    %dl,(%eax)
4583d4:	ff 4e 34             	decl   0x34(%esi)
4583d7:	eb c5                	jmp    0x45839e
4583d9:	2b 7e 34             	sub    0x34(%esi),%edi
4583dc:	89 7e 38             	mov    %edi,0x38(%esi)
4583df:	ff 46 34             	incl   0x34(%esi)
4583e2:	5f                   	pop    %edi
4583e3:	5e                   	pop    %esi
4583e4:	5b                   	pop    %ebx
4583e5:	5d                   	pop    %ebp
4583e6:	c2 0c 00             	ret    $0xc
4583e9:	8b ff                	mov    %edi,%edi
4583eb:	55                   	push   %ebp
4583ec:	8b ec                	mov    %esp,%ebp
4583ee:	53                   	push   %ebx
4583ef:	56                   	push   %esi
4583f0:	8b f1                	mov    %ecx,%esi
4583f2:	57                   	push   %edi
4583f3:	8d 4e 40             	lea    0x40(%esi),%ecx
4583f6:	8b b9 04 04 00 00    	mov    0x404(%ecx),%edi
4583fc:	85 ff                	test   %edi,%edi
4583fe:	75 02                	jne    0x458402
458400:	8b f9                	mov    %ecx,%edi
458402:	e8 93 d5 ff ff       	call   0x45599a
458407:	8b 5d 08             	mov    0x8(%ebp),%ebx
45840a:	48                   	dec    %eax
45840b:	03 f8                	add    %eax,%edi
45840d:	89 7e 34             	mov    %edi,0x34(%esi)
458410:	8b 4e 28             	mov    0x28(%esi),%ecx
458413:	85 c9                	test   %ecx,%ecx
458415:	7f 04                	jg     0x45841b
458417:	85 db                	test   %ebx,%ebx
458419:	74 30                	je     0x45844b
45841b:	33 d2                	xor    %edx,%edx
45841d:	8b c3                	mov    %ebx,%eax
45841f:	f7 75 0c             	divl   0xc(%ebp)