578f2d:	cc                   	int3
578f2e:	cc                   	int3
578f2f:	cc                   	int3
578f30:	8b 4c 24 04          	mov    0x4(%esp),%ecx
578f34:	8b c1                	mov    %ecx,%eax
578f36:	56                   	push   %esi
578f37:	8b 74 24 0c          	mov    0xc(%esp),%esi
578f3b:	c1 e8 08             	shr    $0x8,%eax
578f3e:	8b 16                	mov    (%esi),%edx
578f40:	88 02                	mov    %al,(%edx)
578f42:	b8 01 00 00 00       	mov    $0x1,%eax
578f47:	88 4a 01             	mov    %cl,0x1(%edx)
578f4a:	83 06 02             	addl   $0x2,(%esi)
578f4d:	5e                   	pop    %esi
578f4e:	c3                   	ret
578f4f:	cc                   	int3
578f50:	8b 4c 24 04          	mov    0x4(%esp),%ecx
578f54:	8b c1                	mov    %ecx,%eax
578f56:	56                   	push   %esi
578f57:	8b 74 24 0c          	mov    0xc(%esp),%esi
578f5b:	c1 e8 18             	shr    $0x18,%eax
578f5e:	8b 16                	mov    (%esi),%edx
578f60:	88 02                	mov    %al,(%edx)
578f62:	8b c1                	mov    %ecx,%eax
578f64:	c1 e8 10             	shr    $0x10,%eax
578f67:	88 42 01             	mov    %al,0x1(%edx)
578f6a:	8b c1                	mov    %ecx,%eax
578f6c:	c1 e8 08             	shr    $0x8,%eax
578f6f:	88 42 02             	mov    %al,0x2(%edx)
578f72:	b8 01 00 00 00       	mov    $0x1,%eax
578f77:	88 4a 03             	mov    %cl,0x3(%edx)
578f7a:	83 06 04             	addl   $0x4,(%esi)
578f7d:	5e                   	pop    %esi
578f7e:	c3                   	ret
578f7f:	cc                   	int3
578f80:	56                   	push   %esi
578f81:	ff 74 24 08          	push   0x8(%esp)
578f85:	8b 74 24 10          	mov    0x10(%esp),%esi
578f89:	68 ff 00 00 00       	push   $0xff
578f8e:	ff 36                	push   (%esi)
578f90:	e8 1b 44 00 00       	call   0x57d3b0
578f95:	01 06                	add    %eax,(%esi)
578f97:	83 c4 0c             	add    $0xc,%esp
578f9a:	b8 01 00 00 00       	mov    $0x1,%eax
578f9f:	5e                   	pop    %esi
578fa0:	c3                   	ret
578fa1:	cc                   	int3
578fa2:	cc                   	int3
578fa3:	cc                   	int3
578fa4:	cc                   	int3
578fa5:	cc                   	int3
578fa6:	cc                   	int3
578fa7:	cc                   	int3
578fa8:	cc                   	int3
578fa9:	cc                   	int3
578faa:	cc                   	int3
578fab:	cc                   	int3
578fac:	cc                   	int3
578fad:	cc                   	int3
578fae:	cc                   	int3
578faf:	cc                   	int3
578fb0:	ff 74 24 04          	push   0x4(%esp)
578fb4:	6a ff                	push   $0xffffffff
578fb6:	6a 00                	push   $0x0
578fb8:	e8 f3 43 00 00       	call   0x57d3b0
578fbd:	8b 4c 24 14          	mov    0x14(%esp),%ecx
578fc1:	83 c4 0c             	add    $0xc,%esp
578fc4:	01 01                	add    %eax,(%ecx)
578fc6:	b8 01 00 00 00       	mov    $0x1,%eax
578fcb:	c3                   	ret
578fcc:	cc                   	int3
578fcd:	cc                   	int3
578fce:	cc                   	int3
578fcf:	cc                   	int3
578fd0:	53                   	push   %ebx
578fd1:	55                   	push   %ebp
578fd2:	56                   	push   %esi
578fd3:	57                   	push   %edi
578fd4:	8b 7c 24 18          	mov    0x18(%esp),%edi
578fd8:	85 ff                	test   %edi,%edi
578fda:	0f 84 ba 00 00 00    	je     0x57909a
578fe0:	8b 6c 24 20          	mov    0x20(%esp),%ebp
578fe4:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
578fe8:	8b 74 24 14          	mov    0x14(%esp),%esi
578fec:	0f 1f 40 00          	nopl   0x0(%eax)
578ff0:	81 fb 01 10 00 00    	cmp    $0x1001,%ebx
578ff6:	75 0b                	jne    0x579003
578ff8:	0f b6 0e             	movzbl (%esi),%ecx
578ffb:	46                   	inc    %esi
578ffc:	89 4c 24 18          	mov    %ecx,0x18(%esp)
579000:	4f                   	dec    %edi
579001:	eb 7d                	jmp    0x579080
579003:	81 fb 02 10 00 00    	cmp    $0x1002,%ebx
579009:	75 1c                	jne    0x579027
57900b:	0f b6 06             	movzbl (%esi),%eax
57900e:	c1 e0 08             	shl    $0x8,%eax
579011:	89 44 24 18          	mov    %eax,0x18(%esp)
579015:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
579019:	83 c6 02             	add    $0x2,%esi
57901c:	0b c8                	or     %eax,%ecx
57901e:	83 ef 02             	sub    $0x2,%edi
579021:	89 4c 24 18          	mov    %ecx,0x18(%esp)
579025:	eb 59                	jmp    0x579080
579027:	81 fb 04 10 00 00    	cmp    $0x1004,%ebx
57902d:	75 36                	jne    0x579065
57902f:	0f b6 06             	movzbl (%esi),%eax
579032:	c1 e0 18             	shl    $0x18,%eax
579035:	89 44 24 18          	mov    %eax,0x18(%esp)
579039:	0f b6 4e 01          	movzbl 0x1(%esi),%ecx
57903d:	c1 e1 10             	shl    $0x10,%ecx
579040:	0b c8                	or     %eax,%ecx
579042:	89 4c 24 18          	mov    %ecx,0x18(%esp)
579046:	0f b6 46 02          	movzbl 0x2(%esi),%eax
57904a:	c1 e0 08             	shl    $0x8,%eax
57904d:	0b c1                	or     %ecx,%eax
57904f:	89 44 24 18          	mov    %eax,0x18(%esp)
579053:	0f b6 4e 03          	movzbl 0x3(%esi),%ecx
579057:	83 c6 04             	add    $0x4,%esi
57905a:	0b c8                	or     %eax,%ecx
57905c:	83 ef 04             	sub    $0x4,%edi
57905f:	89 4c 24 18          	mov    %ecx,0x18(%esp)
579063:	eb 1b                	jmp    0x579080
579065:	8d 44 24 18          	lea    0x18(%esp),%eax
579069:	50                   	push   %eax
57906a:	57                   	push   %edi
57906b:	56                   	push   %esi
57906c:	e8 7f 40 00 00       	call   0x57d0f0
579071:	83 c4 0c             	add    $0xc,%esp
579074:	85 c0                	test   %eax,%eax
579076:	78 2c                	js     0x5790a4
579078:	8b 4c 24 18          	mov    0x18(%esp),%ecx
57907c:	2b f8                	sub    %eax,%edi
57907e:	03 f0                	add    %eax,%esi
579080:	85 ed                	test   %ebp,%ebp
579082:	74 0e                	je     0x579092
579084:	ff 74 24 24          	push   0x24(%esp)
579088:	51                   	push   %ecx
579089:	ff d5                	call   *%ebp
57908b:	83 c4 08             	add    $0x8,%esp
57908e:	85 c0                	test   %eax,%eax
579090:	7e 0d                	jle    0x57909f
579092:	85 ff                	test   %edi,%edi
579094:	0f 85 56 ff ff ff    	jne    0x578ff0
57909a:	b8 01 00 00 00       	mov    $0x1,%eax
57909f:	5f                   	pop    %edi
5790a0:	5e                   	pop    %esi
5790a1:	5d                   	pop    %ebp
5790a2:	5b                   	pop    %ebx
5790a3:	c3                   	ret
5790a4:	5f                   	pop    %edi
5790a5:	5e                   	pop    %esi
5790a6:	5d                   	pop    %ebp
5790a7:	83 c8 ff             	or     $0xffffffff,%eax
5790aa:	5b                   	pop    %ebx
5790ab:	c3                   	ret
5790ac:	cc                   	int3
5790ad:	cc                   	int3
5790ae:	cc                   	int3
5790af:	cc                   	int3
5790b0:	53                   	push   %ebx
5790b1:	55                   	push   %ebp
5790b2:	8b 6c 24 10          	mov    0x10(%esp),%ebp
5790b6:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5790bb:	56                   	push   %esi
5790bc:	57                   	push   %edi
5790bd:	8b 7c 24 14          	mov    0x14(%esp),%edi
5790c1:	8b f7                	mov    %edi,%esi
5790c3:	8b 5d 00             	mov    0x0(%ebp),%ebx
5790c6:	3b f8                	cmp    %eax,%edi
5790c8:	0f 47 f0             	cmova  %eax,%esi
5790cb:	f6 c3 01             	test   $0x1,%bl
5790ce:	74 17                	je     0x5790e7
5790d0:	6a 04                	push   $0x4
5790d2:	56                   	push   %esi
5790d3:	e8 c8 af f6 ff       	call   0x4e40a0
5790d8:	83 c4 08             	add    $0x8,%esp
5790db:	85 c0                	test   %eax,%eax
5790dd:	75 08                	jne    0x5790e7
5790df:	83 fe 20             	cmp    $0x20,%esi
5790e2:	74 03                	je     0x5790e7
5790e4:	83 e3 fe             	and    $0xfffffffe,%ebx
5790e7:	f6 c3 02             	test   $0x2,%bl
5790ea:	74 15                	je     0x579101
5790ec:	68 00 08 00 00       	push   $0x800
5790f1:	56                   	push   %esi
5790f2:	e8 a9 af f6 ff       	call   0x4e40a0
5790f7:	83 c4 08             	add    $0x8,%esp
5790fa:	85 c0                	test   %eax,%eax
5790fc:	75 03                	jne    0x579101
5790fe:	83 e3 fd             	and    $0xfffffffd,%ebx
579101:	f6 c3 10             	test   $0x10,%bl
579104:	74 0b                	je     0x579111
579106:	f7 c6 80 ff ff ff    	test   $0xffffff80,%esi
57910c:	74 03                	je     0x579111
57910e:	83 e3 ef             	and    $0xffffffef,%ebx
579111:	f6 c3 04             	test   $0x4,%bl
579114:	74 0b                	je     0x579121
579116:	81 ff ff 00 00 00    	cmp    $0xff,%edi
57911c:	76 03                	jbe    0x579121
57911e:	83 e3 fb             	and    $0xfffffffb,%ebx
579121:	f7 c3 00 08 00 00    	test   $0x800,%ebx
579127:	74 0e                	je     0x579137
579129:	81 ff ff ff 00 00    	cmp    $0xffff,%edi
57912f:	76 06                	jbe    0x579137
579131:	81 e3 ff f7 ff ff    	and    $0xfffff7ff,%ebx
579137:	85 db                	test   %ebx,%ebx
579139:	75 08                	jne    0x579143
57913b:	5f                   	pop    %edi
57913c:	5e                   	pop    %esi
57913d:	5d                   	pop    %ebp
57913e:	83 c8 ff             	or     $0xffffffff,%eax
579141:	5b                   	pop    %ebx
579142:	c3                   	ret
579143:	5f                   	pop    %edi
579144:	5e                   	pop    %esi
579145:	89 5d 00             	mov    %ebx,0x0(%ebp)
579148:	b8 01 00 00 00       	mov    $0x1,%eax
57914d:	5d                   	pop    %ebp
57914e:	5b                   	pop    %ebx
57914f:	c3                   	ret
579150:	e9 5b d8 f9 ff       	jmp    0x5169b0
579155:	cc                   	int3
579156:	cc                   	int3
579157:	cc                   	int3
579158:	cc                   	int3
579159:	cc                   	int3
57915a:	cc                   	int3
57915b:	cc                   	int3
57915c:	cc                   	int3
57915d:	cc                   	int3
57915e:	cc                   	int3
57915f:	cc                   	int3
579160:	e9 cb d7 f9 ff       	jmp    0x516930
579165:	cc                   	int3
579166:	cc                   	int3
579167:	cc                   	int3
579168:	cc                   	int3
579169:	cc                   	int3
57916a:	cc                   	int3
57916b:	cc                   	int3
57916c:	cc                   	int3
57916d:	cc                   	int3
57916e:	cc                   	int3
57916f:	cc                   	int3
579170:	e9 eb da f9 ff       	jmp    0x516c60
579175:	cc                   	int3
579176:	cc                   	int3
579177:	cc                   	int3
579178:	cc                   	int3
579179:	cc                   	int3
57917a:	cc                   	int3
57917b:	cc                   	int3
57917c:	cc                   	int3
57917d:	cc                   	int3
57917e:	cc                   	int3
57917f:	cc                   	int3
579180:	e9 7b da f9 ff       	jmp    0x516c00
579185:	cc                   	int3
579186:	cc                   	int3
579187:	cc                   	int3
579188:	cc                   	int3
579189:	cc                   	int3
57918a:	cc                   	int3
57918b:	cc                   	int3
57918c:	cc                   	int3
57918d:	cc                   	int3
57918e:	cc                   	int3
57918f:	cc                   	int3
579190:	8b 44 24 04          	mov    0x4(%esp),%eax
579194:	8b 48 18             	mov    0x18(%eax),%ecx
579197:	85 c9                	test   %ecx,%ecx
579199:	74 14                	je     0x5791af
57919b:	8b 40 14             	mov    0x14(%eax),%eax
57919e:	85 c0                	test   %eax,%eax
5791a0:	74 0d                	je     0x5791af
5791a2:	8b 40 04             	mov    0x4(%eax),%eax
5791a5:	85 c0                	test   %eax,%eax
5791a7:	74 06                	je     0x5791af
5791a9:	89 4c 24 04          	mov    %ecx,0x4(%esp)
5791ad:	ff e0                	jmp    *%eax
5791af:	68 81 01 00 00       	push   $0x181
5791b4:	68 1c a8 65 00       	push   $0x65a81c
5791b9:	68 94 00 00 00       	push   $0x94
5791be:	68 8e 00 00 00       	push   $0x8e
5791c3:	6a 22                	push   $0x22
5791c5:	e8 b6 fd f5 ff       	call   0x4d8f80
5791ca:	83 c4 14             	add    $0x14,%esp
5791cd:	33 c0                	xor    %eax,%eax
5791cf:	c3                   	ret
5791d0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5791d4:	85 c9                	test   %ecx,%ecx
5791d6:	74 17                	je     0x5791ef
5791d8:	8b 54 24 04          	mov    0x4(%esp),%edx
5791dc:	8b 42 14             	mov    0x14(%edx),%eax
5791df:	8b 40 0c             	mov    0xc(%eax),%eax
5791e2:	85 c0                	test   %eax,%eax
5791e4:	74 09                	je     0x5791ef
5791e6:	51                   	push   %ecx
5791e7:	ff 72 18             	push   0x18(%edx)
5791ea:	ff d0                	call   *%eax
5791ec:	83 c4 08             	add    $0x8,%esp
5791ef:	c3                   	ret
5791f0:	8b 44 24 04          	mov    0x4(%esp),%eax
5791f4:	85 c0                	test   %eax,%eax
5791f6:	75 01                	jne    0x5791f9
5791f8:	c3                   	ret
5791f9:	8b 40 04             	mov    0x4(%eax),%eax
5791fc:	c3                   	ret
5791fd:	cc                   	int3
5791fe:	cc                   	int3
5791ff:	cc                   	int3
579200:	53                   	push   %ebx
579201:	8b 5c 24 08          	mov    0x8(%esp),%ebx
579205:	85 db                	test   %ebx,%ebx
579207:	75 04                	jne    0x57920d
579209:	33 c0                	xor    %eax,%eax
57920b:	5b                   	pop    %ebx
57920c:	c3                   	ret
57920d:	56                   	push   %esi
57920e:	57                   	push   %edi
57920f:	8b 3b                	mov    (%ebx),%edi
579211:	57                   	push   %edi
579212:	e8 a9 be f6 ff       	call   0x4e50c0
579217:	8b 74 24 1c          	mov    0x1c(%esp),%esi
57921b:	8b c8                	mov    %eax,%ecx
57921d:	83 c4 04             	add    $0x4,%esp
579220:	3b f1                	cmp    %ecx,%esi
579222:	7e 04                	jle    0x579228
579224:	8b f1                	mov    %ecx,%esi
579226:	eb 05                	jmp    0x57922d
579228:	85 f6                	test   %esi,%esi
57922a:	0f 48 f1             	cmovs  %ecx,%esi
57922d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
579231:	33 d2                	xor    %edx,%edx
579233:	85 c0                	test   %eax,%eax
579235:	c7 43 04 01 00 00 00 	movl   $0x1,0x4(%ebx)
57923c:	0f 94 c2             	sete   %dl
57923f:	89 54 24 10          	mov    %edx,0x10(%esp)
579243:	83 f8 ff             	cmp    $0xffffffff,%eax
579246:	75 16                	jne    0x57925e
579248:	85 f6                	test   %esi,%esi
57924a:	75 0c                	jne    0x579258
57924c:	33 db                	xor    %ebx,%ebx
57924e:	c7 44 24 10 01 00 00 	movl   $0x1,0x10(%esp)
579255:	00
579256:	eb 32                	jmp    0x57928a
579258:	8d 46 ff             	lea    -0x1(%esi),%eax
57925b:	50                   	push   %eax
57925c:	eb 20                	jmp    0x57927e
57925e:	3b f1                	cmp    %ecx,%esi