594e38:	5d                   	pop    %ebp
594e39:	c3                   	ret
594e3a:	cc                   	int3
594e3b:	cc                   	int3
594e3c:	cc                   	int3
594e3d:	cc                   	int3
594e3e:	cc                   	int3
594e3f:	cc                   	int3
594e40:	53                   	push   %ebx
594e41:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
594e45:	55                   	push   %ebp
594e46:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
594e4a:	56                   	push   %esi
594e4b:	8b 74 24 1c          	mov    0x1c(%esp),%esi
594e4f:	57                   	push   %edi
594e50:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
594e54:	81 fe 00 00 00 40    	cmp    $0x40000000,%esi
594e5a:	72 4e                	jb     0x594eaa
594e5c:	8b c6                	mov    %esi,%eax
594e5e:	8d 55 50             	lea    0x50(%ebp),%edx
594e61:	c1 e8 1e             	shr    $0x1e,%eax
594e64:	89 44 24 20          	mov    %eax,0x20(%esp)
594e68:	8b 4d 60             	mov    0x60(%ebp),%ecx
594e6b:	8d 45 20             	lea    0x20(%ebp),%eax
594e6e:	52                   	push   %edx
594e6f:	50                   	push   %eax
594e70:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
594e76:	50                   	push   %eax
594e77:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
594e7d:	50                   	push   %eax
594e7e:	51                   	push   %ecx
594e7f:	68 00 00 00 40       	push   $0x40000000
594e84:	53                   	push   %ebx
594e85:	57                   	push   %edi
594e86:	e8 c5 d3 00 00       	call   0x5a2250
594e8b:	83 c4 20             	add    $0x20,%esp
594e8e:	8d 55 50             	lea    0x50(%ebp),%edx
594e91:	81 ee 00 00 00 40    	sub    $0x40000000,%esi
594e97:	81 c7 00 00 00 40    	add    $0x40000000,%edi
594e9d:	81 c3 00 00 00 40    	add    $0x40000000,%ebx
594ea3:	83 6c 24 20 01       	subl   $0x1,0x20(%esp)
594ea8:	75 be                	jne    0x594e68
594eaa:	85 f6                	test   %esi,%esi
594eac:	74 25                	je     0x594ed3
594eae:	8b 4d 60             	mov    0x60(%ebp),%ecx
594eb1:	8d 45 50             	lea    0x50(%ebp),%eax
594eb4:	50                   	push   %eax
594eb5:	8d 45 20             	lea    0x20(%ebp),%eax
594eb8:	50                   	push   %eax
594eb9:	8d 81 00 01 00 00    	lea    0x100(%ecx),%eax
594ebf:	50                   	push   %eax
594ec0:	8d 81 80 00 00 00    	lea    0x80(%ecx),%eax
594ec6:	50                   	push   %eax
594ec7:	51                   	push   %ecx
594ec8:	56                   	push   %esi
594ec9:	53                   	push   %ebx
594eca:	57                   	push   %edi
594ecb:	e8 80 d3 00 00       	call   0x5a2250
594ed0:	83 c4 20             	add    $0x20,%esp
594ed3:	5f                   	pop    %edi
594ed4:	5e                   	pop    %esi
594ed5:	5d                   	pop    %ebp
594ed6:	b8 01 00 00 00       	mov    $0x1,%eax
594edb:	5b                   	pop    %ebx
594edc:	c3                   	ret
594edd:	cc                   	int3
594ede:	cc                   	int3
594edf:	cc                   	int3
594ee0:	b8 04 00 00 00       	mov    $0x4,%eax
594ee5:	e8 06 c6 04 00       	call   0x5e14f0
594eea:	8b 44 24 08          	mov    0x8(%esp),%eax
594eee:	57                   	push   %edi
594eef:	8b 78 60             	mov    0x60(%eax),%edi
594ef2:	8b 8f 80 01 00 00    	mov    0x180(%edi),%ecx
594ef8:	85 c9                	test   %ecx,%ecx
594efa:	74 1e                	je     0x594f1a
594efc:	83 c0 20             	add    $0x20,%eax
594eff:	50                   	push   %eax
594f00:	57                   	push   %edi
594f01:	ff 74 24 20          	push   0x20(%esp)
594f05:	ff 74 24 1c          	push   0x1c(%esp)
594f09:	ff 74 24 24          	push   0x24(%esp)
594f0d:	ff d1                	call   *%ecx
594f0f:	83 c4 14             	add    $0x14,%esp
594f12:	b8 01 00 00 00       	mov    $0x1,%eax
594f17:	5f                   	pop    %edi
594f18:	59                   	pop    %ecx
594f19:	c3                   	ret
594f1a:	53                   	push   %ebx
594f1b:	8b 5c 24 18          	mov    0x18(%esp),%ebx
594f1f:	55                   	push   %ebp
594f20:	8b 6c 24 18          	mov    0x18(%esp),%ebp
594f24:	56                   	push   %esi
594f25:	8b 74 24 24          	mov    0x24(%esp),%esi
594f29:	81 fe 00 00 00 40    	cmp    $0x40000000,%esi
594f2f:	72 51                	jb     0x594f82
594f31:	8b ce                	mov    %esi,%ecx
594f33:	8d 50 20             	lea    0x20(%eax),%edx
594f36:	c1 e9 1e             	shr    $0x1e,%ecx
594f39:	89 4c 24 10          	mov    %ecx,0x10(%esp)
594f3d:	0f 1f 00             	nopl   (%eax)
594f40:	ff 70 08             	push   0x8(%eax)
594f43:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
594f49:	52                   	push   %edx
594f4a:	50                   	push   %eax
594f4b:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
594f51:	50                   	push   %eax
594f52:	57                   	push   %edi
594f53:	68 00 00 00 40       	push   $0x40000000
594f58:	55                   	push   %ebp
594f59:	53                   	push   %ebx
594f5a:	e8 21 c0 00 00       	call   0x5a0f80
594f5f:	8b 44 24 38          	mov    0x38(%esp),%eax
594f63:	83 c4 20             	add    $0x20,%esp
594f66:	81 ee 00 00 00 40    	sub    $0x40000000,%esi
594f6c:	81 c3 00 00 00 40    	add    $0x40000000,%ebx
594f72:	81 c5 00 00 00 40    	add    $0x40000000,%ebp
594f78:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
594f7d:	8d 50 20             	lea    0x20(%eax),%edx
594f80:	75 be                	jne    0x594f40
594f82:	85 f6                	test   %esi,%esi
594f84:	74 21                	je     0x594fa7
594f86:	ff 70 08             	push   0x8(%eax)
594f89:	83 c0 20             	add    $0x20,%eax
594f8c:	50                   	push   %eax
594f8d:	8d 87 00 01 00 00    	lea    0x100(%edi),%eax
594f93:	50                   	push   %eax
594f94:	8d 87 80 00 00 00    	lea    0x80(%edi),%eax
594f9a:	50                   	push   %eax
594f9b:	57                   	push   %edi
594f9c:	56                   	push   %esi
594f9d:	55                   	push   %ebp
594f9e:	53                   	push   %ebx
594f9f:	e8 dc bf 00 00       	call   0x5a0f80
594fa4:	83 c4 20             	add    $0x20,%esp
594fa7:	5e                   	pop    %esi
594fa8:	5d                   	pop    %ebp
594fa9:	5b                   	pop    %ebx
594faa:	b8 01 00 00 00       	mov    $0x1,%eax
594faf:	5f                   	pop    %edi
594fb0:	59                   	pop    %ecx
594fb1:	c3                   	ret
594fb2:	cc                   	int3
594fb3:	cc                   	int3
594fb4:	cc                   	int3
594fb5:	cc                   	int3
594fb6:	cc                   	int3
594fb7:	cc                   	int3
594fb8:	cc                   	int3
594fb9:	cc                   	int3
594fba:	cc                   	int3
594fbb:	cc                   	int3
594fbc:	cc                   	int3
594fbd:	cc                   	int3
594fbe:	cc                   	int3
594fbf:	cc                   	int3
594fc0:	53                   	push   %ebx
594fc1:	8b 5c 24 10          	mov    0x10(%esp),%ebx
594fc5:	55                   	push   %ebp
594fc6:	8b 6c 24 10          	mov    0x10(%esp),%ebp
594fca:	56                   	push   %esi
594fcb:	8b 74 24 1c          	mov    0x1c(%esp),%esi
594fcf:	57                   	push   %edi
594fd0:	8b 7c 24 14          	mov    0x14(%esp),%edi
594fd4:	81 fe 00 00 00 40    	cmp    $0x40000000,%esi
594fda:	72 59                	jb     0x595035
594fdc:	8b c6                	mov    %esi,%eax
594fde:	8d 57 50             	lea    0x50(%edi),%edx
594fe1:	c1 e8 1e             	shr    $0x1e,%eax
594fe4:	89 44 24 20          	mov    %eax,0x20(%esp)
594fe8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
594fef:	00
594ff0:	ff 77 08             	push   0x8(%edi)
594ff3:	8b 4f 60             	mov    0x60(%edi),%ecx
594ff6:	8d 47 20             	lea    0x20(%edi),%eax
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