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
579260:	7c 1b                	jl     0x57927d
579262:	85 f6                	test   %esi,%esi
579264:	74 13                	je     0x579279
579266:	8d 46 ff             	lea    -0x1(%esi),%eax
579269:	50                   	push   %eax
57926a:	57                   	push   %edi
57926b:	e8 10 c0 f6 ff       	call   0x4e5280
579270:	83 c4 08             	add    $0x8,%esp
579273:	8b 58 08             	mov    0x8(%eax),%ebx
579276:	43                   	inc    %ebx
579277:	eb 11                	jmp    0x57928a
579279:	33 db                	xor    %ebx,%ebx
57927b:	eb 0d                	jmp    0x57928a
57927d:	56                   	push   %esi
57927e:	57                   	push   %edi
57927f:	e8 fc bf f6 ff       	call   0x4e5280
579284:	83 c4 08             	add    $0x8,%esp
579287:	8b 58 08             	mov    0x8(%eax),%ebx
57928a:	55                   	push   %ebp
57928b:	ff 74 24 18          	push   0x18(%esp)
57928f:	e8 4c 28 fe ff       	call   0x55bae0
579294:	8b e8                	mov    %eax,%ebp
579296:	83 c4 04             	add    $0x4,%esp
579299:	85 ed                	test   %ebp,%ebp
57929b:	74 2a                	je     0x5792c7
57929d:	56                   	push   %esi
57929e:	55                   	push   %ebp
57929f:	57                   	push   %edi
5792a0:	89 5d 08             	mov    %ebx,0x8(%ebp)
5792a3:	e8 a8 bc f6 ff       	call   0x4e4f50
5792a8:	83 c4 0c             	add    $0xc,%esp
5792ab:	85 c0                	test   %eax,%eax
5792ad:	75 28                	jne    0x5792d7
5792af:	68 e3 00 00 00       	push   $0xe3
5792b4:	68 3c a8 65 00       	push   $0x65a83c
5792b9:	6a 41                	push   $0x41
5792bb:	6a 71                	push   $0x71
5792bd:	6a 0b                	push   $0xb
5792bf:	e8 bc fc f5 ff       	call   0x4d8f80
5792c4:	83 c4 14             	add    $0x14,%esp
5792c7:	55                   	push   %ebp
5792c8:	e8 33 28 fe ff       	call   0x55bb00
5792cd:	83 c4 04             	add    $0x4,%esp
5792d0:	33 c0                	xor    %eax,%eax
5792d2:	5d                   	pop    %ebp
5792d3:	5f                   	pop    %edi
5792d4:	5e                   	pop    %esi
5792d5:	5b                   	pop    %ebx
5792d6:	c3                   	ret
5792d7:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
5792dc:	74 24                	je     0x579302
5792de:	57                   	push   %edi
5792df:	e8 dc bd f6 ff       	call   0x4e50c0
5792e4:	8b d8                	mov    %eax,%ebx
5792e6:	46                   	inc    %esi
5792e7:	83 c4 04             	add    $0x4,%esp
5792ea:	3b f3                	cmp    %ebx,%esi
5792ec:	7d 14                	jge    0x579302
5792ee:	66 90                	xchg   %ax,%ax
5792f0:	56                   	push   %esi
5792f1:	57                   	push   %edi
5792f2:	e8 89 bf f6 ff       	call   0x4e5280
5792f7:	46                   	inc    %esi
5792f8:	83 c4 08             	add    $0x8,%esp
5792fb:	ff 40 08             	incl   0x8(%eax)
5792fe:	3b f3                	cmp    %ebx,%esi
579300:	7c ee                	jl     0x5792f0
579302:	5d                   	pop    %ebp
579303:	5f                   	pop    %edi
579304:	5e                   	pop    %esi
579305:	b8 01 00 00 00       	mov    $0x1,%eax
57930a:	5b                   	pop    %ebx
57930b:	c3                   	ret
57930c:	cc                   	int3
57930d:	cc                   	int3
57930e:	cc                   	int3
57930f:	cc                   	int3
579310:	b8 04 00 00 00       	mov    $0x4,%eax
579315:	e8 96 84 05 00       	call   0x5d17b0
57931a:	53                   	push   %ebx
57931b:	55                   	push   %ebp
57931c:	56                   	push   %esi
57931d:	8b 74 24 18          	mov    0x18(%esp),%esi
579321:	57                   	push   %edi
579322:	6a 00                	push   $0x0
579324:	56                   	push   %esi
579325:	e8 46 69 f7 ff       	call   0x4efc70
57932a:	8b e8                	mov    %eax,%ebp
57932c:	83 c4 08             	add    $0x8,%esp
57932f:	85 ed                	test   %ebp,%ebp
579331:	75 30                	jne    0x579363
579333:	68 fc 00 00 00       	push   $0xfc
579338:	68 3c a8 65 00       	push   $0x65a83c
57933d:	6a 77                	push   $0x77
57933f:	68 83 00 00 00       	push   $0x83
579344:	6a 0b                	push   $0xb
579346:	e8 35 fc f5 ff       	call   0x4d8f80
57934b:	56                   	push   %esi
57934c:	68 f8 e5 64 00       	push   $0x64e5f8
579351:	6a 02                	push   $0x2
579353:	e8 18 f3 f5 ff       	call   0x4d8670
579358:	83 c4 20             	add    $0x20,%esp
57935b:	33 c0                	xor    %eax,%eax
57935d:	5f                   	pop    %edi
57935e:	5e                   	pop    %esi
57935f:	5d                   	pop    %ebp
579360:	5b                   	pop    %ebx
579361:	59                   	pop    %ecx
579362:	c3                   	ret
579363:	e8 b8 27 fe ff       	call   0x55bb20
579368:	8b f8                	mov    %eax,%edi
57936a:	85 ff                	test   %edi,%edi
57936c:	75 11                	jne    0x57937f
57936e:	55                   	push   %ebp
57936f:	e8 9c 14 f9 ff       	call   0x50a810
579374:	83 c4 04             	add    $0x4,%esp
579377:	33 c0                	xor    %eax,%eax
579379:	5f                   	pop    %edi
57937a:	5e                   	pop    %esi
57937b:	5d                   	pop    %ebp
57937c:	5b                   	pop    %ebx
57937d:	59                   	pop    %ecx
57937e:	c3                   	ret
57937f:	ff 37                	push   (%edi)
579381:	e8 8a 14 f9 ff       	call   0x50a810
579386:	55                   	push   %ebp
579387:	e8 a4 1d f9 ff       	call   0x50b130
57938c:	83 c4 08             	add    $0x8,%esp
57938f:	89 07                	mov    %eax,(%edi)
579391:	85 c0                	test   %eax,%eax
579393:	74 42                	je     0x5793d7
579395:	8b 4c 24 24          	mov    0x24(%esp),%ecx
579399:	8b 74 24 28          	mov    0x28(%esp),%esi
57939d:	85 c9                	test   %ecx,%ecx
57939f:	75 04                	jne    0x5793a5
5793a1:	85 f6                	test   %esi,%esi
5793a3:	75 32                	jne    0x5793d7
5793a5:	8b 5c 24 20          	mov    0x20(%esp),%ebx
5793a9:	85 db                	test   %ebx,%ebx
5793ab:	7e 41                	jle    0x5793ee
5793ad:	f7 c3 00 10 00 00    	test   $0x1000,%ebx
5793b3:	74 39                	je     0x5793ee
5793b5:	50                   	push   %eax
5793b6:	e8 45 62 f7 ff       	call   0x4ef600
5793bb:	50                   	push   %eax
5793bc:	8b 44 24 2c          	mov    0x2c(%esp),%eax
5793c0:	53                   	push   %ebx
5793c1:	56                   	push   %esi
5793c2:	50                   	push   %eax
5793c3:	8d 47 04             	lea    0x4(%edi),%eax
5793c6:	50                   	push   %eax
5793c7:	e8 94 e9 fe ff       	call   0x567d60
5793cc:	83 c4 18             	add    $0x18,%esp
5793cf:	f7 d8                	neg    %eax
5793d1:	1b c0                	sbb    %eax,%eax
5793d3:	f7 d8                	neg    %eax
5793d5:	75 60                	jne    0x579437
5793d7:	57                   	push   %edi
5793d8:	e8 23 27 fe ff       	call   0x55bb00
5793dd:	55                   	push   %ebp
5793de:	e8 2d 14 f9 ff       	call   0x50a810
5793e3:	83 c4 08             	add    $0x8,%esp
5793e6:	33 c0                	xor    %eax,%eax
5793e8:	5f                   	pop    %edi
5793e9:	5e                   	pop    %esi
5793ea:	5d                   	pop    %ebp
5793eb:	5b                   	pop    %ebx
5793ec:	59                   	pop    %ecx
5793ed:	c3                   	ret
5793ee:	85 f6                	test   %esi,%esi
5793f0:	79 0e                	jns    0x579400
5793f2:	8b f1                	mov    %ecx,%esi
5793f4:	8d 56 01             	lea    0x1(%esi),%edx
5793f7:	8a 06                	mov    (%esi),%al
5793f9:	46                   	inc    %esi