593f34:	85 c0                	test   %eax,%eax
593f36:	0f 84 c2 fe ff ff    	je     0x593dfe
593f3c:	53                   	push   %ebx
593f3d:	e8 7e 11 f5 ff       	call   0x4e50c0
593f42:	83 c4 04             	add    $0x4,%esp
593f45:	3b f8                	cmp    %eax,%edi
593f47:	7c d7                	jl     0x593f20
593f49:	5f                   	pop    %edi
593f4a:	5e                   	pop    %esi
593f4b:	5d                   	pop    %ebp
593f4c:	b8 01 00 00 00       	mov    $0x1,%eax
593f51:	5b                   	pop    %ebx
593f52:	c3                   	ret
593f53:	cc                   	int3
593f54:	cc                   	int3
593f55:	cc                   	int3
593f56:	cc                   	int3
593f57:	cc                   	int3
593f58:	cc                   	int3
593f59:	cc                   	int3
593f5a:	cc                   	int3
593f5b:	cc                   	int3
593f5c:	cc                   	int3
593f5d:	cc                   	int3
593f5e:	cc                   	int3
593f5f:	cc                   	int3
593f60:	b8 04 00 00 00       	mov    $0x4,%eax
593f65:	e8 46 d8 03 00       	call   0x5d17b0
593f6a:	56                   	push   %esi
593f6b:	57                   	push   %edi
593f6c:	8b 7c 24 18          	mov    0x18(%esp),%edi
593f70:	6a 00                	push   $0x0
593f72:	57                   	push   %edi
593f73:	e8 88 33 fc ff       	call   0x557300
593f78:	8b f0                	mov    %eax,%esi
593f7a:	83 c4 08             	add    $0x8,%esp
593f7d:	85 f6                	test   %esi,%esi
593f7f:	79 0e                	jns    0x593f8f
593f81:	68 7a 03 00 00       	push   $0x37a
593f86:	68 e0 71 66 00       	push   $0x6671e0
593f8b:	6a 07                	push   $0x7
593f8d:	eb 7a                	jmp    0x594009
593f8f:	6a 03                	push   $0x3
593f91:	8d 44 24 0c          	lea    0xc(%esp),%eax
593f95:	50                   	push   %eax
593f96:	56                   	push   %esi
593f97:	ff 74 24 20          	push   0x20(%esp)
593f9b:	e8 30 02 01 00       	call   0x5a41d0
593fa0:	83 c4 10             	add    $0x10,%esp
593fa3:	85 c0                	test   %eax,%eax
593fa5:	74 56                	je     0x593ffd
593fa7:	8d 44 24 08          	lea    0x8(%esp),%eax
593fab:	50                   	push   %eax
593fac:	57                   	push   %edi
593fad:	e8 4e 33 fc ff       	call   0x557300
593fb2:	83 c4 08             	add    $0x8,%esp
593fb5:	3b c6                	cmp    %esi,%eax
593fb7:	75 44                	jne    0x593ffd
593fb9:	8b 54 24 10          	mov    0x10(%esp),%edx
593fbd:	8b 4a 04             	mov    0x4(%edx),%ecx
593fc0:	8b 41 64             	mov    0x64(%ecx),%eax
593fc3:	f6 40 30 08          	testb  $0x8,0x30(%eax)
593fc7:	75 2b                	jne    0x593ff4
593fc9:	8b 01                	mov    (%ecx),%eax
593fcb:	3d 04 03 00 00       	cmp    $0x304,%eax
593fd0:	7c 22                	jl     0x593ff4
593fd2:	3d 00 00 01 00       	cmp    $0x10000,%eax
593fd7:	74 1b                	je     0x593ff4
593fd9:	ff 74 24 1c          	push   0x1c(%esp)
593fdd:	57                   	push   %edi
593fde:	68 00 10 00 00       	push   $0x1000
593fe3:	ff 74 24 20          	push   0x20(%esp)
593fe7:	52                   	push   %edx
593fe8:	e8 93 18 01 00       	call   0x5a5880
593fed:	83 c4 14             	add    $0x14,%esp
593ff0:	85 c0                	test   %eax,%eax
593ff2:	74 28                	je     0x59401c
593ff4:	5f                   	pop    %edi
593ff5:	b8 01 00 00 00       	mov    $0x1,%eax
593ffa:	5e                   	pop    %esi
593ffb:	59                   	pop    %ecx
593ffc:	c3                   	ret
593ffd:	68 80 03 00 00       	push   $0x380
594002:	68 e0 71 66 00       	push   $0x6671e0
594007:	6a 44                	push   $0x44
594009:	68 ed 01 00 00       	push   $0x1ed
59400e:	6a 50                	push   $0x50
594010:	ff 74 24 24          	push   0x24(%esp)
594014:	e8 f7 b0 ff ff       	call   0x58f110
594019:	83 c4 18             	add    $0x18,%esp
59401c:	5f                   	pop    %edi
59401d:	33 c0                	xor    %eax,%eax
59401f:	5e                   	pop    %esi
594020:	59                   	pop    %ecx
594021:	c3                   	ret
594022:	cc                   	int3
594023:	cc                   	int3
594024:	cc                   	int3
594025:	cc                   	int3
594026:	cc                   	int3
594027:	cc                   	int3
594028:	cc                   	int3
594029:	cc                   	int3
59402a:	cc                   	int3
59402b:	cc                   	int3
59402c:	cc                   	int3
59402d:	cc                   	int3
59402e:	cc                   	int3
59402f:	cc                   	int3
594030:	57                   	push   %edi
594031:	8b 7c 24 08          	mov    0x8(%esp),%edi
594035:	8b 87 d0 04 00 00    	mov    0x4d0(%edi),%eax
59403b:	8b 08                	mov    (%eax),%ecx
59403d:	8b 07                	mov    (%edi),%eax
59403f:	3b 01                	cmp    (%ecx),%eax
594041:	75 07                	jne    0x59404a
594043:	b8 01 00 00 00       	mov    $0x1,%eax
594048:	5f                   	pop    %edi
594049:	c3                   	ret
59404a:	56                   	push   %esi
59404b:	e8 90 b6 01 00       	call   0x5af6e0
594050:	8b 8f d0 04 00 00    	mov    0x4d0(%edi),%ecx
594056:	8b 09                	mov    (%ecx),%ecx
594058:	8b 09                	mov    (%ecx),%ecx
59405a:	3b 08                	cmp    (%eax),%ecx
59405c:	75 07                	jne    0x594065
59405e:	be 48 71 66 00       	mov    $0x667148,%esi
594063:	eb 18                	jmp    0x59407d
594065:	e8 66 b6 01 00       	call   0x5af6d0
59406a:	8b 8f d0 04 00 00    	mov    0x4d0(%edi),%ecx
594070:	8b 09                	mov    (%ecx),%ecx
594072:	8b 09                	mov    (%ecx),%ecx
594074:	3b 08                	cmp    (%eax),%ecx
594076:	75 29                	jne    0x5940a1
594078:	be 90 71 66 00       	mov    $0x667190,%esi
59407d:	83 3e 00             	cmpl   $0x0,(%esi)
594080:	74 1f                	je     0x5940a1
594082:	8b 46 08             	mov    0x8(%esi),%eax
594085:	85 c0                	test   %eax,%eax
594087:	74 10                	je     0x594099
594089:	ff d0                	call   *%eax
59408b:	50                   	push   %eax
59408c:	57                   	push   %edi
59408d:	e8 7e 07 00 00       	call   0x594810
594092:	83 c4 08             	add    $0x8,%esp
594095:	85 c0                	test   %eax,%eax
594097:	74 0d                	je     0x5940a6
594099:	83 c6 0c             	add    $0xc,%esi
59409c:	83 3e 00             	cmpl   $0x0,(%esi)
59409f:	75 e1                	jne    0x594082
5940a1:	5e                   	pop    %esi
5940a2:	33 c0                	xor    %eax,%eax
5940a4:	5f                   	pop    %edi
5940a5:	c3                   	ret
5940a6:	8b 0f                	mov    (%edi),%ecx
5940a8:	33 c0                	xor    %eax,%eax
5940aa:	3b 0e                	cmp    (%esi),%ecx
5940ac:	5e                   	pop    %esi
5940ad:	0f 94 c0             	sete   %al
5940b0:	5f                   	pop    %edi
5940b1:	c3                   	ret
5940b2:	cc                   	int3
5940b3:	cc                   	int3
5940b4:	cc                   	int3
5940b5:	cc                   	int3
5940b6:	cc                   	int3
5940b7:	cc                   	int3
5940b8:	cc                   	int3
5940b9:	cc                   	int3
5940ba:	cc                   	int3
5940bb:	cc                   	int3
5940bc:	cc                   	int3
5940bd:	cc                   	int3
5940be:	cc                   	int3
5940bf:	cc                   	int3
5940c0:	b8 08 00 00 00       	mov    $0x8,%eax
5940c5:	e8 e6 d6 03 00       	call   0x5d17b0
5940ca:	8b 44 24 10          	mov    0x10(%esp),%eax
5940ce:	53                   	push   %ebx
5940cf:	56                   	push   %esi
5940d0:	8b 74 24 14          	mov    0x14(%esp),%esi
5940d4:	6a 00                	push   $0x0
5940d6:	6a 00                	push   $0x0
5940d8:	ff 74 24 24          	push   0x24(%esp)
5940dc:	8b 1e                	mov    (%esi),%ebx
5940de:	68 00 03 00 00       	push   $0x300
5940e3:	6a 11                	push   $0x11
5940e5:	56                   	push   %esi
5940e6:	89 06                	mov    %eax,(%esi)
5940e8:	e8 b3 1a 01 00       	call   0x5a5ba0
5940ed:	83 c4 18             	add    $0x18,%esp
5940f0:	85 c0                	test   %eax,%eax
5940f2:	75 08                	jne    0x5940fc
5940f4:	89 1e                	mov    %ebx,(%esi)
5940f6:	5e                   	pop    %esi
5940f7:	5b                   	pop    %ebx
5940f8:	83 c4 08             	add    $0x8,%esp
5940fb:	c3                   	ret
5940fc:	83 be 4c 04 00 00 00 	cmpl   $0x0,0x44c(%esi)
594103:	74 31                	je     0x594136
594105:	81 3e 04 03 00 00    	cmpl   $0x304,(%esi)
59410b:	74 29                	je     0x594136
59410d:	68 73 07 00 00       	push   $0x773
594112:	68 e0 71 66 00       	push   $0x6671e0
594117:	68 0a 01 00 00       	push   $0x10a
59411c:	68 5f 02 00 00       	push   $0x25f
594121:	6a 46                	push   $0x46
594123:	56                   	push   %esi
594124:	89 1e                	mov    %ebx,(%esi)
594126:	e8 e5 af ff ff       	call   0x58f110
59412b:	83 c4 18             	add    $0x18,%esp
59412e:	33 c0                	xor    %eax,%eax
594130:	5e                   	pop    %esi
594131:	5b                   	pop    %ebx
594132:	83 c4 08             	add    $0x8,%esp
594135:	c3                   	ret
594136:	8b 46 04             	mov    0x4(%esi),%eax
594139:	57                   	push   %edi
59413a:	8b 00                	mov    (%eax),%eax
59413c:	3d 00 00 01 00       	cmp    $0x10000,%eax
594141:	74 2f                	je     0x594172
594143:	3d ff ff 01 00       	cmp    $0x1ffff,%eax
594148:	74 21                	je     0x59416b
59414a:	39 06                	cmp    %eax,(%esi)
59414c:	74 11                	je     0x59415f
59414e:	68 7d 07 00 00       	push   $0x77d
594153:	68 e0 71 66 00       	push   $0x6671e0
594158:	68 0a 01 00 00       	push   $0x10a
59415d:	eb 3f                	jmp    0x59419e
59415f:	5f                   	pop    %edi
594160:	5e                   	pop    %esi
594161:	b8 01 00 00 00       	mov    $0x1,%eax
594166:	5b                   	pop    %ebx
594167:	83 c4 08             	add    $0x8,%esp
59416a:	c3                   	ret
59416b:	bf 90 71 66 00       	mov    $0x667190,%edi
594170:	eb 05                	jmp    0x594177
594172:	bf 48 71 66 00       	mov    $0x667148,%edi
594177:	8d 44 24 10          	lea    0x10(%esp),%eax
59417b:	50                   	push   %eax
59417c:	8d 44 24 1c          	lea    0x1c(%esp),%eax
594180:	50                   	push   %eax
594181:	8d 44 24 24          	lea    0x24(%esp),%eax
594185:	50                   	push   %eax
594186:	56                   	push   %esi
594187:	e8 c4 04 00 00       	call   0x594650
59418c:	83 c4 10             	add    $0x10,%esp
59418f:	85 c0                	test   %eax,%eax
594191:	74 26                	je     0x5941b9
594193:	68 94 07 00 00       	push   $0x794
594198:	68 e0 71 66 00       	push   $0x6671e0
59419d:	50                   	push   %eax
59419e:	68 5f 02 00 00       	push   $0x25f
5941a3:	6a 46                	push   $0x46
5941a5:	56                   	push   %esi
5941a6:	89 1e                	mov    %ebx,(%esi)
5941a8:	e8 63 af ff ff       	call   0x58f110
5941ad:	83 c4 18             	add    $0x18,%esp
5941b0:	33 c0                	xor    %eax,%eax
5941b2:	5f                   	pop    %edi
5941b3:	5e                   	pop    %esi
5941b4:	5b                   	pop    %ebx
5941b5:	83 c4 08             	add    $0x8,%esp
5941b8:	c3                   	ret
5941b9:	8b 46 04             	mov    0x4(%esi),%eax
5941bc:	8b 16                	mov    (%esi),%edx
5941be:	55                   	push   %ebp
5941bf:	8b 40 64             	mov    0x64(%eax),%eax
5941c2:	8b 68 30             	mov    0x30(%eax),%ebp
5941c5:	b8 00 ff 00 00       	mov    $0xff00,%eax
5941ca:	89 44 24 10          	mov    %eax,0x10(%esp)
5941ce:	83 e5 08             	and    $0x8,%ebp
5941d1:	74 25                	je     0x5941f8
5941d3:	81 fa 00 01 00 00    	cmp    $0x100,%edx
5941d9:	8b ca                	mov    %edx,%ecx
5941db:	0f 44 c8             	cmove  %eax,%ecx
5941de:	8b 44 24 20          	mov    0x20(%esp),%eax
5941e2:	3d 00 01 00 00       	cmp    $0x100,%eax
5941e7:	0f 44 44 24 10       	cmove  0x10(%esp),%eax
5941ec:	3b c8                	cmp    %eax,%ecx
5941ee:	b8 00 00 00 00       	mov    $0x0,%eax
5941f3:	0f 9f c0             	setg   %al
5941f6:	eb 09                	jmp    0x594201
5941f8:	33 c0                	xor    %eax,%eax
5941fa:	3b 54 24 20          	cmp    0x20(%esp),%edx
5941fe:	0f 9c c0             	setl   %al
594201:	85 c0                	test   %eax,%eax
594203:	74 0a                	je     0x59420f
594205:	68 9b 07 00 00       	push   $0x79b
59420a:	e9 eb 00 00 00       	jmp    0x5942fa
59420f:	85 ed                	test   %ebp,%ebp
594211:	74 2e                	je     0x594241
594213:	81 fa 00 01 00 00    	cmp    $0x100,%edx
594219:	b8 00 ff 00 00       	mov    $0xff00,%eax
59421e:	8b ca                	mov    %edx,%ecx
594220:	0f 44 c8             	cmove  %eax,%ecx
594223:	8b 44 24 1c          	mov    0x1c(%esp),%eax
594227:	3d 00 01 00 00       	cmp    $0x100,%eax
59422c:	0f 44 44 24 10       	cmove  0x10(%esp),%eax
594231:	3b c8                	cmp    %eax,%ecx
594233:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
594237:	b8 00 00 00 00       	mov    $0x0,%eax
59423c:	0f 9c c0             	setl   %al
59423f:	eb 0b                	jmp    0x59424c
594241:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
594245:	33 c0                	xor    %eax,%eax
594247:	3b d1                	cmp    %ecx,%edx
594249:	0f 9f c0             	setg   %al
59424c:	85 c0                	test   %eax,%eax
59424e:	74 0a                	je     0x59425a
594250:	68 a1 07 00 00       	push   $0x7a1
594255:	e9 a0 00 00 00       	jmp    0x5942fa
59425a:	f6 86 f0 04 00 00 80 	testb  $0x80,0x4f0(%esi)
594261:	8b 44 24 14          	mov    0x14(%esp),%eax
594265:	0f 44 c1             	cmove  %ecx,%eax
594268:	81 fa 03 03 00 00    	cmp    $0x303,%edx
59426e:	75 39                	jne    0x5942a9
594270:	3b c2                	cmp    %edx,%eax
594272:	7e 35                	jle    0x5942a9
594274:	8b 4e 7c             	mov    0x7c(%esi),%ecx
594277:	a1 38 49 66 00       	mov    0x664938,%eax
59427c:	3b 81 a4 00 00 00    	cmp    0xa4(%ecx),%eax
594282:	75 59                	jne    0x5942dd
594284:	a1 3c 49 66 00       	mov    0x66493c,%eax
594289:	3b 81 a8 00 00 00    	cmp    0xa8(%ecx),%eax
59428f:	75 4c                	jne    0x5942dd
594291:	68 b1 07 00 00       	push   $0x7b1
594296:	68 e0 71 66 00       	push   $0x6671e0
59429b:	68 75 01 00 00       	push   $0x175
5942a0:	68 5f 02 00 00       	push   $0x25f
5942a5:	6a 2f                	push   $0x2f
5942a7:	eb 62                	jmp    0x59430b
5942a9:	85 ed                	test   %ebp,%ebp
5942ab:	75 30                	jne    0x5942dd
5942ad:	81 fa 03 03 00 00    	cmp    $0x303,%edx
5942b3:	7d 28                	jge    0x5942dd
5942b5:	3b c2                	cmp    %edx,%eax
5942b7:	7e 24                	jle    0x5942dd
5942b9:	8b 4e 7c             	mov    0x7c(%esi),%ecx
5942bc:	a1 30 49 66 00       	mov    0x664930,%eax
5942c1:	3b 81 a4 00 00 00    	cmp    0xa4(%ecx),%eax
5942c7:	75 14                	jne    0x5942dd
5942c9:	a1 34 49 66 00       	mov    0x664934,%eax
5942ce:	3b 81 a8 00 00 00    	cmp    0xa8(%ecx),%eax
5942d4:	75 07                	jne    0x5942dd
5942d6:	68 be 07 00 00       	push   $0x7be
5942db:	eb b9                	jmp    0x594296
5942dd:	83 3f 00             	cmpl   $0x0,(%edi)
5942e0:	74 13                	je     0x5942f5
5942e2:	8b 47 04             	mov    0x4(%edi),%eax