a53f8a:	e8 63 f2 9a ff       	call   0x4031f2
a53f8f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a53f93:	50                   	push   %eax
a53f94:	e8 2e bc 9c ff       	call   0x41fbc7
a53f99:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
a53f9d:	8b f8                	mov    %eax,%edi
a53f9f:	59                   	pop    %ecx
a53fa0:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
a53fa6:	89 7d 80             	mov    %edi,-0x80(%ebp)
a53fa9:	e8 98 dc 9d ff       	call   0x431c46
a53fae:	8d 45 a0             	lea    -0x60(%ebp),%eax
a53fb1:	8b cf                	mov    %edi,%ecx
a53fb3:	50                   	push   %eax
a53fb4:	e8 14 1e 9e ff       	call   0x435dcd
a53fb9:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
a53fbf:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
a53fc6:	50                   	push   %eax
a53fc7:	8b ce                	mov    %esi,%ecx
a53fc9:	e8 24 f2 9a ff       	call   0x4031f2
a53fce:	50                   	push   %eax
a53fcf:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
a53fd3:	e8 11 d0 9d ff       	call   0x430fe9
a53fd8:	59                   	pop    %ecx
a53fd9:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
a53fdf:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
a53fe3:	8b f8                	mov    %eax,%edi
a53fe5:	e8 5c dc 9d ff       	call   0x431c46
a53fea:	8b 0f                	mov    (%edi),%ecx
a53fec:	8d 45 d0             	lea    -0x30(%ebp),%eax
a53fef:	50                   	push   %eax
a53ff0:	68 4d a8 c7 00       	push   $0xc7a84d
a53ff5:	68 30 a8 c7 00       	push   $0xc7a830
a53ffa:	8b 71 1c             	mov    0x1c(%ecx),%esi
a53ffd:	8b ce                	mov    %esi,%ecx
a53fff:	e8 61 86 9d ff       	call   0x42c665
a54004:	8b cf                	mov    %edi,%ecx
a54006:	ff d6                	call   *%esi
a54008:	8b 75 98             	mov    -0x68(%ebp),%esi
a5400b:	8b cb                	mov    %ebx,%ecx
a5400d:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
a54013:	56                   	push   %esi
a54014:	c6 45 9d 00          	movb   $0x0,-0x63(%ebp)
a54018:	e8 1c 81 9c ff       	call   0x41c139
a5401d:	84 c0                	test   %al,%al
a5401f:	75 3f                	jne    0xa54060
a54021:	38 43 04             	cmp    %al,0x4(%ebx)
a54024:	75 07                	jne    0xa5402d
a54026:	8b cb                	mov    %ebx,%ecx
a54028:	e8 f8 e9 9c ff       	call   0x422a25
a5402d:	8a 43 05             	mov    0x5(%ebx),%al
a54030:	3a 45 e7             	cmp    -0x19(%ebp),%al
a54033:	75 07                	jne    0xa5403c
a54035:	8b c7                	mov    %edi,%eax
a54037:	c6 00 2b             	movb   $0x2b,(%eax)
a5403a:	eb 1a                	jmp    0xa54056
a5403c:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
a54040:	75 07                	jne    0xa54049
a54042:	8b cb                	mov    %ebx,%ecx
a54044:	e8 dc e9 9c ff       	call   0x422a25
a54049:	8a 43 05             	mov    0x5(%ebx),%al
a5404c:	3a 45 e6             	cmp    -0x1a(%ebp),%al
a5404f:	75 0f                	jne    0xa54060
a54051:	8b c7                	mov    %edi,%eax
a54053:	c6 00 2d             	movb   $0x2d,(%eax)
a54056:	8b cb                	mov    %ebx,%ecx
a54058:	8d 78 01             	lea    0x1(%eax),%edi
a5405b:	e8 e2 0e 9c ff       	call   0x414f42
a54060:	33 c0                	xor    %eax,%eax
a54062:	66 c7 07 30 78       	movw   $0x7830,(%edi)
a54067:	83 c7 02             	add    $0x2,%edi
a5406a:	88 45 9f             	mov    %al,-0x61(%ebp)
a5406d:	56                   	push   %esi
a5406e:	8b cb                	mov    %ebx,%ecx
a54070:	89 7d 88             	mov    %edi,-0x78(%ebp)
a54073:	89 45 8c             	mov    %eax,-0x74(%ebp)
a54076:	89 45 94             	mov    %eax,-0x6c(%ebp)
a54079:	e8 bb 80 9c ff       	call   0x41c139
a5407e:	84 c0                	test   %al,%al
a54080:	75 5d                	jne    0xa540df
a54082:	38 43 04             	cmp    %al,0x4(%ebx)
a54085:	75 07                	jne    0xa5408e
a54087:	8b cb                	mov    %ebx,%ecx
a54089:	e8 97 e9 9c ff       	call   0x422a25
a5408e:	8a 43 05             	mov    0x5(%ebx),%al
a54091:	3a 45 d0             	cmp    -0x30(%ebp),%al
a54094:	75 49                	jne    0xa540df
a54096:	8b cb                	mov    %ebx,%ecx
a54098:	e8 a5 0e 9c ff       	call   0x414f42
a5409d:	56                   	push   %esi
a5409e:	8b cb                	mov    %ebx,%ecx
a540a0:	e8 94 80 9c ff       	call   0x41c139
a540a5:	84 c0                	test   %al,%al
a540a7:	75 32                	jne    0xa540db
a540a9:	38 43 04             	cmp    %al,0x4(%ebx)
a540ac:	75 07                	jne    0xa540b5
a540ae:	8b cb                	mov    %ebx,%ecx
a540b0:	e8 70 e9 9c ff       	call   0x422a25
a540b5:	8a 43 05             	mov    0x5(%ebx),%al
a540b8:	3a 45 e9             	cmp    -0x17(%ebp),%al
a540bb:	74 15                	je     0xa540d2
a540bd:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
a540c1:	75 07                	jne    0xa540ca
a540c3:	8b cb                	mov    %ebx,%ecx
a540c5:	e8 5b e9 9c ff       	call   0x422a25
a540ca:	8a 43 05             	mov    0x5(%ebx),%al
a540cd:	3a 45 e8             	cmp    -0x18(%ebp),%al
a540d0:	75 09                	jne    0xa540db
a540d2:	8b cb                	mov    %ebx,%ecx
a540d4:	e8 69 0e 9c ff       	call   0x414f42
a540d9:	eb 04                	jmp    0xa540df
a540db:	c6 45 9f 01          	movb   $0x1,-0x61(%ebp)
a540df:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
a540e5:	33 c0                	xor    %eax,%eax
a540e7:	81 39 00 ca 9a 3b    	cmpl   $0x3b9aca00,(%ecx)
a540ed:	0f 95 c0             	setne  %al
a540f0:	48                   	dec    %eax
a540f1:	25 dc 02 00 00       	and    $0x2dc,%eax
a540f6:	83 c0 24             	add    $0x24,%eax
a540f9:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
a540fd:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
a54103:	8b 45 a0             	mov    -0x60(%ebp),%eax
a54106:	73 03                	jae    0xa5410b
a54108:	8d 45 a0             	lea    -0x60(%ebp),%eax
a5410b:	89 45 84             	mov    %eax,-0x7c(%ebp)
a5410e:	8a 00                	mov    (%eax),%al
a54110:	3c 7f                	cmp    $0x7f,%al
a54112:	0f 84 ae 01 00 00    	je     0xa542c6
a54118:	84 c0                	test   %al,%al
a5411a:	0f 8e a6 01 00 00    	jle    0xa542c6
a54120:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
a54124:	75 06                	jne    0xa5412c
a54126:	c6 45 9e 00          	movb   $0x0,-0x62(%ebp)
a5412a:	eb 17                	jmp    0xa54143
a5412c:	8b 45 80             	mov    -0x80(%ebp),%eax
a5412f:	8b 00                	mov    (%eax),%eax
a54131:	8b 70 10             	mov    0x10(%eax),%esi
a54134:	8b ce                	mov    %esi,%ecx
a54136:	e8 2a 85 9d ff       	call   0x42c665
a5413b:	8b 4d 80             	mov    -0x80(%ebp),%ecx
a5413e:	ff d6                	call   *%esi
a54140:	88 45 9e             	mov    %al,-0x62(%ebp)
a54143:	83 65 c8 00          	andl   $0x0,-0x38(%ebp)
a54147:	8d 4d b8             	lea    -0x48(%ebp),%ecx
a5414a:	6a 00                	push   $0x0
a5414c:	6a 01                	push   $0x1
a5414e:	c7 45 cc 0f 00 00 00 	movl   $0xf,-0x34(%ebp)
a54155:	c6 45 b8 00          	movb   $0x0,-0x48(%ebp)
a54159:	e8 c5 1b 9e ff       	call   0x435d23
a5415e:	ff 75 98             	push   -0x68(%ebp)
a54161:	8b cb                	mov    %ebx,%ecx
a54163:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
a54167:	33 f6                	xor    %esi,%esi
a54169:	e8 cb 7f 9c ff       	call   0x41c139
a5416e:	84 c0                	test   %al,%al
a54170:	0f 85 32 01 00 00    	jne    0xa542a8
a54176:	8b 45 b8             	mov    -0x48(%ebp),%eax
a54179:	89 45 90             	mov    %eax,-0x70(%ebp)
a5417c:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
a54180:	75 07                	jne    0xa54189
a54182:	8b cb                	mov    %ebx,%ecx
a54184:	e8 9c e8 9c ff       	call   0x422a25
a54189:	8a 43 05             	mov    0x5(%ebx),%al
a5418c:	88 45 88             	mov    %al,-0x78(%ebp)
a5418f:	8d 45 d0             	lea    -0x30(%ebp),%eax
a54192:	ff 75 88             	push   -0x78(%ebp)
a54195:	50                   	push   %eax
a54196:	e8 ad 7e 9d ff       	call   0x42c048
a5419b:	59                   	pop    %ecx
a5419c:	59                   	pop    %ecx
a5419d:	83 f8 16             	cmp    $0x16,%eax
a541a0:	73 4c                	jae    0xa541ee
a541a2:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
a541a5:	c6 45 9f 01          	movb   $0x1,-0x61(%ebp)
a541a9:	39 8d 74 ff ff ff    	cmp    %ecx,-0x8c(%ebp)
a541af:	7f 05                	jg     0xa541b6
a541b1:	ff 45 94             	incl   -0x6c(%ebp)
a541b4:	eb 15                	jmp    0xa541cb
a541b6:	85 c0                	test   %eax,%eax
a541b8:	75 04                	jne    0xa541be
a541ba:	85 c9                	test   %ecx,%ecx
a541bc:	74 0d                	je     0xa541cb
a541be:	8a 80 30 a8 c7 00    	mov    0xc7a830(%eax),%al
a541c4:	88 07                	mov    %al,(%edi)
a541c6:	47                   	inc    %edi
a541c7:	41                   	inc    %ecx
a541c8:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
a541cb:	8b 55 cc             	mov    -0x34(%ebp),%edx
a541ce:	8b 4d 90             	mov    -0x70(%ebp),%ecx
a541d1:	8b c1                	mov    %ecx,%eax
a541d3:	83 fa 10             	cmp    $0x10,%edx
a541d6:	73 03                	jae    0xa541db
a541d8:	8d 45 b8             	lea    -0x48(%ebp),%eax
a541db:	80 3c 30 7f          	cmpb   $0x7f,(%eax,%esi,1)
a541df:	74 4d                	je     0xa5422e
a541e1:	83 fa 10             	cmp    $0x10,%edx
a541e4:	73 03                	jae    0xa541e9
a541e6:	8d 4d b8             	lea    -0x48(%ebp),%ecx
a541e9:	fe 04 31             	incb   (%ecx,%esi,1)
a541ec:	eb 3a                	jmp    0xa54228
a541ee:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
a541f2:	8b 45 90             	mov    -0x70(%ebp),%eax
a541f5:	73 03                	jae    0xa541fa
a541f7:	8d 45 b8             	lea    -0x48(%ebp),%eax
a541fa:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
a541fe:	74 47                	je     0xa54247
a54200:	80 7d 9e 00          	cmpb   $0x0,-0x62(%ebp)
a54204:	74 41                	je     0xa54247
a54206:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
a5420a:	75 07                	jne    0xa54213
a5420c:	8b cb                	mov    %ebx,%ecx
a5420e:	e8 12 e8 9c ff       	call   0x422a25
a54213:	8a 43 05             	mov    0x5(%ebx),%al
a54216:	3a 45 9e             	cmp    -0x62(%ebp),%al
a54219:	75 2c                	jne    0xa54247
a5421b:	6a 00                	push   $0x0
a5421d:	6a 01                	push   $0x1
a5421f:	8d 4d b8             	lea    -0x48(%ebp),%ecx
a54222:	e8 13 64 9d ff       	call   0x42a63a
a54227:	46                   	inc    %esi
a54228:	8b 45 b8             	mov    -0x48(%ebp),%eax
a5422b:	89 45 90             	mov    %eax,-0x70(%ebp)
a5422e:	8b cb                	mov    %ebx,%ecx
a54230:	e8 0d 0d 9c ff       	call   0x414f42
a54235:	ff 75 98             	push   -0x68(%ebp)
a54238:	8b cb                	mov    %ebx,%ecx
a5423a:	e8 fa 7e 9c ff       	call   0x41c139
a5423f:	84 c0                	test   %al,%al
a54241:	0f 84 35 ff ff ff    	je     0xa5417c
a54247:	89 7d 88             	mov    %edi,-0x78(%ebp)
a5424a:	85 f6                	test   %esi,%esi
a5424c:	74 13                	je     0xa54261
a5424e:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
a54252:	8b 45 90             	mov    -0x70(%ebp),%eax
a54255:	73 03                	jae    0xa5425a
a54257:	8d 45 b8             	lea    -0x48(%ebp),%eax
a5425a:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
a5425e:	7e 4d                	jle    0xa542ad
a54260:	46                   	inc    %esi
a54261:	8b 55 90             	mov    -0x70(%ebp),%edx
a54264:	8b 45 84             	mov    -0x7c(%ebp),%eax
a54267:	85 f6                	test   %esi,%esi
a54269:	74 46                	je     0xa542b1
a5426b:	8a 08                	mov    (%eax),%cl
a5426d:	80 f9 7f             	cmp    $0x7f,%cl
a54270:	74 3f                	je     0xa542b1
a54272:	83 ee 01             	sub    $0x1,%esi
a54275:	74 10                	je     0xa54287
a54277:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
a5427b:	8b c2                	mov    %edx,%eax
a5427d:	73 03                	jae    0xa54282
a5427f:	8d 45 b8             	lea    -0x48(%ebp),%eax
a54282:	3a 0c 30             	cmp    (%eax,%esi,1),%cl
a54285:	75 26                	jne    0xa542ad
a54287:	85 f6                	test   %esi,%esi
a54289:	75 0f                	jne    0xa5429a
a5428b:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
a5428f:	8b c2                	mov    %edx,%eax
a54291:	73 03                	jae    0xa54296
a54293:	8d 45 b8             	lea    -0x48(%ebp),%eax
a54296:	3a 08                	cmp    (%eax),%cl
a54298:	7c 13                	jl     0xa542ad
a5429a:	8b 45 84             	mov    -0x7c(%ebp),%eax
a5429d:	40                   	inc    %eax
a5429e:	80 38 00             	cmpb   $0x0,(%eax)
a542a1:	7e c1                	jle    0xa54264
a542a3:	89 45 84             	mov    %eax,-0x7c(%ebp)
a542a6:	eb bf                	jmp    0xa54267
a542a8:	8b 55 b8             	mov    -0x48(%ebp),%edx
a542ab:	eb b7                	jmp    0xa54264
a542ad:	c6 45 9d 01          	movb   $0x1,-0x63(%ebp)
a542b1:	6a 00                	push   $0x0
a542b3:	6a 01                	push   $0x1
a542b5:	8d 4d b8             	lea    -0x48(%ebp),%ecx
a542b8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
a542bc:	e8 6a 60 9b ff       	call   0x40a32b
a542c1:	8b 75 98             	mov    -0x68(%ebp),%esi
a542c4:	eb 6d                	jmp    0xa54333
a542c6:	56                   	push   %esi
a542c7:	8b cb                	mov    %ebx,%ecx
a542c9:	e8 6b 7e 9c ff       	call   0x41c139
a542ce:	84 c0                	test   %al,%al
a542d0:	75 61                	jne    0xa54333
a542d2:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
a542d6:	75 07                	jne    0xa542df
a542d8:	8b cb                	mov    %ebx,%ecx
a542da:	e8 46 e7 9c ff       	call   0x422a25
a542df:	0f b6 43 05          	movzbl 0x5(%ebx),%eax
a542e3:	50                   	push   %eax
a542e4:	8d 45 d0             	lea    -0x30(%ebp),%eax
a542e7:	50                   	push   %eax
a542e8:	e8 5b 7d 9d ff       	call   0x42c048
a542ed:	59                   	pop    %ecx
a542ee:	59                   	pop    %ecx
a542ef:	83 f8 16             	cmp    $0x16,%eax
a542f2:	73 3c                	jae    0xa54330
a542f4:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
a542f7:	39 8d 74 ff ff ff    	cmp    %ecx,-0x8c(%ebp)
a542fd:	7f 05                	jg     0xa54304
a542ff:	ff 45 94             	incl   -0x6c(%ebp)
a54302:	eb 15                	jmp    0xa54319
a54304:	85 c0                	test   %eax,%eax
a54306:	75 04                	jne    0xa5430c
a54308:	85 c9                	test   %ecx,%ecx
a5430a:	74 0d                	je     0xa54319
a5430c:	8a 80 30 a8 c7 00    	mov    0xc7a830(%eax),%al
a54312:	88 07                	mov    %al,(%edi)
a54314:	47                   	inc    %edi
a54315:	41                   	inc    %ecx
a54316:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
a54319:	8b cb                	mov    %ebx,%ecx
a5431b:	c6 45 9f 01          	movb   $0x1,-0x61(%ebp)
a5431f:	e8 1e 0c 9c ff       	call   0x414f42
a54324:	56                   	push   %esi
a54325:	8b cb                	mov    %ebx,%ecx
a54327:	e8 0d 7e 9c ff       	call   0x41c139
a5432c:	84 c0                	test   %al,%al
a5432e:	74 a2                	je     0xa542d2
a54330:	89 7d 88             	mov    %edi,-0x78(%ebp)
a54333:	80 7d 9f 00          	cmpb   $0x0,-0x61(%ebp)
a54337:	74 0d                	je     0xa54346
a54339:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
a5433d:	75 07                	jne    0xa54346
a5433f:	c6 07 30             	movb   $0x30,(%edi)
a54342:	47                   	inc    %edi
a54343:	89 7d 88             	mov    %edi,-0x78(%ebp)
a54346:	56                   	push   %esi
a54347:	8b cb                	mov    %ebx,%ecx
a54349:	e8 eb 7d 9c ff       	call   0x41c139
a5434e:	84 c0                	test   %al,%al
a54350:	75 4e                	jne    0xa543a0
a54352:	38 43 04             	cmp    %al,0x4(%ebx)
a54355:	75 07                	jne    0xa5435e
a54357:	8b cb                	mov    %ebx,%ecx
a54359:	e8 c7 e6 9c ff       	call   0x422a25
a5435e:	8b 45 80             	mov    -0x80(%ebp),%eax
a54361:	8a 5b 05             	mov    0x5(%ebx),%bl
a54364:	8b 00                	mov    (%eax),%eax
a54366:	8b 70 0c             	mov    0xc(%eax),%esi
a54369:	8b ce                	mov    %esi,%ecx
a5436b:	e8 f5 82 9d ff       	call   0x42c665
a54370:	8b 4d 80             	mov    -0x80(%ebp),%ecx
a54373:	ff d6                	call   *%esi
a54375:	3a d8                	cmp    %al,%bl
a54377:	75 1e                	jne    0xa54397
a54379:	e8 9d 64 9c ff       	call   0x41a81b
a5437e:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
a54384:	8b cb                	mov    %ebx,%ecx
a54386:	8b 00                	mov    (%eax),%eax
a54388:	8a 00                	mov    (%eax),%al
a5438a:	88 07                	mov    %al,(%edi)