594ff9:	52                   	push   %edx
594ffa:	50                   	push   %eax
594ffb:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
595001:	50                   	push   %eax
595002:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
595008:	50                   	push   %eax
595009:	51                   	push   %ecx
59500a:	68 00 00 00 40       	push   $0x40000000
59500f:	55                   	push   %ebp
595010:	53                   	push   %ebx
595011:	e8 2a c8 00 00       	call   0x5a1840
595016:	83 c4 24             	add    $0x24,%esp
595019:	8d 57 50             	lea    0x50(%edi),%edx
59501c:	81 ee 00 00 00 40    	sub    $0x40000000,%esi
595022:	81 c3 00 00 00 40    	add    $0x40000000,%ebx
595028:	81 c5 00 00 00 40    	add    $0x40000000,%ebp
59502e:	83 6c 24 20 01       	subl   $0x1,0x20(%esp)
595033:	75 bb                	jne    0x594ff0
595035:	85 f6                	test   %esi,%esi
595037:	74 28                	je     0x595061
595039:	ff 77 08             	push   0x8(%edi)
59503c:	8b 4f 60             	mov    0x60(%edi),%ecx
59503f:	8d 47 50             	lea    0x50(%edi),%eax
595042:	50                   	push   %eax
595043:	8d 47 20             	lea    0x20(%edi),%eax
595046:	50                   	push   %eax
595047:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
59504d:	50                   	push   %eax
59504e:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
595054:	50                   	push   %eax
595055:	51                   	push   %ecx
595056:	56                   	push   %esi
595057:	55                   	push   %ebp
595058:	53                   	push   %ebx
595059:	e8 e2 c7 00 00       	call   0x5a1840
59505e:	83 c4 24             	add    $0x24,%esp
595061:	5f                   	pop    %edi
595062:	5e                   	pop    %esi
595063:	5d                   	pop    %ebp
595064:	b8 01 00 00 00       	mov    $0x1,%eax
595069:	5b                   	pop    %ebx
59506a:	c3                   	ret
59506b:	cc                   	int3
59506c:	cc                   	int3
59506d:	cc                   	int3
59506e:	cc                   	int3
59506f:	cc                   	int3
595070:	b8 08 00 00 00       	mov    $0x8,%eax
595075:	e8 76 c4 04 00       	call   0x5e14f0
59507a:	55                   	push   %ebp
59507b:	8b 6c 24 10          	mov    0x10(%esp),%ebp
59507f:	68 00 20 00 00       	push   $0x2000
595084:	55                   	push   %ebp
595085:	e8 e6 bf ef ff       	call   0x491070
59508a:	83 c4 08             	add    $0x8,%esp
59508d:	85 c0                	test   %eax,%eax
59508f:	75 0d                	jne    0x59509e
595091:	8b 44 24 1c          	mov    0x1c(%esp),%eax
595095:	8d 0c c5 00 00 00 00 	lea    0x0(,%eax,8),%ecx
59509c:	eb 04                	jmp    0x5950a2
59509e:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5950a2:	33 c0                	xor    %eax,%eax
5950a4:	89 4c 24 08          	mov    %ecx,0x8(%esp)
5950a8:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5950ac:	85 c9                	test   %ecx,%ecx
5950ae:	0f 84 9f 00 00 00    	je     0x595153
5950b4:	53                   	push   %ebx
5950b5:	56                   	push   %esi
5950b6:	8d 55 20             	lea    0x20(%ebp),%edx
5950b9:	57                   	push   %edi
5950ba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
5950c0:	ff 75 08             	push   0x8(%ebp)
5950c3:	8b f8                	mov    %eax,%edi
5950c5:	8b f0                	mov    %eax,%esi
5950c7:	83 e7 07             	and    $0x7,%edi
5950ca:	c1 ee 03             	shr    $0x3,%esi
5950cd:	b9 07 00 00 00       	mov    $0x7,%ecx
5950d2:	b8 01 00 00 00       	mov    $0x1,%eax
5950d7:	2b cf                	sub    %edi,%ecx
5950d9:	d3 e0                	shl    %cl,%eax
5950db:	8b 4c 24 28          	mov    0x28(%esp),%ecx
5950df:	52                   	push   %edx
5950e0:	22 04 0e             	and    (%esi,%ecx,1),%al
5950e3:	8b 4d 60             	mov    0x60(%ebp),%ecx
5950e6:	f6 d8                	neg    %al
5950e8:	1a c0                	sbb    %al,%al
5950ea:	24 80                	and    $0x80,%al
5950ec:	88 44 24 1a          	mov    %al,0x1a(%esp)
5950f0:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
5950f6:	50                   	push   %eax
5950f7:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
5950fd:	50                   	push   %eax
5950fe:	51                   	push   %ecx
5950ff:	6a 01                	push   $0x1
595101:	6a 01                	push   $0x1
595103:	8d 44 24 2f          	lea    0x2f(%esp),%eax
595107:	50                   	push   %eax
595108:	8d 44 24 32          	lea    0x32(%esp),%eax
59510c:	50                   	push   %eax
59510d:	e8 5e c9 00 00       	call   0x5a1a70
595112:	8b 44 24 4c          	mov    0x4c(%esp),%eax
595116:	ba 80 00 00 00       	mov    $0x80,%edx
59511b:	8a 5c 24 37          	mov    0x37(%esp),%bl
59511f:	8a c8                	mov    %al,%cl
595121:	80 e1 07             	and    $0x7,%cl
595124:	80 e3 80             	and    $0x80,%bl
595127:	d2 eb                	shr    %cl,%bl
595129:	40                   	inc    %eax
59512a:	8b cf                	mov    %edi,%ecx
59512c:	89 44 24 4c          	mov    %eax,0x4c(%esp)
595130:	d3 fa                	sar    %cl,%edx
595132:	83 c4 24             	add    $0x24,%esp
595135:	8b 4c 24 20          	mov    0x20(%esp),%ecx
595139:	f6 d2                	not    %dl
59513b:	22 14 0e             	and    (%esi,%ecx,1),%dl
59513e:	0a da                	or     %dl,%bl
595140:	8d 55 20             	lea    0x20(%ebp),%edx
595143:	88 1c 0e             	mov    %bl,(%esi,%ecx,1)
595146:	3b 44 24 14          	cmp    0x14(%esp),%eax
59514a:	0f 82 70 ff ff ff    	jb     0x5950c0
595150:	5f                   	pop    %edi
595151:	5e                   	pop    %esi
595152:	5b                   	pop    %ebx
595153:	b8 01 00 00 00       	mov    $0x1,%eax
595158:	5d                   	pop    %ebp
595159:	83 c4 08             	add    $0x8,%esp
59515c:	c3                   	ret
59515d:	cc                   	int3
59515e:	cc                   	int3
59515f:	cc                   	int3
595160:	53                   	push   %ebx
595161:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
595165:	55                   	push   %ebp
595166:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
59516a:	56                   	push   %esi
59516b:	8b 74 24 1c          	mov    0x1c(%esp),%esi
59516f:	57                   	push   %edi
595170:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
595174:	81 fe 00 00 00 40    	cmp    $0x40000000,%esi
59517a:	72 4f                	jb     0x5951cb
59517c:	8b c6                	mov    %esi,%eax
59517e:	8d 55 20             	lea    0x20(%ebp),%edx
595181:	c1 e8 1e             	shr    $0x1e,%eax
595184:	89 44 24 20          	mov    %eax,0x20(%esp)
595188:	ff 75 08             	push   0x8(%ebp)
59518b:	8b 4d 60             	mov    0x60(%ebp),%ecx
59518e:	52                   	push   %edx
59518f:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
595195:	50                   	push   %eax
595196:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
59519c:	50                   	push   %eax
59519d:	51                   	push   %ecx
59519e:	68 00 00 00 40       	push   $0x40000000
5951a3:	6a 08                	push   $0x8
5951a5:	53                   	push   %ebx
5951a6:	57                   	push   %edi
5951a7:	e8 c4 c8 00 00       	call   0x5a1a70
5951ac:	83 c4 24             	add    $0x24,%esp
5951af:	8d 55 20             	lea    0x20(%ebp),%edx
5951b2:	81 ee 00 00 00 40    	sub    $0x40000000,%esi
5951b8:	81 c7 00 00 00 40    	add    $0x40000000,%edi
5951be:	81 c3 00 00 00 40    	add    $0x40000000,%ebx
5951c4:	83 6c 24 20 01       	subl   $0x1,0x20(%esp)
5951c9:	75 bd                	jne    0x595188
5951cb:	85 f6                	test   %esi,%esi
5951cd:	74 26                	je     0x5951f5
5951cf:	ff 75 08             	push   0x8(%ebp)
5951d2:	8b 4d 60             	mov    0x60(%ebp),%ecx
5951d5:	8d 45 20             	lea    0x20(%ebp),%eax
5951d8:	50                   	push   %eax
5951d9:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
5951df:	50                   	push   %eax
5951e0:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
5951e6:	50                   	push   %eax
5951e7:	51                   	push   %ecx
5951e8:	56                   	push   %esi
5951e9:	6a 08                	push   $0x8
5951eb:	53                   	push   %ebx
5951ec:	57                   	push   %edi
5951ed:	e8 7e c8 00 00       	call   0x5a1a70
5951f2:	83 c4 24             	add    $0x24,%esp
5951f5:	5f                   	pop    %edi
5951f6:	5e                   	pop    %esi
5951f7:	5d                   	pop    %ebp
5951f8:	b8 01 00 00 00       	mov    $0x1,%eax
5951fd:	5b                   	pop    %ebx
5951fe:	c3                   	ret
5951ff:	cc                   	int3
595200:	b8 cc 84 6c 00       	mov    $0x6c84cc,%eax
595205:	c3                   	ret
595206:	cc                   	int3
595207:	cc                   	int3
595208:	cc                   	int3
595209:	cc                   	int3
59520a:	cc                   	int3
59520b:	cc                   	int3
59520c:	cc                   	int3
59520d:	cc                   	int3
59520e:	cc                   	int3
59520f:	cc                   	int3
595210:	b8 2c 00 00 00       	mov    $0x2c,%eax
595215:	e8 d6 c2 04 00       	call   0x5e14f0
59521a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
59521f:	33 c4                	xor    %esp,%eax
595221:	89 44 24 28          	mov    %eax,0x28(%esp)
595225:	8b 4c 24 30          	mov    0x30(%esp),%ecx
595229:	53                   	push   %ebx
59522a:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
59522e:	55                   	push   %ebp
59522f:	56                   	push   %esi
595230:	8b 74 24 40          	mov    0x40(%esp),%esi
595234:	83 cd ff             	or     $0xffffffff,%ebp
595237:	57                   	push   %edi
595238:	8b 7c 24 4c          	mov    0x4c(%esp),%edi
59523c:	89 4c 24 10          	mov    %ecx,0x10(%esp)
595240:	83 ff 18             	cmp    $0x18,%edi
595243:	73 15                	jae    0x59525a
595245:	5f                   	pop    %edi
595246:	5e                   	pop    %esi
595247:	0b c5                	or     %ebp,%eax
595249:	5d                   	pop    %ebp
59524a:	5b                   	pop    %ebx
59524b:	8b 4c 24 28          	mov    0x28(%esp),%ecx
59524f:	33 cc                	xor    %esp,%ecx
595251:	e8 84 c2 04 00       	call   0x5e14da
595256:	83 c4 2c             	add    $0x2c,%esp
595259:	c3                   	ret
59525a:	85 f6                	test   %esi,%esi
59525c:	75 16                	jne    0x595274
59525e:	8d 47 f0             	lea    -0x10(%edi),%eax
595261:	5f                   	pop    %edi
595262:	5e                   	pop    %esi
595263:	5d                   	pop    %ebp
595264:	5b                   	pop    %ebx
595265:	8b 4c 24 28          	mov    0x28(%esp),%ecx
595269:	33 cc                	xor    %esp,%ecx
59526b:	e8 6a c2 04 00       	call   0x5e14da
595270:	83 c4 2c             	add    $0x2c,%esp
595273:	c3                   	ret
595274:	a1 c4 84 6c 00       	mov    0x6c84c4,%eax
595279:	89 41 20             	mov    %eax,0x20(%ecx)
59527c:	a1 c8 84 6c 00       	mov    0x6c84c8,%eax
595281:	6a 08                	push   $0x8
595283:	89 41 24             	mov    %eax,0x24(%ecx)
595286:	8d 44 24 18          	lea    0x18(%esp),%eax
59528a:	53                   	push   %ebx
59528b:	50                   	push   %eax
59528c:	51                   	push   %ecx
59528d:	e8 4e fc ff ff       	call   0x594ee0
595292:	83 c4 10             	add    $0x10,%esp
595295:	3b f3                	cmp    %ebx,%esi
595297:	75 14                	jne    0x5952ad
595299:	8d 47 f8             	lea    -0x8(%edi),%eax
59529c:	50                   	push   %eax
59529d:	8d 46 08             	lea    0x8(%esi),%eax
5952a0:	50                   	push   %eax
5952a1:	56                   	push   %esi
5952a2:	e8 d9 e1 04 00       	call   0x5e3480
5952a7:	83 c4 0c             	add    $0xc,%esp
5952aa:	83 eb 08             	sub    $0x8,%ebx
5952ad:	8d 47 f0             	lea    -0x10(%edi),%eax
5952b0:	50                   	push   %eax
5952b1:	8d 43 08             	lea    0x8(%ebx),%eax
5952b4:	50                   	push   %eax
5952b5:	56                   	push   %esi
5952b6:	ff 74 24 1c          	push   0x1c(%esp)
5952ba:	e8 21 fc ff ff       	call   0x594ee0
5952bf:	6a 08                	push   $0x8
5952c1:	8d 47 f8             	lea    -0x8(%edi),%eax
5952c4:	03 c3                	add    %ebx,%eax
5952c6:	8b 5c 24 24          	mov    0x24(%esp),%ebx
5952ca:	50                   	push   %eax
5952cb:	8d 44 24 34          	lea    0x34(%esp),%eax
5952cf:	50                   	push   %eax
5952d0:	53                   	push   %ebx
5952d1:	e8 0a fc ff ff       	call   0x594ee0
5952d6:	6a 08                	push   $0x8
5952d8:	8d 44 24 38          	lea    0x38(%esp),%eax
5952dc:	6a 00                	push   $0x0
5952de:	50                   	push   %eax
5952df:	e8 fc 93 f3 ff       	call   0x4ce6e0
5952e4:	8d 47 f0             	lea    -0x10(%edi),%eax
5952e7:	50                   	push   %eax
5952e8:	6a 00                	push   $0x0
5952ea:	56                   	push   %esi
5952eb:	e8 f0 93 f3 ff       	call   0x4ce6e0
5952f0:	6a 08                	push   $0x8
5952f2:	8d 44 24 58          	lea    0x58(%esp),%eax
5952f6:	50                   	push   %eax
5952f7:	8d 43 20             	lea    0x20(%ebx),%eax
5952fa:	50                   	push   %eax
5952fb:	e8 e0 93 f3 ff       	call   0x4ce6e0
595300:	83 c4 44             	add    $0x44,%esp
595303:	8d 47 f0             	lea    -0x10(%edi),%eax
595306:	50                   	push   %eax
595307:	56                   	push   %esi
595308:	56                   	push   %esi
595309:	53                   	push   %ebx
59530a:	e8 d1 fb ff ff       	call   0x594ee0
59530f:	6a 08                	push   $0x8
595311:	8d 44 24 28          	lea    0x28(%esp),%eax
595315:	50                   	push   %eax
595316:	50                   	push   %eax
595317:	53                   	push   %ebx
595318:	e8 c3 fb ff ff       	call   0x594ee0
59531d:	8d 44 24 44          	lea    0x44(%esp),%eax
595321:	50                   	push   %eax
595322:	8d 47 f0             	lea    -0x10(%edi),%eax
595325:	50                   	push   %eax
595326:	56                   	push   %esi
595327:	e8 e4 d3 00 00       	call   0x5a2710
59532c:	6a 08                	push   $0x8
59532e:	8d 44 24 44          	lea    0x44(%esp),%eax
595332:	50                   	push   %eax
595333:	8d 44 24 58          	lea    0x58(%esp),%eax
595337:	50                   	push   %eax
595338:	e8 f3 b2 f0 ff       	call   0x4a0630
59533d:	83 c4 38             	add    $0x38,%esp
595340:	85 c0                	test   %eax,%eax
595342:	75 03                	jne    0x595347
595344:	8d 6f f0             	lea    -0x10(%edi),%ebp
595347:	8d 44 24 14          	lea    0x14(%esp),%eax
59534b:	6a 08                	push   $0x8
59534d:	50                   	push   %eax
59534e:	e8 fd af f0 ff       	call   0x4a0350
595353:	8d 44 24 2c          	lea    0x2c(%esp),%eax
595357:	6a 14                	push   $0x14
595359:	50                   	push   %eax
59535a:	e8 f1 af f0 ff       	call   0x4a0350
59535f:	8d 44 24 2c          	lea    0x2c(%esp),%eax
595363:	6a 08                	push   $0x8
595365:	50                   	push   %eax
595366:	e8 e5 af f0 ff       	call   0x4a0350
59536b:	8d 43 20             	lea    0x20(%ebx),%eax
59536e:	6a 08                	push   $0x8
595370:	50                   	push   %eax
595371:	e8 da af f0 ff       	call   0x4a0350
595376:	83 c4 20             	add    $0x20,%esp
595379:	83 fd ff             	cmp    $0xffffffff,%ebp
59537c:	75 0d                	jne    0x59538b
59537e:	8d 47 f0             	lea    -0x10(%edi),%eax
595381:	50                   	push   %eax
595382:	56                   	push   %esi
595383:	e8 c8 af f0 ff       	call   0x4a0350
595388:	83 c4 08             	add    $0x8,%esp
59538b:	8b 4c 24 38          	mov    0x38(%esp),%ecx
59538f:	8b c5                	mov    %ebp,%eax
595391:	5f                   	pop    %edi
595392:	5e                   	pop    %esi
595393:	5d                   	pop    %ebp