575f22:	ff 74 24 14          	push   0x14(%esp)
575f26:	8d 44 24 10          	lea    0x10(%esp),%eax
575f2a:	50                   	push   %eax
575f2b:	57                   	push   %edi
575f2c:	e8 4f 19 fe ff       	call   0x557880
575f31:	83 c4 0c             	add    $0xc,%esp
575f34:	85 c0                	test   %eax,%eax
575f36:	74 2d                	je     0x575f65
575f38:	8b 44 24 0c          	mov    0xc(%esp),%eax
575f3c:	83 78 1c 08          	cmpl   $0x8,0x1c(%eax)
575f40:	75 08                	jne    0x575f4a
575f42:	5f                   	pop    %edi
575f43:	b8 02 00 00 00       	mov    $0x2,%eax
575f48:	5e                   	pop    %esi
575f49:	c3                   	ret
575f4a:	8b 46 1c             	mov    0x1c(%esi),%eax
575f4d:	56                   	push   %esi
575f4e:	6a 00                	push   $0x0
575f50:	c7 46 60 17 00 00 00 	movl   $0x17,0x60(%esi)
575f57:	ff d0                	call   *%eax
575f59:	83 c4 08             	add    $0x8,%esp
575f5c:	85 c0                	test   %eax,%eax
575f5e:	75 05                	jne    0x575f65
575f60:	5f                   	pop    %edi
575f61:	33 c0                	xor    %eax,%eax
575f63:	5e                   	pop    %esi
575f64:	c3                   	ret
575f65:	5f                   	pop    %edi
575f66:	b8 01 00 00 00       	mov    $0x1,%eax
575f6b:	5e                   	pop    %esi
575f6c:	c3                   	ret
575f6d:	cc                   	int3
575f6e:	cc                   	int3
575f6f:	cc                   	int3
575f70:	b8 14 00 00 00       	mov    $0x14,%eax
575f75:	e8 36 b8 05 00       	call   0x5d17b0
575f7a:	53                   	push   %ebx
575f7b:	55                   	push   %ebp
575f7c:	56                   	push   %esi
575f7d:	8b 74 24 24          	mov    0x24(%esp),%esi
575f81:	57                   	push   %edi
575f82:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
575f89:	00
575f8a:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
575f91:	00
575f92:	ff 76 50             	push   0x50(%esi)
575f95:	e8 26 f1 f6 ff       	call   0x4e50c0
575f9a:	83 cd ff             	or     $0xffffffff,%ebp
575f9d:	83 c4 04             	add    $0x4,%esp
575fa0:	83 7e 78 00          	cmpl   $0x0,0x78(%esi)
575fa4:	8b c8                	mov    %eax,%ecx
575fa6:	89 4c 24 28          	mov    %ecx,0x28(%esp)
575faa:	89 6c 24 10          	mov    %ebp,0x10(%esp)
575fae:	74 12                	je     0x575fc2
575fb0:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%esp)
575fb7:	00
575fb8:	c7 44 24 1c 06 00 00 	movl   $0x6,0x1c(%esp)
575fbf:	00
575fc0:	eb 17                	jmp    0x575fd9
575fc2:	8b 46 10             	mov    0x10(%esi),%eax
575fc5:	8b 50 14             	mov    0x14(%eax),%edx
575fc8:	8b 40 18             	mov    0x18(%eax),%eax
575fcb:	c1 ea 06             	shr    $0x6,%edx
575fce:	83 e2 01             	and    $0x1,%edx
575fd1:	89 44 24 1c          	mov    %eax,0x1c(%esp)
575fd5:	89 54 24 20          	mov    %edx,0x20(%esp)
575fd9:	33 db                	xor    %ebx,%ebx
575fdb:	85 c9                	test   %ecx,%ecx
575fdd:	0f 8e c9 02 00 00    	jle    0x5762ac
575fe3:	53                   	push   %ebx
575fe4:	ff 76 50             	push   0x50(%esi)
575fe7:	e8 94 f2 f6 ff       	call   0x4e5280
575fec:	8b 4e 10             	mov    0x10(%esi),%ecx
575fef:	83 c4 08             	add    $0x8,%esp
575ff2:	8b f8                	mov    %eax,%edi
575ff4:	f6 41 14 10          	testb  $0x10,0x14(%ecx)
575ff8:	75 2c                	jne    0x576026
575ffa:	f7 87 80 00 00 00 00 	testl  $0x200,0x80(%edi)
576001:	02 00 00
576004:	74 20                	je     0x576026
576006:	8b 46 1c             	mov    0x1c(%esi),%eax
576009:	56                   	push   %esi
57600a:	6a 00                	push   $0x0
57600c:	89 5e 5c             	mov    %ebx,0x5c(%esi)
57600f:	89 7e 64             	mov    %edi,0x64(%esi)
576012:	c7 46 60 22 00 00 00 	movl   $0x22,0x60(%esi)
576019:	ff d0                	call   *%eax
57601b:	83 c4 08             	add    $0x8,%esp
57601e:	85 c0                	test   %eax,%eax
576020:	0f 84 93 02 00 00    	je     0x5762b9
576026:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
57602b:	75 2c                	jne    0x576059
57602d:	f7 87 80 00 00 00 00 	testl  $0x400,0x80(%edi)
576034:	04 00 00
576037:	74 20                	je     0x576059
576039:	8b 46 1c             	mov    0x1c(%esi),%eax
57603c:	56                   	push   %esi
57603d:	6a 00                	push   $0x0
57603f:	89 5e 5c             	mov    %ebx,0x5c(%esi)
576042:	89 7e 64             	mov    %edi,0x64(%esi)
576045:	c7 46 60 28 00 00 00 	movl   $0x28,0x60(%esi)
57604c:	ff d0                	call   *%eax
57604e:	83 c4 08             	add    $0x8,%esp
576051:	85 c0                	test   %eax,%eax
576053:	0f 84 60 02 00 00    	je     0x5762b9
576059:	57                   	push   %edi
57605a:	e8 91 64 fe ff       	call   0x55c4f0
57605f:	83 c4 04             	add    $0x4,%esp
576062:	8b c8                	mov    %eax,%ecx
576064:	83 fd ff             	cmp    $0xffffffff,%ebp
576067:	74 3b                	je     0x5760a4
576069:	8b 54 24 28          	mov    0x28(%esp),%edx
57606d:	85 ed                	test   %ebp,%ebp
57606f:	74 24                	je     0x576095
576071:	85 c9                	test   %ecx,%ecx
576073:	74 15                	je     0x57608a
576075:	8d 43 01             	lea    0x1(%ebx),%eax
576078:	3b c2                	cmp    %edx,%eax
57607a:	7c 09                	jl     0x576085
57607c:	8b 46 10             	mov    0x10(%esi),%eax
57607f:	f6 40 14 20          	testb  $0x20,0x14(%eax)
576083:	74 44                	je     0x5760c9
576085:	83 f9 01             	cmp    $0x1,%ecx
576088:	74 3f                	je     0x5760c9
57608a:	33 c9                	xor    %ecx,%ecx
57608c:	c7 46 60 18 00 00 00 	movl   $0x18,0x60(%esi)
576093:	eb 39                	jmp    0x5760ce
576095:	85 c9                	test   %ecx,%ecx
576097:	74 30                	je     0x5760c9
576099:	33 c9                	xor    %ecx,%ecx
57609b:	c7 46 60 25 00 00 00 	movl   $0x25,0x60(%esi)
5760a2:	eb 2a                	jmp    0x5760ce
5760a4:	8b 46 10             	mov    0x10(%esi),%eax
5760a7:	f6 40 14 20          	testb  $0x20,0x14(%eax)
5760ab:	74 18                	je     0x5760c5
5760ad:	83 f9 01             	cmp    $0x1,%ecx
5760b0:	74 13                	je     0x5760c5
5760b2:	85 c9                	test   %ecx,%ecx
5760b4:	74 0f                	je     0x5760c5
5760b6:	8b 54 24 28          	mov    0x28(%esp),%edx
5760ba:	33 c9                	xor    %ecx,%ecx
5760bc:	c7 46 60 18 00 00 00 	movl   $0x18,0x60(%esi)
5760c3:	eb 09                	jmp    0x5760ce
5760c5:	8b 54 24 28          	mov    0x28(%esp),%edx
5760c9:	b9 01 00 00 00       	mov    $0x1,%ecx
5760ce:	8b 46 10             	mov    0x10(%esi),%eax
5760d1:	f6 40 14 20          	testb  $0x20,0x14(%eax)
5760d5:	74 6f                	je     0x576146
5760d7:	83 fa 01             	cmp    $0x1,%edx
5760da:	7e 6a                	jle    0x576146
5760dc:	57                   	push   %edi
5760dd:	e8 4e 20 fe ff       	call   0x558130
5760e2:	8b e8                	mov    %eax,%ebp
5760e4:	83 c4 04             	add    $0x4,%esp
5760e7:	85 ed                	test   %ebp,%ebp
5760e9:	75 0c                	jne    0x5760f7
5760eb:	83 c9 ff             	or     $0xffffffff,%ecx
5760ee:	c7 46 60 01 00 00 00 	movl   $0x1,0x60(%esi)
5760f5:	eb 4b                	jmp    0x576142
5760f7:	55                   	push   %ebp
5760f8:	e8 c3 9f f7 ff       	call   0x4f00c0
5760fd:	83 c4 04             	add    $0x4,%esp
576100:	3d 98 01 00 00       	cmp    $0x198,%eax
576105:	75 36                	jne    0x57613d
576107:	55                   	push   %ebp
576108:	e8 c3 ac f7 ff       	call   0x4f0dd0
57610d:	50                   	push   %eax
57610e:	e8 1d b6 f7 ff       	call   0x4f1730
576113:	8b c8                	mov    %eax,%ecx
576115:	83 c4 08             	add    $0x8,%esp
576118:	85 c9                	test   %ecx,%ecx
57611a:	78 0d                	js     0x576129
57611c:	33 c0                	xor    %eax,%eax
57611e:	85 c9                	test   %ecx,%ecx
576120:	0f 94 c0             	sete   %al
576123:	8b c8                	mov    %eax,%ecx
576125:	85 c9                	test   %ecx,%ecx
576127:	79 09                	jns    0x576132
576129:	c7 46 60 01 00 00 00 	movl   $0x1,0x60(%esi)
576130:	eb 10                	jmp    0x576142
576132:	75 0e                	jne    0x576142
576134:	c7 46 60 4f 00 00 00 	movl   $0x4f,0x60(%esi)
57613b:	eb 05                	jmp    0x576142
57613d:	b9 01 00 00 00       	mov    $0x1,%ecx
576142:	8b 6c 24 10          	mov    0x10(%esp),%ebp
576146:	f6 87 80 00 00 00 10 	testb  $0x10,0x80(%edi)
57614d:	75 18                	jne    0x576167
57614f:	83 7f 78 ff          	cmpl   $0xffffffff,0x78(%edi)
576153:	74 12                	je     0x576167
576155:	8b 46 10             	mov    0x10(%esi),%eax
576158:	f6 40 14 20          	testb  $0x20,0x14(%eax)
57615c:	74 09                	je     0x576167
57615e:	c7 46 60 29 00 00 00 	movl   $0x29,0x60(%esi)
576165:	eb 04                	jmp    0x57616b
576167:	85 c9                	test   %ecx,%ecx
576169:	75 19                	jne    0x576184
57616b:	8b 46 1c             	mov    0x1c(%esi),%eax
57616e:	56                   	push   %esi
57616f:	6a 00                	push   $0x0
576171:	89 5e 5c             	mov    %ebx,0x5c(%esi)
576174:	89 7e 64             	mov    %edi,0x64(%esi)
576177:	ff d0                	call   *%eax
576179:	83 c4 08             	add    $0x8,%esp
57617c:	85 c0                	test   %eax,%eax
57617e:	0f 84 35 01 00 00    	je     0x5762b9
576184:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
576188:	85 c9                	test   %ecx,%ecx
57618a:	7e 6e                	jle    0x5761fa
57618c:	3b 5e 4c             	cmp    0x4c(%esi),%ebx
57618f:	7c 24                	jl     0x5761b5
576191:	8b 46 10             	mov    0x10(%esi),%eax
576194:	3b 48 18             	cmp    0x18(%eax),%ecx
576197:	75 1c                	jne    0x5761b5
576199:	6a 04                	push   $0x4
57619b:	ff 70 1c             	push   0x1c(%eax)
57619e:	57                   	push   %edi
57619f:	e8 ac a8 00 00       	call   0x580a50
5761a4:	83 c4 0c             	add    $0xc,%esp
5761a7:	83 e8 01             	sub    $0x1,%eax
5761aa:	74 4e                	je     0x5761fa
5761ac:	83 e8 01             	sub    $0x1,%eax
5761af:	74 29                	je     0x5761da
5761b1:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5761b5:	33 c0                	xor    %eax,%eax
5761b7:	85 ed                	test   %ebp,%ebp
5761b9:	0f 9f c0             	setg   %al
5761bc:	50                   	push   %eax
5761bd:	51                   	push   %ecx
5761be:	57                   	push   %edi
5761bf:	e8 4c 63 fe ff       	call   0x55c510
5761c4:	83 c4 0c             	add    $0xc,%esp
5761c7:	83 e8 00             	sub    $0x0,%eax
5761ca:	74 0e                	je     0x5761da
5761cc:	83 e8 01             	sub    $0x1,%eax
5761cf:	74 29                	je     0x5761fa
5761d1:	8b 46 10             	mov    0x10(%esi),%eax
5761d4:	f6 40 14 20          	testb  $0x20,0x14(%eax)
5761d8:	74 20                	je     0x5761fa
5761da:	8b 46 1c             	mov    0x1c(%esi),%eax
5761dd:	56                   	push   %esi
5761de:	6a 00                	push   $0x0
5761e0:	89 5e 5c             	mov    %ebx,0x5c(%esi)
5761e3:	89 7e 64             	mov    %edi,0x64(%esi)
5761e6:	c7 46 60 1a 00 00 00 	movl   $0x1a,0x60(%esi)
5761ed:	ff d0                	call   *%eax
5761ef:	83 c4 08             	add    $0x8,%esp
5761f2:	85 c0                	test   %eax,%eax
5761f4:	0f 84 bf 00 00 00    	je     0x5762b9
5761fa:	83 fb 01             	cmp    $0x1,%ebx
5761fd:	76 34                	jbe    0x576233
5761ff:	8b 47 78             	mov    0x78(%edi),%eax
576202:	8b 4c 24 14          	mov    0x14(%esp),%ecx
576206:	83 f8 ff             	cmp    $0xffffffff,%eax
576209:	74 30                	je     0x57623b
57620b:	03 44 24 18          	add    0x18(%esp),%eax
57620f:	3b c8                	cmp    %eax,%ecx
576211:	7e 28                	jle    0x57623b
576213:	8b 46 1c             	mov    0x1c(%esi),%eax
576216:	56                   	push   %esi
576217:	6a 00                	push   $0x0
576219:	89 5e 5c             	mov    %ebx,0x5c(%esi)
57621c:	89 7e 64             	mov    %edi,0x64(%esi)
57621f:	c7 46 60 19 00 00 00 	movl   $0x19,0x60(%esi)
576226:	ff d0                	call   *%eax
576228:	83 c4 08             	add    $0x8,%esp
57622b:	85 c0                	test   %eax,%eax
57622d:	0f 84 86 00 00 00    	je     0x5762b9
576233:	85 db                	test   %ebx,%ebx
576235:	74 12                	je     0x576249
576237:	8b 4c 24 14          	mov    0x14(%esp),%ecx
57623b:	f6 87 80 00 00 00 20 	testb  $0x20,0x80(%edi)
576242:	75 05                	jne    0x576249
576244:	41                   	inc    %ecx
576245:	89 4c 24 14          	mov    %ecx,0x14(%esp)
576249:	f7 87 80 00 00 00 00 	testl  $0x400,0x80(%edi)
576250:	04 00 00
576253:	74 43                	je     0x576298
576255:	8b 47 7c             	mov    0x7c(%edi),%eax
576258:	83 f8 ff             	cmp    $0xffffffff,%eax
57625b:	74 2e                	je     0x57628b
57625d:	39 44 24 18          	cmp    %eax,0x18(%esp)
576261:	7e 1c                	jle    0x57627f
576263:	8b 46 1c             	mov    0x1c(%esi),%eax
576266:	56                   	push   %esi
576267:	6a 00                	push   $0x0
576269:	89 5e 5c             	mov    %ebx,0x5c(%esi)
57626c:	89 7e 64             	mov    %edi,0x64(%esi)
57626f:	c7 46 60 26 00 00 00 	movl   $0x26,0x60(%esi)
576276:	ff d0                	call   *%eax
576278:	83 c4 08             	add    $0x8,%esp
57627b:	85 c0                	test   %eax,%eax
57627d:	74 3a                	je     0x5762b9
57627f:	8b 47 7c             	mov    0x7c(%edi),%eax
576282:	40                   	inc    %eax
576283:	33 ed                	xor    %ebp,%ebp
576285:	89 44 24 18          	mov    %eax,0x18(%esp)
576289:	eb 12                	jmp    0x57629d
57628b:	8b 44 24 18          	mov    0x18(%esp),%eax
57628f:	40                   	inc    %eax
576290:	33 ed                	xor    %ebp,%ebp
576292:	89 44 24 18          	mov    %eax,0x18(%esp)
576296:	eb 05                	jmp    0x57629d
576298:	bd 01 00 00 00       	mov    $0x1,%ebp
57629d:	43                   	inc    %ebx
57629e:	89 6c 24 10          	mov    %ebp,0x10(%esp)
5762a2:	3b 5c 24 28          	cmp    0x28(%esp),%ebx
5762a6:	0f 8c 37 fd ff ff    	jl     0x575fe3
5762ac:	5f                   	pop    %edi
5762ad:	5e                   	pop    %esi
5762ae:	5d                   	pop    %ebp
5762af:	b8 01 00 00 00       	mov    $0x1,%eax
5762b4:	5b                   	pop    %ebx
5762b5:	83 c4 14             	add    $0x14,%esp
5762b8:	c3                   	ret
5762b9:	5f                   	pop    %edi
5762ba:	5e                   	pop    %esi
5762bb:	5d                   	pop    %ebp
5762bc:	33 c0                	xor    %eax,%eax
5762be:	5b                   	pop    %ebx
5762bf:	83 c4 14             	add    $0x14,%esp
5762c2:	c3                   	ret
5762c3:	cc                   	int3
5762c4:	cc                   	int3
5762c5:	cc                   	int3
5762c6:	cc                   	int3
5762c7:	cc                   	int3
5762c8:	cc                   	int3
5762c9:	cc                   	int3
5762ca:	cc                   	int3
5762cb:	cc                   	int3
5762cc:	cc                   	int3
5762cd:	cc                   	int3
5762ce:	cc                   	int3
5762cf:	cc                   	int3
5762d0:	53                   	push   %ebx
5762d1:	55                   	push   %ebp
5762d2:	56                   	push   %esi
5762d3:	8b 74 24 10          	mov    0x10(%esp),%esi
5762d7:	57                   	push   %edi
5762d8:	ff 76 50             	push   0x50(%esi)
5762db:	8b 7e 5c             	mov    0x5c(%esi),%edi
5762de:	e8 dd ed f6 ff       	call   0x4e50c0
5762e3:	8b 5e 68             	mov    0x68(%esi),%ebx
5762e6:	83 c4 04             	add    $0x4,%esp
5762e9:	48                   	dec    %eax
5762ea:	85 db                	test   %ebx,%ebx
5762ec:	75 51                	jne    0x57633f
5762ee:	8b 4e 50             	mov    0x50(%esi),%ecx
5762f1:	3b f8                	cmp    %eax,%edi
5762f3:	7d 11                	jge    0x576306