50cfd6:	e8 c5 30 fe ff       	call   0x4f00a0
50cfdb:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
50cfdf:	83 c4 04             	add    $0x4,%esp
50cfe2:	8b 6c 24 14          	mov    0x14(%esp),%ebp
50cfe6:	8b f0                	mov    %eax,%esi
50cfe8:	89 31                	mov    %esi,(%ecx)
50cfea:	85 ed                	test   %ebp,%ebp
50cfec:	0f 84 94 00 00 00    	je     0x50d086
50cff2:	8b 8f 84 00 00 00    	mov    0x84(%edi),%ecx
50cff8:	53                   	push   %ebx
50cff9:	3b ce                	cmp    %esi,%ecx
50cffb:	75 29                	jne    0x50d026
50cffd:	85 f6                	test   %esi,%esi
50cfff:	7e 63                	jle    0x50d064
50d001:	8b d5                	mov    %ebp,%edx
50d003:	8d 4f 04             	lea    0x4(%edi),%ecx
50d006:	8b de                	mov    %esi,%ebx
50d008:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
50d00f:	00
50d010:	8a 41 60             	mov    0x60(%ecx),%al
50d013:	8d 49 01             	lea    0x1(%ecx),%ecx
50d016:	32 41 ff             	xor    -0x1(%ecx),%al
50d019:	8d 52 01             	lea    0x1(%edx),%edx
50d01c:	88 42 ff             	mov    %al,-0x1(%edx)
50d01f:	83 eb 01             	sub    $0x1,%ebx
50d022:	75 ec                	jne    0x50d010
50d024:	eb 3e                	jmp    0x50d064
50d026:	2b c1                	sub    %ecx,%eax
50d028:	c6 44 39 64 80       	movb   $0x80,0x64(%ecx,%edi,1)
50d02d:	83 f8 01             	cmp    $0x1,%eax
50d030:	7e 12                	jle    0x50d044
50d032:	48                   	dec    %eax
50d033:	50                   	push   %eax
50d034:	8d 47 65             	lea    0x65(%edi),%eax
50d037:	03 c1                	add    %ecx,%eax
50d039:	6a 00                	push   $0x0
50d03b:	50                   	push   %eax
50d03c:	e8 2f 5c 0c 00       	call   0x5d2c70
50d041:	83 c4 0c             	add    $0xc,%esp
50d044:	85 f6                	test   %esi,%esi
50d046:	7e 1c                	jle    0x50d064
50d048:	8b d5                	mov    %ebp,%edx
50d04a:	8d 4f 24             	lea    0x24(%edi),%ecx
50d04d:	8b de                	mov    %esi,%ebx
50d04f:	90                   	nop
50d050:	8a 41 40             	mov    0x40(%ecx),%al
50d053:	8d 49 01             	lea    0x1(%ecx),%ecx
50d056:	32 41 ff             	xor    -0x1(%ecx),%al
50d059:	8d 52 01             	lea    0x1(%edx),%edx
50d05c:	88 42 ff             	mov    %al,-0x1(%edx)
50d05f:	83 eb 01             	sub    $0x1,%ebx
50d062:	75 ec                	jne    0x50d050
50d064:	56                   	push   %esi
50d065:	55                   	push   %ebp
50d066:	55                   	push   %ebp
50d067:	ff 37                	push   (%edi)
50d069:	e8 e2 36 fe ff       	call   0x4f0750
50d06e:	83 c4 10             	add    $0x10,%esp
50d071:	5b                   	pop    %ebx
50d072:	85 c0                	test   %eax,%eax
50d074:	75 10                	jne    0x50d086
50d076:	56                   	push   %esi
50d077:	55                   	push   %ebp
50d078:	e8 63 49 ef ff       	call   0x4019e0
50d07d:	83 c4 08             	add    $0x8,%esp
50d080:	33 c0                	xor    %eax,%eax
50d082:	5e                   	pop    %esi
50d083:	5d                   	pop    %ebp
50d084:	5f                   	pop    %edi
50d085:	c3                   	ret
50d086:	5e                   	pop    %esi
50d087:	5d                   	pop    %ebp
50d088:	b8 01 00 00 00       	mov    $0x1,%eax
50d08d:	5f                   	pop    %edi
50d08e:	c3                   	ret
50d08f:	cc                   	int3
50d090:	8b 44 24 10          	mov    0x10(%esp),%eax
50d094:	53                   	push   %ebx
50d095:	55                   	push   %ebp
50d096:	56                   	push   %esi
50d097:	8b 74 24 14          	mov    0x14(%esp),%esi
50d09b:	57                   	push   %edi
50d09c:	8b 7c 24 14          	mov    0x14(%esp),%edi
50d0a0:	85 f6                	test   %esi,%esi
50d0a2:	75 6b                	jne    0x50d10f
50d0a4:	85 c0                	test   %eax,%eax
50d0a6:	75 6b                	jne    0x50d113
50d0a8:	39 44 24 24          	cmp    %eax,0x24(%esp)
50d0ac:	0f 85 45 01 00 00    	jne    0x50d1f7
50d0b2:	39 44 24 1c          	cmp    %eax,0x1c(%esp)
50d0b6:	0f 85 3b 01 00 00    	jne    0x50d1f7
50d0bc:	8b f7                	mov    %edi,%esi
50d0be:	83 be 84 00 00 00 ff 	cmpl   $0xffffffff,0x84(%esi)
50d0c5:	0f 84 36 01 00 00    	je     0x50d201
50d0cb:	68 50 b5 62 00       	push   $0x62b550
50d0d0:	50                   	push   %eax
50d0d1:	50                   	push   %eax
50d0d2:	50                   	push   %eax
50d0d3:	ff 36                	push   (%esi)
50d0d5:	e8 76 fd fc ff       	call   0x4dce50
50d0da:	83 c4 14             	add    $0x14,%esp
50d0dd:	85 c0                	test   %eax,%eax
50d0df:	0f 84 1c 01 00 00    	je     0x50d201
50d0e5:	ff 36                	push   (%esi)
50d0e7:	e8 b4 2f fe ff       	call   0x4f00a0
50d0ec:	50                   	push   %eax
50d0ed:	8d 46 44             	lea    0x44(%esi),%eax
50d0f0:	6a 00                	push   $0x0
50d0f2:	50                   	push   %eax
50d0f3:	e8 78 5b 0c 00       	call   0x5d2c70
50d0f8:	83 c4 10             	add    $0x10,%esp
50d0fb:	c7 86 84 00 00 00 00 	movl   $0x0,0x84(%esi)
50d102:	00 00 00
50d105:	b8 01 00 00 00       	mov    $0x1,%eax
50d10a:	5f                   	pop    %edi
50d10b:	5e                   	pop    %esi
50d10c:	5d                   	pop    %ebp
50d10d:	5b                   	pop    %ebx
50d10e:	c3                   	ret
50d10f:	85 c0                	test   %eax,%eax
50d111:	74 2d                	je     0x50d140
50d113:	6a 00                	push   $0x0
50d115:	6a 00                	push   $0x0
50d117:	ff 74 24 2c          	push   0x2c(%esp)
50d11b:	c7 87 84 00 00 00 ff 	movl   $0xffffffff,0x84(%edi)
50d122:	ff ff ff
50d125:	50                   	push   %eax
50d126:	ff 37                	push   (%edi)
50d128:	e8 23 fd fc ff       	call   0x4dce50
50d12d:	83 c4 14             	add    $0x14,%esp
50d130:	85 c0                	test   %eax,%eax
50d132:	0f 84 c9 00 00 00    	je     0x50d201
50d138:	85 f6                	test   %esi,%esi
50d13a:	0f 84 b7 00 00 00    	je     0x50d1f7
50d140:	ff 37                	push   (%edi)
50d142:	c7 87 84 00 00 00 ff 	movl   $0xffffffff,0x84(%edi)
50d149:	ff ff ff
50d14c:	e8 6f 2f fe ff       	call   0x4f00c0
50d151:	83 c4 04             	add    $0x4,%esp
50d154:	85 c0                	test   %eax,%eax
50d156:	0f 84 a5 00 00 00    	je     0x50d201
50d15c:	ff 74 24 1c          	push   0x1c(%esp)
50d160:	ff 37                	push   (%edi)
50d162:	e8 d9 f3 fc ff       	call   0x4dc540
50d167:	83 c4 08             	add    $0x8,%esp
50d16a:	85 c0                	test   %eax,%eax
50d16c:	0f 84 8f 00 00 00    	je     0x50d201
50d172:	68 50 b5 62 00       	push   $0x62b550
50d177:	56                   	push   %esi
50d178:	6a 00                	push   $0x0
50d17a:	6a 00                	push   $0x0
50d17c:	ff 37                	push   (%edi)
50d17e:	e8 cd fc fc ff       	call   0x4dce50
50d183:	83 c4 14             	add    $0x14,%esp
50d186:	85 c0                	test   %eax,%eax
50d188:	74 77                	je     0x50d201
50d18a:	ff 37                	push   (%edi)
50d18c:	e8 0f 2f fe ff       	call   0x4f00a0
50d191:	8b d8                	mov    %eax,%ebx
50d193:	8d 6f 44             	lea    0x44(%edi),%ebp
50d196:	53                   	push   %ebx
50d197:	68 50 b5 62 00       	push   $0x62b550
50d19c:	55                   	push   %ebp
50d19d:	ff 37                	push   (%edi)
50d19f:	e8 ac 35 fe ff       	call   0x4f0750
50d1a4:	83 c4 14             	add    $0x14,%esp
50d1a7:	85 c0                	test   %eax,%eax
50d1a9:	7e 56                	jle    0x50d201
50d1ab:	53                   	push   %ebx
50d1ac:	8d 77 04             	lea    0x4(%edi),%esi
50d1af:	55                   	push   %ebp
50d1b0:	56                   	push   %esi
50d1b1:	e8 2a 01 00 00       	call   0x50d2e0
50d1b6:	53                   	push   %ebx
50d1b7:	8d 47 24             	lea    0x24(%edi),%eax
50d1ba:	56                   	push   %esi
50d1bb:	50                   	push   %eax
50d1bc:	e8 1f 01 00 00       	call   0x50d2e0
50d1c1:	53                   	push   %ebx
50d1c2:	55                   	push   %ebp
50d1c3:	e8 18 48 ef ff       	call   0x4019e0
50d1c8:	68 50 b5 62 00       	push   $0x62b550
50d1cd:	6a 00                	push   $0x0
50d1cf:	6a 00                	push   $0x0
50d1d1:	6a 00                	push   $0x0
50d1d3:	ff 37                	push   (%edi)
50d1d5:	e8 76 fc fc ff       	call   0x4dce50
50d1da:	83 c4 34             	add    $0x34,%esp
50d1dd:	85 c0                	test   %eax,%eax
50d1df:	74 20                	je     0x50d201
50d1e1:	53                   	push   %ebx
50d1e2:	6a 00                	push   $0x0
50d1e4:	55                   	push   %ebp
50d1e5:	e8 86 5a 0c 00       	call   0x5d2c70
50d1ea:	83 c4 0c             	add    $0xc,%esp
50d1ed:	c7 87 84 00 00 00 00 	movl   $0x0,0x84(%edi)
50d1f4:	00 00 00
50d1f7:	5f                   	pop    %edi
50d1f8:	5e                   	pop    %esi
50d1f9:	5d                   	pop    %ebp
50d1fa:	b8 01 00 00 00       	mov    $0x1,%eax
50d1ff:	5b                   	pop    %ebx
50d200:	c3                   	ret
50d201:	5f                   	pop    %edi
50d202:	5e                   	pop    %esi
50d203:	5d                   	pop    %ebp
50d204:	33 c0                	xor    %eax,%eax
50d206:	5b                   	pop    %ebx
50d207:	c3                   	ret
50d208:	cc                   	int3
50d209:	cc                   	int3
50d20a:	cc                   	int3
50d20b:	cc                   	int3
50d20c:	cc                   	int3
50d20d:	cc                   	int3
50d20e:	cc                   	int3
50d20f:	cc                   	int3
50d210:	53                   	push   %ebx
50d211:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
50d215:	55                   	push   %ebp
50d216:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
50d21a:	56                   	push   %esi
50d21b:	57                   	push   %edi
50d21c:	83 bd 84 00 00 00 ff 	cmpl   $0xffffffff,0x84(%ebp)
50d223:	0f 84 a8 00 00 00    	je     0x50d2d1
50d229:	8b 74 24 1c          	mov    0x1c(%esp),%esi
50d22d:	85 f6                	test   %esi,%esi
50d22f:	0f 84 92 00 00 00    	je     0x50d2c7
50d235:	ff 75 00             	push   0x0(%ebp)
50d238:	e8 63 2e fe ff       	call   0x4f00a0
50d23d:	8b 8d 84 00 00 00    	mov    0x84(%ebp),%ecx
50d243:	83 c4 04             	add    $0x4,%esp
50d246:	8b f8                	mov    %eax,%edi
50d248:	85 c9                	test   %ecx,%ecx
50d24a:	7e 43                	jle    0x50d28f
50d24c:	2b c1                	sub    %ecx,%eax
50d24e:	3b f0                	cmp    %eax,%esi
50d250:	0f 42 c6             	cmovb  %esi,%eax
50d253:	50                   	push   %eax
50d254:	89 44 24 18          	mov    %eax,0x18(%esp)
50d258:	8d 45 64             	lea    0x64(%ebp),%eax
50d25b:	03 c1                	add    %ecx,%eax
50d25d:	53                   	push   %ebx
50d25e:	50                   	push   %eax
50d25f:	e8 6c 5b 0c 00       	call   0x5d2dd0
50d264:	8b 44 24 20          	mov    0x20(%esp),%eax
50d268:	83 c4 0c             	add    $0xc,%esp
50d26b:	01 85 84 00 00 00    	add    %eax,0x84(%ebp)
50d271:	2b f0                	sub    %eax,%esi
50d273:	74 52                	je     0x50d2c7
50d275:	03 d8                	add    %eax,%ebx
50d277:	8d 4d 44             	lea    0x44(%ebp),%ecx
50d27a:	57                   	push   %edi
50d27b:	8d 45 64             	lea    0x64(%ebp),%eax
50d27e:	50                   	push   %eax
50d27f:	51                   	push   %ecx
50d280:	ff 75 00             	push   0x0(%ebp)
50d283:	e8 c8 34 fe ff       	call   0x4f0750
50d288:	83 c4 10             	add    $0x10,%esp
50d28b:	85 c0                	test   %eax,%eax
50d28d:	7e 42                	jle    0x50d2d1
50d28f:	8d 45 44             	lea    0x44(%ebp),%eax
50d292:	3b f7                	cmp    %edi,%esi
50d294:	76 1d                	jbe    0x50d2b3
50d296:	57                   	push   %edi
50d297:	53                   	push   %ebx
50d298:	50                   	push   %eax
50d299:	ff 75 00             	push   0x0(%ebp)
50d29c:	e8 af 34 fe ff       	call   0x4f0750
50d2a1:	83 c4 10             	add    $0x10,%esp
50d2a4:	85 c0                	test   %eax,%eax
50d2a6:	7e 29                	jle    0x50d2d1
50d2a8:	2b f7                	sub    %edi,%esi
50d2aa:	8d 45 44             	lea    0x44(%ebp),%eax
50d2ad:	03 df                	add    %edi,%ebx
50d2af:	3b f7                	cmp    %edi,%esi
50d2b1:	77 e3                	ja     0x50d296
50d2b3:	56                   	push   %esi
50d2b4:	8d 45 64             	lea    0x64(%ebp),%eax
50d2b7:	53                   	push   %ebx
50d2b8:	50                   	push   %eax
50d2b9:	e8 12 5b 0c 00       	call   0x5d2dd0
50d2be:	83 c4 0c             	add    $0xc,%esp
50d2c1:	89 b5 84 00 00 00    	mov    %esi,0x84(%ebp)
50d2c7:	5f                   	pop    %edi
50d2c8:	5e                   	pop    %esi
50d2c9:	5d                   	pop    %ebp
50d2ca:	b8 01 00 00 00       	mov    $0x1,%eax
50d2cf:	5b                   	pop    %ebx
50d2d0:	c3                   	ret
50d2d1:	5f                   	pop    %edi
50d2d2:	5e                   	pop    %esi
50d2d3:	5d                   	pop    %ebp
50d2d4:	33 c0                	xor    %eax,%eax
50d2d6:	5b                   	pop    %ebx
50d2d7:	c3                   	ret
50d2d8:	cc                   	int3
50d2d9:	cc                   	int3
50d2da:	cc                   	int3
50d2db:	cc                   	int3
50d2dc:	cc                   	int3
50d2dd:	cc                   	int3
50d2de:	cc                   	int3
50d2df:	cc                   	int3
50d2e0:	53                   	push   %ebx
50d2e1:	55                   	push   %ebp
50d2e2:	8b 6c 24 10          	mov    0x10(%esp),%ebp
50d2e6:	33 d2                	xor    %edx,%edx
50d2e8:	56                   	push   %esi
50d2e9:	8b 74 24 18          	mov    0x18(%esp),%esi
50d2ed:	4e                   	dec    %esi
50d2ee:	8a 5d 00             	mov    0x0(%ebp),%bl
50d2f1:	8a eb                	mov    %bl,%ch
50d2f3:	c0 ed 07             	shr    $0x7,%ch
50d2f6:	57                   	push   %edi
50d2f7:	8b 7c 24 14          	mov    0x14(%esp),%edi
50d2fb:	85 f6                	test   %esi,%esi
50d2fd:	7e 18                	jle    0x50d317
50d2ff:	90                   	nop
50d300:	8a 4c 2a 01          	mov    0x1(%edx,%ebp,1),%cl
50d304:	02 db                	add    %bl,%bl
50d306:	8a c1                	mov    %cl,%al
50d308:	c0 e8 07             	shr    $0x7,%al
50d30b:	0a c3                	or     %bl,%al
50d30d:	8a d9                	mov    %cl,%bl
50d30f:	88 04 3a             	mov    %al,(%edx,%edi,1)
50d312:	42                   	inc    %edx
50d313:	3b d6                	cmp    %esi,%edx
50d315:	7c e9                	jl     0x50d300
50d317:	83 7c 24 1c 10       	cmpl   $0x10,0x1c(%esp)
50d31c:	be 87 00 00 00       	mov    $0x87,%esi
50d321:	b8 1b 00 00 00       	mov    $0x1b,%eax
50d326:	0f 44 c6             	cmove  %esi,%eax
50d329:	f6 dd                	neg    %ch
50d32b:	02 db                	add    %bl,%bl
50d32d:	22 c5                	and    %ch,%al
50d32f:	32 c3                	xor    %bl,%al
50d331:	88 04 3a             	mov    %al,(%edx,%edi,1)
50d334:	5f                   	pop    %edi
50d335:	5e                   	pop    %esi
50d336:	5d                   	pop    %ebp
50d337:	5b                   	pop    %ebx
50d338:	c3                   	ret
50d339:	cc                   	int3
50d33a:	cc                   	int3
50d33b:	cc                   	int3
50d33c:	cc                   	int3
50d33d:	cc                   	int3
50d33e:	cc                   	int3
50d33f:	cc                   	int3